export { createAuthEngine, type AuthEngine } from "../engine.ts";
export {
  createAuthHttpHandlers,
  type AuthHttpOptions,
  type AuthPasskeyHttpOptions,
} from "../http/index.ts";
export {
  authSession,
  requireAuth,
  establishAuthSession,
  clearAuthSession,
  getAuthUser,
  getAuthSession,
  isAuthenticatedContext,
  AUTH_SESSION_KEY,
} from "../middleware.ts";
export {
  setDefaultAuthEngine,
  clearDefaultAuthEngine,
  setDefaultAuthSchemas,
  setDefaultAuthRouteOptions,
  tryGetDefaultAuthEngine,
  getDefaultAuthEngine,
  getDefaultAuthSchemas,
  getDefaultAuthRouteOptions,
  hasDefaultAuthEngine,
  type DefaultAuthRouteOptions,
} from "../runtime.ts";
export { MemoryAuthStore } from "../stores/memory.ts";
export { SqlAuthStore } from "../stores/sql.ts";
export * from "../types.ts";

export * from "../validation.ts";

export { createAuthSecretProtector } from "../protector.ts";

export {
  normalizeEmail,
  normalizePhone,
  normalizeUsername,
  normalizeIdentity,
  inferIdentityType,
  publicUser,
  safeAuthReturnTo,
} from "../normalize.ts";
