/** * Zod Schema Validation for NAuth Configuration * * Provides runtime validation for auth configuration with comprehensive * cross-dependency checks. Ensures configuration is valid before module initialization. * * This schema validates: * - Required fields * - Type correctness * - Cross-dependencies (e.g., email config requires emailProvider) * - Algorithm-specific requirements (JWT symmetric vs asymmetric) * - MFA enforcement modes and their requirements * - Social provider requirements * - GeoLocation MaxMind credentials * * @example * ```typescript * import { authConfigSchema } from '@nauth-toolkit/core'; * * const result = authConfigSchema.safeParse(config); * if (!result.success) { * console.error('Config validation failed:', result.error.errors); * } * ``` */ import { z } from 'zod'; /** * JWT configuration schema */ export declare const jwtConfigSchema: z.ZodEffects>; accessToken: z.ZodObject<{ secret: z.ZodOptional; privateKey: z.ZodOptional; publicKey: z.ZodOptional; expiresIn: z.ZodUnion<[z.ZodString, z.ZodNumber]>; }, "strip", z.ZodTypeAny, { expiresIn: string | number; secret?: string | undefined; publicKey?: string | undefined; privateKey?: string | undefined; }, { expiresIn: string | number; secret?: string | undefined; publicKey?: string | undefined; privateKey?: string | undefined; }>; refreshToken: z.ZodObject<{ secret: z.ZodString; expiresIn: z.ZodUnion<[z.ZodString, z.ZodNumber]>; /** @deprecated Always enabled. Kept for backward compatibility; ignored at runtime. */ rotation: z.ZodOptional; reuseDetection: z.ZodOptional; }, "strip", z.ZodTypeAny, { expiresIn: string | number; secret: string; rotation?: boolean | undefined; reuseDetection?: boolean | undefined; }, { expiresIn: string | number; secret: string; rotation?: boolean | undefined; reuseDetection?: boolean | undefined; }>; issuer: z.ZodOptional; audience: z.ZodOptional]>>; }, "strip", z.ZodTypeAny, { accessToken: { expiresIn: string | number; secret?: string | undefined; publicKey?: string | undefined; privateKey?: string | undefined; }; refreshToken: { expiresIn: string | number; secret: string; rotation?: boolean | undefined; reuseDetection?: boolean | undefined; }; algorithm?: "HS256" | "HS384" | "HS512" | "RS256" | "RS384" | "RS512" | undefined; issuer?: string | undefined; audience?: string | string[] | undefined; }, { accessToken: { expiresIn: string | number; secret?: string | undefined; publicKey?: string | undefined; privateKey?: string | undefined; }; refreshToken: { expiresIn: string | number; secret: string; rotation?: boolean | undefined; reuseDetection?: boolean | undefined; }; algorithm?: "HS256" | "HS384" | "HS512" | "RS256" | "RS384" | "RS512" | undefined; issuer?: string | undefined; audience?: string | string[] | undefined; }>, { accessToken: { expiresIn: string | number; secret?: string | undefined; publicKey?: string | undefined; privateKey?: string | undefined; }; refreshToken: { expiresIn: string | number; secret: string; rotation?: boolean | undefined; reuseDetection?: boolean | undefined; }; algorithm?: "HS256" | "HS384" | "HS512" | "RS256" | "RS384" | "RS512" | undefined; issuer?: string | undefined; audience?: string | string[] | undefined; }, { accessToken: { expiresIn: string | number; secret?: string | undefined; publicKey?: string | undefined; privateKey?: string | undefined; }; refreshToken: { expiresIn: string | number; secret: string; rotation?: boolean | undefined; reuseDetection?: boolean | undefined; }; algorithm?: "HS256" | "HS384" | "HS512" | "RS256" | "RS384" | "RS512" | undefined; issuer?: string | undefined; audience?: string | string[] | undefined; }>; export declare const signupConfigSchema: z.ZodObject<{ enabled: z.ZodOptional; verificationMethod: z.ZodOptional>; allowDuplicatePhones: z.ZodOptional; emailVerification: z.ZodOptional; maxAttempts: z.ZodOptional; resendDelay: z.ZodOptional; rateLimitMax: z.ZodOptional; rateLimitWindow: z.ZodOptional; maxAttemptsPerUser: z.ZodOptional; maxAttemptsPerIP: z.ZodOptional; attemptWindow: z.ZodOptional; baseUrl: z.ZodOptional; }, "strip", z.ZodTypeAny, { expiresIn?: number | undefined; baseUrl?: string | undefined; maxAttempts?: number | undefined; resendDelay?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; maxAttemptsPerUser?: number | undefined; maxAttemptsPerIP?: number | undefined; attemptWindow?: number | undefined; }, { expiresIn?: number | undefined; baseUrl?: string | undefined; maxAttempts?: number | undefined; resendDelay?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; maxAttemptsPerUser?: number | undefined; maxAttemptsPerIP?: number | undefined; attemptWindow?: number | undefined; }>>; phoneVerification: z.ZodOptional; expiresIn: z.ZodOptional; maxAttempts: z.ZodOptional; resendDelay: z.ZodOptional; rateLimitMax: z.ZodOptional; rateLimitWindow: z.ZodOptional; maxAttemptsPerUser: z.ZodOptional; maxAttemptsPerIP: z.ZodOptional; attemptWindow: z.ZodOptional; baseUrl: z.ZodOptional>; }, "strip", z.ZodTypeAny, { expiresIn?: number | undefined; baseUrl?: string | undefined; maxAttempts?: number | undefined; resendDelay?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; maxAttemptsPerUser?: number | undefined; maxAttemptsPerIP?: number | undefined; attemptWindow?: number | undefined; codeLength?: number | undefined; }, { expiresIn?: number | undefined; baseUrl?: string | undefined; maxAttempts?: number | undefined; resendDelay?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; maxAttemptsPerUser?: number | undefined; maxAttemptsPerIP?: number | undefined; attemptWindow?: number | undefined; codeLength?: number | undefined; }>>; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; emailVerification?: { expiresIn?: number | undefined; baseUrl?: string | undefined; maxAttempts?: number | undefined; resendDelay?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; maxAttemptsPerUser?: number | undefined; maxAttemptsPerIP?: number | undefined; attemptWindow?: number | undefined; } | undefined; verificationMethod?: "none" | "email" | "phone" | "both" | undefined; phoneVerification?: { expiresIn?: number | undefined; baseUrl?: string | undefined; maxAttempts?: number | undefined; resendDelay?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; maxAttemptsPerUser?: number | undefined; maxAttemptsPerIP?: number | undefined; attemptWindow?: number | undefined; codeLength?: number | undefined; } | undefined; allowDuplicatePhones?: boolean | undefined; }, { enabled?: boolean | undefined; emailVerification?: { expiresIn?: number | undefined; baseUrl?: string | undefined; maxAttempts?: number | undefined; resendDelay?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; maxAttemptsPerUser?: number | undefined; maxAttemptsPerIP?: number | undefined; attemptWindow?: number | undefined; } | undefined; verificationMethod?: "none" | "email" | "phone" | "both" | undefined; phoneVerification?: { expiresIn?: number | undefined; baseUrl?: string | undefined; maxAttempts?: number | undefined; resendDelay?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; maxAttemptsPerUser?: number | undefined; maxAttemptsPerIP?: number | undefined; attemptWindow?: number | undefined; codeLength?: number | undefined; } | undefined; allowDuplicatePhones?: boolean | undefined; }>; export declare const loginConfigSchema: z.ZodObject<{ identifierType: z.ZodOptional>; }, "strip", z.ZodTypeAny, { identifierType?: "email" | "phone" | "username" | "email_or_username" | undefined; }, { identifierType?: "email" | "phone" | "username" | "email_or_username" | undefined; }>; export declare const passwordConfigSchema: z.ZodObject<{ minLength: z.ZodOptional; maxLength: z.ZodOptional; requireUppercase: z.ZodOptional; requireLowercase: z.ZodOptional; requireNumbers: z.ZodOptional; requireSpecialChars: z.ZodOptional; specialChars: z.ZodOptional; preventCommon: z.ZodOptional; preventUserInfo: z.ZodOptional; historyCount: z.ZodOptional; expiryDays: z.ZodOptional; passwordReset: z.ZodOptional; expiresIn: z.ZodOptional; rateLimitMax: z.ZodOptional; rateLimitWindow: z.ZodOptional; maxAttempts: z.ZodOptional; }, "strip", z.ZodTypeAny, { expiresIn?: number | undefined; maxAttempts?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; codeLength?: number | undefined; }, { expiresIn?: number | undefined; maxAttempts?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; codeLength?: number | undefined; }>>; }, "strip", z.ZodTypeAny, { passwordReset?: { expiresIn?: number | undefined; maxAttempts?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; codeLength?: number | undefined; } | undefined; minLength?: number | undefined; maxLength?: number | undefined; requireUppercase?: boolean | undefined; requireLowercase?: boolean | undefined; requireNumbers?: boolean | undefined; requireSpecialChars?: boolean | undefined; specialChars?: string | undefined; preventCommon?: boolean | undefined; preventUserInfo?: boolean | undefined; historyCount?: number | undefined; expiryDays?: number | undefined; }, { passwordReset?: { expiresIn?: number | undefined; maxAttempts?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; codeLength?: number | undefined; } | undefined; minLength?: number | undefined; maxLength?: number | undefined; requireUppercase?: boolean | undefined; requireLowercase?: boolean | undefined; requireNumbers?: boolean | undefined; requireSpecialChars?: boolean | undefined; specialChars?: string | undefined; preventCommon?: boolean | undefined; preventUserInfo?: boolean | undefined; historyCount?: number | undefined; expiryDays?: number | undefined; }>; export declare const lockoutConfigSchema: z.ZodObject<{ enabled: z.ZodOptional; maxAttempts: z.ZodOptional; attemptWindow: z.ZodOptional; duration: z.ZodOptional; resetOnSuccess: z.ZodOptional; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; duration?: number | undefined; maxAttempts?: number | undefined; attemptWindow?: number | undefined; resetOnSuccess?: boolean | undefined; }, { enabled?: boolean | undefined; duration?: number | undefined; maxAttempts?: number | undefined; attemptWindow?: number | undefined; resetOnSuccess?: boolean | undefined; }>; export declare const sessionConfigSchema: z.ZodObject<{ maxConcurrent: z.ZodOptional; disallowMultipleSessions: z.ZodOptional; maxLifetime: z.ZodOptional>; }, "strip", z.ZodTypeAny, { maxConcurrent?: number | undefined; disallowMultipleSessions?: boolean | undefined; maxLifetime?: string | number | undefined; }, { maxConcurrent?: number | undefined; disallowMultipleSessions?: boolean | undefined; maxLifetime?: string | number | undefined; }>; export declare const securityConfigSchema: z.ZodObject<{ csrf: z.ZodOptional; headerName: z.ZodOptional; tokenLength: z.ZodOptional; excludedPaths: z.ZodOptional>; cookieOptions: z.ZodOptional; sameSite: z.ZodOptional>; domain: z.ZodOptional; path: z.ZodOptional; priority: z.ZodDefault>; }, "strip", z.ZodTypeAny, { priority: "low" | "medium" | "high"; secure?: boolean | undefined; sameSite?: "strict" | "lax" | "none" | undefined; domain?: string | undefined; path?: string | undefined; }, { secure?: boolean | undefined; sameSite?: "strict" | "lax" | "none" | undefined; domain?: string | undefined; path?: string | undefined; priority?: "low" | "medium" | "high" | undefined; }>>; }, "strip", z.ZodTypeAny, { cookieName?: string | undefined; headerName?: string | undefined; tokenLength?: number | undefined; excludedPaths?: string[] | undefined; cookieOptions?: { priority: "low" | "medium" | "high"; secure?: boolean | undefined; sameSite?: "strict" | "lax" | "none" | undefined; domain?: string | undefined; path?: string | undefined; } | undefined; }, { cookieName?: string | undefined; headerName?: string | undefined; tokenLength?: number | undefined; excludedPaths?: string[] | undefined; cookieOptions?: { secure?: boolean | undefined; sameSite?: "strict" | "lax" | "none" | undefined; domain?: string | undefined; path?: string | undefined; priority?: "low" | "medium" | "high" | undefined; } | undefined; }>>; }, "strip", z.ZodTypeAny, { csrf?: { cookieName?: string | undefined; headerName?: string | undefined; tokenLength?: number | undefined; excludedPaths?: string[] | undefined; cookieOptions?: { priority: "low" | "medium" | "high"; secure?: boolean | undefined; sameSite?: "strict" | "lax" | "none" | undefined; domain?: string | undefined; path?: string | undefined; } | undefined; } | undefined; }, { csrf?: { cookieName?: string | undefined; headerName?: string | undefined; tokenLength?: number | undefined; excludedPaths?: string[] | undefined; cookieOptions?: { secure?: boolean | undefined; sameSite?: "strict" | "lax" | "none" | undefined; domain?: string | undefined; path?: string | undefined; priority?: "low" | "medium" | "high" | undefined; } | undefined; } | undefined; }>; /** * Email configuration schema */ export declare const emailConfigSchema: z.ZodObject<{ globalVariables: z.ZodOptional; companyName: z.ZodOptional; companyAddress: z.ZodOptional; brandColor: z.ZodOptional; logoUrl: z.ZodOptional; dashboardUrl: z.ZodOptional; supportEmail: z.ZodOptional; footerDisclaimer: z.ZodOptional; }, "strip", z.ZodUnknown, z.objectOutputType<{ appName: z.ZodOptional; companyName: z.ZodOptional; companyAddress: z.ZodOptional; brandColor: z.ZodOptional; logoUrl: z.ZodOptional; dashboardUrl: z.ZodOptional; supportEmail: z.ZodOptional; footerDisclaimer: z.ZodOptional; }, z.ZodUnknown, "strip">, z.objectInputType<{ appName: z.ZodOptional; companyName: z.ZodOptional; companyAddress: z.ZodOptional; brandColor: z.ZodOptional; logoUrl: z.ZodOptional; dashboardUrl: z.ZodOptional; supportEmail: z.ZodOptional; footerDisclaimer: z.ZodOptional; }, z.ZodUnknown, "strip">>>; templates: z.ZodOptional; customTemplates: z.ZodOptional; html: z.ZodOptional; textPath: z.ZodOptional; text: z.ZodOptional; subject: z.ZodOptional; }, "strip", z.ZodTypeAny, { htmlPath?: string | undefined; html?: string | undefined; textPath?: string | undefined; text?: string | undefined; subject?: string | undefined; }, { htmlPath?: string | undefined; html?: string | undefined; textPath?: string | undefined; text?: string | undefined; subject?: string | undefined; }>, { htmlPath?: string | undefined; html?: string | undefined; textPath?: string | undefined; text?: string | undefined; subject?: string | undefined; }, { htmlPath?: string | undefined; html?: string | undefined; textPath?: string | undefined; text?: string | undefined; subject?: string | undefined; }>, { htmlPath?: string | undefined; html?: string | undefined; textPath?: string | undefined; text?: string | undefined; subject?: string | undefined; }, { htmlPath?: string | undefined; html?: string | undefined; textPath?: string | undefined; text?: string | undefined; subject?: string | undefined; }>, { htmlPath?: string | undefined; html?: string | undefined; textPath?: string | undefined; text?: string | undefined; subject?: string | undefined; }, { htmlPath?: string | undefined; html?: string | undefined; textPath?: string | undefined; text?: string | undefined; subject?: string | undefined; }>>>; }, "strict", z.ZodTypeAny, { engine?: any; customTemplates?: Record | undefined; }, { engine?: any; customTemplates?: Record | undefined; }>>; }, "strict", z.ZodTypeAny, { globalVariables?: z.objectOutputType<{ appName: z.ZodOptional; companyName: z.ZodOptional; companyAddress: z.ZodOptional; brandColor: z.ZodOptional; logoUrl: z.ZodOptional; dashboardUrl: z.ZodOptional; supportEmail: z.ZodOptional; footerDisclaimer: z.ZodOptional; }, z.ZodUnknown, "strip"> | undefined; templates?: { engine?: any; customTemplates?: Record | undefined; } | undefined; }, { globalVariables?: z.objectInputType<{ appName: z.ZodOptional; companyName: z.ZodOptional; companyAddress: z.ZodOptional; brandColor: z.ZodOptional; logoUrl: z.ZodOptional; dashboardUrl: z.ZodOptional; supportEmail: z.ZodOptional; footerDisclaimer: z.ZodOptional; }, z.ZodUnknown, "strip"> | undefined; templates?: { engine?: any; customTemplates?: Record | undefined; } | undefined; }>; /** * SMS configuration schema */ export declare const smsConfigSchema: z.ZodObject<{ templates: z.ZodOptional; globalVariables: z.ZodOptional>>; customTemplates: z.ZodOptional; content: z.ZodOptional; }, "strip", z.ZodTypeAny, { contentPath?: string | undefined; content?: string | undefined; }, { contentPath?: string | undefined; content?: string | undefined; }>, { contentPath?: string | undefined; content?: string | undefined; }, { contentPath?: string | undefined; content?: string | undefined; }>, { contentPath?: string | undefined; content?: string | undefined; }, { contentPath?: string | undefined; content?: string | undefined; }>>>; }, "strip", z.ZodTypeAny, { engine?: any; customTemplates?: Record | undefined; globalVariables?: Record | undefined; }, { engine?: any; customTemplates?: Record | undefined; globalVariables?: Record | undefined; }>>; }, "strip", z.ZodTypeAny, { templates?: { engine?: any; customTemplates?: Record | undefined; globalVariables?: Record | undefined; } | undefined; }, { templates?: { engine?: any; customTemplates?: Record | undefined; globalVariables?: Record | undefined; } | undefined; }>; export declare const phoneConfigSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>; export declare const socialProviderConfigSchema: z.ZodObject<{ enabled: z.ZodOptional; clientId: z.ZodOptional]>>; clientSecret: z.ZodOptional; callbackUrl: z.ZodOptional; scopes: z.ZodOptional>; autoLink: z.ZodOptional; allowSignup: z.ZodOptional; }, "strip", z.ZodTypeAny, { clientSecret?: string | undefined; enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; }, { clientSecret?: string | undefined; enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; }>; /** * Apple-specific social provider configuration schema * * Apple requires teamId, keyId, and privateKeyPem instead of a static clientSecret. * The toolkit will automatically generate and refresh the JWT client secret. */ export declare const appleSocialProviderConfigSchema: z.ZodObject; clientId: z.ZodOptional]>>; clientSecret: z.ZodOptional; callbackUrl: z.ZodOptional; scopes: z.ZodOptional>; autoLink: z.ZodOptional; allowSignup: z.ZodOptional; }, "clientSecret"> & { teamId: z.ZodOptional; keyId: z.ZodOptional; privateKeyPem: z.ZodOptional; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; teamId?: string | undefined; keyId?: string | undefined; privateKeyPem?: string | undefined; }, { enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; teamId?: string | undefined; keyId?: string | undefined; privateKeyPem?: string | undefined; }>; export declare const socialRedirectConfigSchema: z.ZodObject<{ frontendBaseUrl: z.ZodOptional; allowAbsoluteReturnTo: z.ZodOptional; allowedReturnToOrigins: z.ZodOptional>; }, "strip", z.ZodTypeAny, { frontendBaseUrl?: string | undefined; allowAbsoluteReturnTo?: boolean | undefined; allowedReturnToOrigins?: string[] | undefined; }, { frontendBaseUrl?: string | undefined; allowAbsoluteReturnTo?: boolean | undefined; allowedReturnToOrigins?: string[] | undefined; }>; export declare const socialConfigSchema: z.ZodObject<{ google: z.ZodOptional; clientId: z.ZodOptional]>>; clientSecret: z.ZodOptional; callbackUrl: z.ZodOptional; scopes: z.ZodOptional>; autoLink: z.ZodOptional; allowSignup: z.ZodOptional; }, "strip", z.ZodTypeAny, { clientSecret?: string | undefined; enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; }, { clientSecret?: string | undefined; enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; }>>; apple: z.ZodOptional; clientId: z.ZodOptional]>>; clientSecret: z.ZodOptional; callbackUrl: z.ZodOptional; scopes: z.ZodOptional>; autoLink: z.ZodOptional; allowSignup: z.ZodOptional; }, "clientSecret"> & { teamId: z.ZodOptional; keyId: z.ZodOptional; privateKeyPem: z.ZodOptional; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; teamId?: string | undefined; keyId?: string | undefined; privateKeyPem?: string | undefined; }, { enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; teamId?: string | undefined; keyId?: string | undefined; privateKeyPem?: string | undefined; }>>; facebook: z.ZodOptional; clientId: z.ZodOptional]>>; clientSecret: z.ZodOptional; callbackUrl: z.ZodOptional; scopes: z.ZodOptional>; autoLink: z.ZodOptional; allowSignup: z.ZodOptional; }, "strip", z.ZodTypeAny, { clientSecret?: string | undefined; enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; }, { clientSecret?: string | undefined; enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; }>>; redirect: z.ZodOptional; allowAbsoluteReturnTo: z.ZodOptional; allowedReturnToOrigins: z.ZodOptional>; }, "strip", z.ZodTypeAny, { frontendBaseUrl?: string | undefined; allowAbsoluteReturnTo?: boolean | undefined; allowedReturnToOrigins?: string[] | undefined; }, { frontendBaseUrl?: string | undefined; allowAbsoluteReturnTo?: boolean | undefined; allowedReturnToOrigins?: string[] | undefined; }>>; }, "strip", z.ZodTypeAny, { google?: { clientSecret?: string | undefined; enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; } | undefined; apple?: { enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; teamId?: string | undefined; keyId?: string | undefined; privateKeyPem?: string | undefined; } | undefined; facebook?: { clientSecret?: string | undefined; enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; } | undefined; redirect?: { frontendBaseUrl?: string | undefined; allowAbsoluteReturnTo?: boolean | undefined; allowedReturnToOrigins?: string[] | undefined; } | undefined; }, { google?: { clientSecret?: string | undefined; enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; } | undefined; apple?: { enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; teamId?: string | undefined; keyId?: string | undefined; privateKeyPem?: string | undefined; } | undefined; facebook?: { clientSecret?: string | undefined; enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; } | undefined; redirect?: { frontendBaseUrl?: string | undefined; allowAbsoluteReturnTo?: boolean | undefined; allowedReturnToOrigins?: string[] | undefined; } | undefined; }>; export declare const totpConfigSchema: z.ZodObject<{ window: z.ZodOptional; stepSeconds: z.ZodOptional; digits: z.ZodOptional; algorithm: z.ZodOptional>; }, "strip", z.ZodTypeAny, { algorithm?: "sha1" | "sha256" | "sha512" | undefined; window?: number | undefined; stepSeconds?: number | undefined; digits?: number | undefined; }, { algorithm?: "sha1" | "sha256" | "sha512" | undefined; window?: number | undefined; stepSeconds?: number | undefined; digits?: number | undefined; }>; export declare const passkeyConfigSchema: z.ZodObject<{ rpName: z.ZodString; rpId: z.ZodString; origin: z.ZodOptional]>>; timeout: z.ZodOptional; userVerification: z.ZodOptional>; authenticatorAttachment: z.ZodOptional>; }, "strip", z.ZodTypeAny, { rpName: string; rpId: string; origin?: string | string[] | undefined; timeout?: number | undefined; userVerification?: "required" | "preferred" | "discouraged" | undefined; authenticatorAttachment?: "platform" | "cross-platform" | undefined; }, { rpName: string; rpId: string; origin?: string | string[] | undefined; timeout?: number | undefined; userVerification?: "required" | "preferred" | "discouraged" | undefined; authenticatorAttachment?: "platform" | "cross-platform" | undefined; }>; export declare const backupCodesConfigSchema: z.ZodObject<{ enabled: z.ZodOptional; codeCount: z.ZodOptional; codeLength: z.ZodOptional; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; codeLength?: number | undefined; codeCount?: number | undefined; }, { enabled?: boolean | undefined; codeLength?: number | undefined; codeCount?: number | undefined; }>; export declare const riskLevelConfigSchema: z.ZodObject<{ maxScore: z.ZodNumber; action: z.ZodOptional>; notifyUser: z.ZodOptional; }, "strip", z.ZodTypeAny, { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; }, { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; }>; export declare const adaptiveMFAConfigSchema: z.ZodObject<{ triggers: z.ZodOptional, "many">>; riskThreshold: z.ZodOptional; riskWeights: z.ZodOptional>; riskLevels: z.ZodOptional>; notifyUser: z.ZodOptional; }, "strip", z.ZodTypeAny, { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; }, { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; }>>; medium: z.ZodOptional>; notifyUser: z.ZodOptional; }, "strip", z.ZodTypeAny, { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; }, { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; }>>; high: z.ZodOptional>; notifyUser: z.ZodOptional; }, "strip", z.ZodTypeAny, { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; }, { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; }>>; }, "strip", z.ZodTypeAny, { low?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; medium?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; high?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; }, { low?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; medium?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; high?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; }>>; blockedSignIn: z.ZodOptional; message: z.ZodOptional; errorCode: z.ZodOptional; scope: z.ZodOptional>; }, "strip", z.ZodTypeAny, { message?: string | undefined; scope?: "user" | "device" | "ip" | undefined; blockDuration?: number | undefined; errorCode?: string | undefined; }, { message?: string | undefined; scope?: "user" | "device" | "ip" | undefined; blockDuration?: number | undefined; errorCode?: string | undefined; }>>; maxTravelSpeed: z.ZodOptional; countryChangeThreshold: z.ZodOptional; suspiciousActivityWindow: z.ZodOptional; }, "strip", z.ZodTypeAny, { triggers?: ("new_device" | "new_ip" | "new_country" | "impossible_travel" | "suspicious_activity" | "recent_password_reset")[] | undefined; riskThreshold?: number | undefined; riskWeights?: Record | undefined; riskLevels?: { low?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; medium?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; high?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; } | undefined; blockedSignIn?: { message?: string | undefined; scope?: "user" | "device" | "ip" | undefined; blockDuration?: number | undefined; errorCode?: string | undefined; } | undefined; maxTravelSpeed?: number | undefined; countryChangeThreshold?: number | undefined; suspiciousActivityWindow?: number | undefined; }, { triggers?: ("new_device" | "new_ip" | "new_country" | "impossible_travel" | "suspicious_activity" | "recent_password_reset")[] | undefined; riskThreshold?: number | undefined; riskWeights?: Record | undefined; riskLevels?: { low?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; medium?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; high?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; } | undefined; blockedSignIn?: { message?: string | undefined; scope?: "user" | "device" | "ip" | undefined; blockDuration?: number | undefined; errorCode?: string | undefined; } | undefined; maxTravelSpeed?: number | undefined; countryChangeThreshold?: number | undefined; suspiciousActivityWindow?: number | undefined; }>; export declare const mfaConfigSchema: z.ZodObject<{ enabled: z.ZodOptional; enforcement: z.ZodOptional>; gracePeriod: z.ZodOptional; allowedMethods: z.ZodOptional, "many">>; requireForSocialLogin: z.ZodOptional; rememberDevices: z.ZodOptional>; rememberDeviceDays: z.ZodOptional; bypassMFAForTrustedDevices: z.ZodOptional; issuer: z.ZodOptional; totp: z.ZodOptional; stepSeconds: z.ZodOptional; digits: z.ZodOptional; algorithm: z.ZodOptional>; }, "strip", z.ZodTypeAny, { algorithm?: "sha1" | "sha256" | "sha512" | undefined; window?: number | undefined; stepSeconds?: number | undefined; digits?: number | undefined; }, { algorithm?: "sha1" | "sha256" | "sha512" | undefined; window?: number | undefined; stepSeconds?: number | undefined; digits?: number | undefined; }>>; passkey: z.ZodOptional]>>; timeout: z.ZodOptional; userVerification: z.ZodOptional>; authenticatorAttachment: z.ZodOptional>; }, "strip", z.ZodTypeAny, { rpName: string; rpId: string; origin?: string | string[] | undefined; timeout?: number | undefined; userVerification?: "required" | "preferred" | "discouraged" | undefined; authenticatorAttachment?: "platform" | "cross-platform" | undefined; }, { rpName: string; rpId: string; origin?: string | string[] | undefined; timeout?: number | undefined; userVerification?: "required" | "preferred" | "discouraged" | undefined; authenticatorAttachment?: "platform" | "cross-platform" | undefined; }>>; backup: z.ZodOptional; codeCount: z.ZodOptional; codeLength: z.ZodOptional; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; codeLength?: number | undefined; codeCount?: number | undefined; }, { enabled?: boolean | undefined; codeLength?: number | undefined; codeCount?: number | undefined; }>>; adaptive: z.ZodOptional, "many">>; riskThreshold: z.ZodOptional; riskWeights: z.ZodOptional>; riskLevels: z.ZodOptional>; notifyUser: z.ZodOptional; }, "strip", z.ZodTypeAny, { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; }, { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; }>>; medium: z.ZodOptional>; notifyUser: z.ZodOptional; }, "strip", z.ZodTypeAny, { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; }, { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; }>>; high: z.ZodOptional>; notifyUser: z.ZodOptional; }, "strip", z.ZodTypeAny, { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; }, { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; }>>; }, "strip", z.ZodTypeAny, { low?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; medium?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; high?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; }, { low?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; medium?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; high?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; }>>; blockedSignIn: z.ZodOptional; message: z.ZodOptional; errorCode: z.ZodOptional; scope: z.ZodOptional>; }, "strip", z.ZodTypeAny, { message?: string | undefined; scope?: "user" | "device" | "ip" | undefined; blockDuration?: number | undefined; errorCode?: string | undefined; }, { message?: string | undefined; scope?: "user" | "device" | "ip" | undefined; blockDuration?: number | undefined; errorCode?: string | undefined; }>>; maxTravelSpeed: z.ZodOptional; countryChangeThreshold: z.ZodOptional; suspiciousActivityWindow: z.ZodOptional; }, "strip", z.ZodTypeAny, { triggers?: ("new_device" | "new_ip" | "new_country" | "impossible_travel" | "suspicious_activity" | "recent_password_reset")[] | undefined; riskThreshold?: number | undefined; riskWeights?: Record | undefined; riskLevels?: { low?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; medium?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; high?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; } | undefined; blockedSignIn?: { message?: string | undefined; scope?: "user" | "device" | "ip" | undefined; blockDuration?: number | undefined; errorCode?: string | undefined; } | undefined; maxTravelSpeed?: number | undefined; countryChangeThreshold?: number | undefined; suspiciousActivityWindow?: number | undefined; }, { triggers?: ("new_device" | "new_ip" | "new_country" | "impossible_travel" | "suspicious_activity" | "recent_password_reset")[] | undefined; riskThreshold?: number | undefined; riskWeights?: Record | undefined; riskLevels?: { low?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; medium?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; high?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; } | undefined; blockedSignIn?: { message?: string | undefined; scope?: "user" | "device" | "ip" | undefined; blockDuration?: number | undefined; errorCode?: string | undefined; } | undefined; maxTravelSpeed?: number | undefined; countryChangeThreshold?: number | undefined; suspiciousActivityWindow?: number | undefined; }>>; }, "strip", z.ZodTypeAny, { totp?: { algorithm?: "sha1" | "sha256" | "sha512" | undefined; window?: number | undefined; stepSeconds?: number | undefined; digits?: number | undefined; } | undefined; passkey?: { rpName: string; rpId: string; origin?: string | string[] | undefined; timeout?: number | undefined; userVerification?: "required" | "preferred" | "discouraged" | undefined; authenticatorAttachment?: "platform" | "cross-platform" | undefined; } | undefined; backup?: { enabled?: boolean | undefined; codeLength?: number | undefined; codeCount?: number | undefined; } | undefined; enabled?: boolean | undefined; rememberDevices?: "always" | "user_opt_in" | "never" | undefined; requireForSocialLogin?: boolean | undefined; allowedMethods?: ("totp" | "sms" | "email" | "passkey")[] | undefined; bypassMFAForTrustedDevices?: boolean | undefined; rememberDeviceDays?: number | undefined; issuer?: string | undefined; enforcement?: "OPTIONAL" | "REQUIRED" | "ADAPTIVE" | undefined; gracePeriod?: number | undefined; adaptive?: { triggers?: ("new_device" | "new_ip" | "new_country" | "impossible_travel" | "suspicious_activity" | "recent_password_reset")[] | undefined; riskThreshold?: number | undefined; riskWeights?: Record | undefined; riskLevels?: { low?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; medium?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; high?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; } | undefined; blockedSignIn?: { message?: string | undefined; scope?: "user" | "device" | "ip" | undefined; blockDuration?: number | undefined; errorCode?: string | undefined; } | undefined; maxTravelSpeed?: number | undefined; countryChangeThreshold?: number | undefined; suspiciousActivityWindow?: number | undefined; } | undefined; }, { totp?: { algorithm?: "sha1" | "sha256" | "sha512" | undefined; window?: number | undefined; stepSeconds?: number | undefined; digits?: number | undefined; } | undefined; passkey?: { rpName: string; rpId: string; origin?: string | string[] | undefined; timeout?: number | undefined; userVerification?: "required" | "preferred" | "discouraged" | undefined; authenticatorAttachment?: "platform" | "cross-platform" | undefined; } | undefined; backup?: { enabled?: boolean | undefined; codeLength?: number | undefined; codeCount?: number | undefined; } | undefined; enabled?: boolean | undefined; rememberDevices?: "always" | "user_opt_in" | "never" | undefined; requireForSocialLogin?: boolean | undefined; allowedMethods?: ("totp" | "sms" | "email" | "passkey")[] | undefined; bypassMFAForTrustedDevices?: boolean | undefined; rememberDeviceDays?: number | undefined; issuer?: string | undefined; enforcement?: "OPTIONAL" | "REQUIRED" | "ADAPTIVE" | undefined; gracePeriod?: number | undefined; adaptive?: { triggers?: ("new_device" | "new_ip" | "new_country" | "impossible_travel" | "suspicious_activity" | "recent_password_reset")[] | undefined; riskThreshold?: number | undefined; riskWeights?: Record | undefined; riskLevels?: { low?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; medium?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; high?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; } | undefined; blockedSignIn?: { message?: string | undefined; scope?: "user" | "device" | "ip" | undefined; blockDuration?: number | undefined; errorCode?: string | undefined; } | undefined; maxTravelSpeed?: number | undefined; countryChangeThreshold?: number | undefined; suspiciousActivityWindow?: number | undefined; } | undefined; }>; export declare const tokenDeliveryConfigSchema: z.ZodObject<{ method: z.ZodOptional>; cookieNamePrefix: z.ZodOptional; cookieOptions: z.ZodOptional; sameSite: z.ZodOptional>; path: z.ZodOptional; domain: z.ZodOptional; priority: z.ZodOptional>; }, "strip", z.ZodTypeAny, { secure?: boolean | undefined; sameSite?: "strict" | "lax" | "none" | undefined; domain?: string | undefined; path?: string | undefined; priority?: "low" | "medium" | "high" | undefined; }, { secure?: boolean | undefined; sameSite?: "strict" | "lax" | "none" | undefined; domain?: string | undefined; path?: string | undefined; priority?: "low" | "medium" | "high" | undefined; }>>; hybridPolicy: z.ZodOptional>; nativeOrigins: z.ZodOptional>; cookieRefreshExpiresIn: z.ZodOptional>; jsonRefreshExpiresIn: z.ZodOptional>; }, "strip", z.ZodTypeAny, { nativeOrigins?: string[] | undefined; webOrigins?: string[] | undefined; cookieRefreshExpiresIn?: string | number | undefined; jsonRefreshExpiresIn?: string | number | undefined; }, { nativeOrigins?: string[] | undefined; webOrigins?: string[] | undefined; cookieRefreshExpiresIn?: string | number | undefined; jsonRefreshExpiresIn?: string | number | undefined; }>>; }, "strip", z.ZodTypeAny, { method?: "json" | "cookies" | "hybrid" | undefined; cookieOptions?: { secure?: boolean | undefined; sameSite?: "strict" | "lax" | "none" | undefined; domain?: string | undefined; path?: string | undefined; priority?: "low" | "medium" | "high" | undefined; } | undefined; cookieNamePrefix?: string | undefined; hybridPolicy?: { nativeOrigins?: string[] | undefined; webOrigins?: string[] | undefined; cookieRefreshExpiresIn?: string | number | undefined; jsonRefreshExpiresIn?: string | number | undefined; } | undefined; }, { method?: "json" | "cookies" | "hybrid" | undefined; cookieOptions?: { secure?: boolean | undefined; sameSite?: "strict" | "lax" | "none" | undefined; domain?: string | undefined; path?: string | undefined; priority?: "low" | "medium" | "high" | undefined; } | undefined; cookieNamePrefix?: string | undefined; hybridPolicy?: { nativeOrigins?: string[] | undefined; webOrigins?: string[] | undefined; cookieRefreshExpiresIn?: string | number | undefined; jsonRefreshExpiresIn?: string | number | undefined; } | undefined; }>; export declare const challengeConfigSchema: z.ZodObject<{ maxAttempts: z.ZodOptional; }, "strip", z.ZodTypeAny, { maxAttempts?: number | undefined; }, { maxAttempts?: number | undefined; }>; export declare const geoLocationConfigSchema: z.ZodObject<{ maxMind: z.ZodOptional; skipDownloads: z.ZodOptional; licenseKey: z.ZodOptional; accountId: z.ZodOptional; autoDownloadOnStartup: z.ZodOptional; editions: z.ZodOptional>; }, "strip", z.ZodTypeAny, { dbPath?: string | undefined; skipDownloads?: boolean | undefined; licenseKey?: string | undefined; accountId?: number | undefined; autoDownloadOnStartup?: boolean | undefined; editions?: string[] | undefined; }, { dbPath?: string | undefined; skipDownloads?: boolean | undefined; licenseKey?: string | undefined; accountId?: number | undefined; autoDownloadOnStartup?: boolean | undefined; editions?: string[] | undefined; }>>; }, "strip", z.ZodTypeAny, { maxMind?: { dbPath?: string | undefined; skipDownloads?: boolean | undefined; licenseKey?: string | undefined; accountId?: number | undefined; autoDownloadOnStartup?: boolean | undefined; editions?: string[] | undefined; } | undefined; }, { maxMind?: { dbPath?: string | undefined; skipDownloads?: boolean | undefined; licenseKey?: string | undefined; accountId?: number | undefined; autoDownloadOnStartup?: boolean | undefined; editions?: string[] | undefined; } | undefined; }>; /** * Email notifications configuration schema * * Controls which optional notification emails are suppressed. * Note: Code emails (verification/password reset) cannot be suppressed and are always sent when enabled. */ export declare const emailNotificationsConfigSchema: z.ZodOptional; suppress: z.ZodOptional; passwordChanged: z.ZodOptional; mfaDeviceRemoved: z.ZodOptional; mfaFirstEnabled: z.ZodOptional; mfaMethodAdded: z.ZodOptional; adaptiveMfaRiskDetected: z.ZodOptional; accountDisabled: z.ZodOptional; accountEnabled: z.ZodOptional; emailChangedOld: z.ZodOptional; emailChangedNew: z.ZodOptional; accountLockout: z.ZodOptional; sessionsRevoked: z.ZodOptional; }, "strip", z.ZodTypeAny, { welcome?: boolean | undefined; accountLockout?: boolean | undefined; passwordChanged?: boolean | undefined; mfaDeviceRemoved?: boolean | undefined; mfaMethodAdded?: boolean | undefined; accountDisabled?: boolean | undefined; accountEnabled?: boolean | undefined; emailChangedOld?: boolean | undefined; emailChangedNew?: boolean | undefined; sessionsRevoked?: boolean | undefined; mfaFirstEnabled?: boolean | undefined; adaptiveMfaRiskDetected?: boolean | undefined; }, { welcome?: boolean | undefined; accountLockout?: boolean | undefined; passwordChanged?: boolean | undefined; mfaDeviceRemoved?: boolean | undefined; mfaMethodAdded?: boolean | undefined; accountDisabled?: boolean | undefined; accountEnabled?: boolean | undefined; emailChangedOld?: boolean | undefined; emailChangedNew?: boolean | undefined; sessionsRevoked?: boolean | undefined; mfaFirstEnabled?: boolean | undefined; adaptiveMfaRiskDetected?: boolean | undefined; }>>; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; suppress?: { welcome?: boolean | undefined; accountLockout?: boolean | undefined; passwordChanged?: boolean | undefined; mfaDeviceRemoved?: boolean | undefined; mfaMethodAdded?: boolean | undefined; accountDisabled?: boolean | undefined; accountEnabled?: boolean | undefined; emailChangedOld?: boolean | undefined; emailChangedNew?: boolean | undefined; sessionsRevoked?: boolean | undefined; mfaFirstEnabled?: boolean | undefined; adaptiveMfaRiskDetected?: boolean | undefined; } | undefined; }, { enabled?: boolean | undefined; suppress?: { welcome?: boolean | undefined; accountLockout?: boolean | undefined; passwordChanged?: boolean | undefined; mfaDeviceRemoved?: boolean | undefined; mfaMethodAdded?: boolean | undefined; accountDisabled?: boolean | undefined; accountEnabled?: boolean | undefined; emailChangedOld?: boolean | undefined; emailChangedNew?: boolean | undefined; sessionsRevoked?: boolean | undefined; mfaFirstEnabled?: boolean | undefined; adaptiveMfaRiskDetected?: boolean | undefined; } | undefined; }>>; /** * API key authentication configuration schema */ export declare const apiKeyConfigSchema: z.ZodObject<{ enabled: z.ZodOptional; allowUserCreation: z.ZodOptional; header: z.ZodOptional; maxKeysPerUser: z.ZodOptional; maxExpiryDays: z.ZodOptional; allowIndefinite: z.ZodOptional; trackUsageIp: z.ZodOptional; lastUsedThrottleSeconds: z.ZodOptional; globalAllowlist: z.ZodOptional; ipRestrictions: z.ZodOptional; requireForNewKeys: z.ZodOptional; maxIpsPerKey: z.ZodOptional; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; maxIpsPerKey?: number | undefined; requireForNewKeys?: boolean | undefined; }, { enabled?: boolean | undefined; maxIpsPerKey?: number | undefined; requireForNewKeys?: boolean | undefined; }>>; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; maxKeysPerUser?: number | undefined; maxExpiryDays?: number | undefined; allowUserCreation?: boolean | undefined; header?: string | undefined; allowIndefinite?: boolean | undefined; trackUsageIp?: boolean | undefined; lastUsedThrottleSeconds?: number | undefined; globalAllowlist?: boolean | undefined; ipRestrictions?: { enabled?: boolean | undefined; maxIpsPerKey?: number | undefined; requireForNewKeys?: boolean | undefined; } | undefined; }, { enabled?: boolean | undefined; maxKeysPerUser?: number | undefined; maxExpiryDays?: number | undefined; allowUserCreation?: boolean | undefined; header?: string | undefined; allowIndefinite?: boolean | undefined; trackUsageIp?: boolean | undefined; lastUsedThrottleSeconds?: number | undefined; globalAllowlist?: boolean | undefined; ipRestrictions?: { enabled?: boolean | undefined; maxIpsPerKey?: number | undefined; requireForNewKeys?: boolean | undefined; } | undefined; }>; /** * Root authentication configuration schema * * Validates all configuration sections and enforces cross-dependencies: * - Email/phone verification requires respective providers * - MFA enforcement modes require specific configurations * - Social providers require credentials when enabled * - JWT algorithm requires appropriate keys * - MaxMind geolocation requires credentials for downloads */ export declare const authConfigSchema: z.ZodEffects; jwt: z.ZodEffects>; accessToken: z.ZodObject<{ secret: z.ZodOptional; privateKey: z.ZodOptional; publicKey: z.ZodOptional; expiresIn: z.ZodUnion<[z.ZodString, z.ZodNumber]>; }, "strip", z.ZodTypeAny, { expiresIn: string | number; secret?: string | undefined; publicKey?: string | undefined; privateKey?: string | undefined; }, { expiresIn: string | number; secret?: string | undefined; publicKey?: string | undefined; privateKey?: string | undefined; }>; refreshToken: z.ZodObject<{ secret: z.ZodString; expiresIn: z.ZodUnion<[z.ZodString, z.ZodNumber]>; /** @deprecated Always enabled. Kept for backward compatibility; ignored at runtime. */ rotation: z.ZodOptional; reuseDetection: z.ZodOptional; }, "strip", z.ZodTypeAny, { expiresIn: string | number; secret: string; rotation?: boolean | undefined; reuseDetection?: boolean | undefined; }, { expiresIn: string | number; secret: string; rotation?: boolean | undefined; reuseDetection?: boolean | undefined; }>; issuer: z.ZodOptional; audience: z.ZodOptional]>>; }, "strip", z.ZodTypeAny, { accessToken: { expiresIn: string | number; secret?: string | undefined; publicKey?: string | undefined; privateKey?: string | undefined; }; refreshToken: { expiresIn: string | number; secret: string; rotation?: boolean | undefined; reuseDetection?: boolean | undefined; }; algorithm?: "HS256" | "HS384" | "HS512" | "RS256" | "RS384" | "RS512" | undefined; issuer?: string | undefined; audience?: string | string[] | undefined; }, { accessToken: { expiresIn: string | number; secret?: string | undefined; publicKey?: string | undefined; privateKey?: string | undefined; }; refreshToken: { expiresIn: string | number; secret: string; rotation?: boolean | undefined; reuseDetection?: boolean | undefined; }; algorithm?: "HS256" | "HS384" | "HS512" | "RS256" | "RS384" | "RS512" | undefined; issuer?: string | undefined; audience?: string | string[] | undefined; }>, { accessToken: { expiresIn: string | number; secret?: string | undefined; publicKey?: string | undefined; privateKey?: string | undefined; }; refreshToken: { expiresIn: string | number; secret: string; rotation?: boolean | undefined; reuseDetection?: boolean | undefined; }; algorithm?: "HS256" | "HS384" | "HS512" | "RS256" | "RS384" | "RS512" | undefined; issuer?: string | undefined; audience?: string | string[] | undefined; }, { accessToken: { expiresIn: string | number; secret?: string | undefined; publicKey?: string | undefined; privateKey?: string | undefined; }; refreshToken: { expiresIn: string | number; secret: string; rotation?: boolean | undefined; reuseDetection?: boolean | undefined; }; algorithm?: "HS256" | "HS384" | "HS512" | "RS256" | "RS384" | "RS512" | undefined; issuer?: string | undefined; audience?: string | string[] | undefined; }>; signup: z.ZodOptional; verificationMethod: z.ZodOptional>; allowDuplicatePhones: z.ZodOptional; emailVerification: z.ZodOptional; maxAttempts: z.ZodOptional; resendDelay: z.ZodOptional; rateLimitMax: z.ZodOptional; rateLimitWindow: z.ZodOptional; maxAttemptsPerUser: z.ZodOptional; maxAttemptsPerIP: z.ZodOptional; attemptWindow: z.ZodOptional; baseUrl: z.ZodOptional; }, "strip", z.ZodTypeAny, { expiresIn?: number | undefined; baseUrl?: string | undefined; maxAttempts?: number | undefined; resendDelay?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; maxAttemptsPerUser?: number | undefined; maxAttemptsPerIP?: number | undefined; attemptWindow?: number | undefined; }, { expiresIn?: number | undefined; baseUrl?: string | undefined; maxAttempts?: number | undefined; resendDelay?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; maxAttemptsPerUser?: number | undefined; maxAttemptsPerIP?: number | undefined; attemptWindow?: number | undefined; }>>; phoneVerification: z.ZodOptional; expiresIn: z.ZodOptional; maxAttempts: z.ZodOptional; resendDelay: z.ZodOptional; rateLimitMax: z.ZodOptional; rateLimitWindow: z.ZodOptional; maxAttemptsPerUser: z.ZodOptional; maxAttemptsPerIP: z.ZodOptional; attemptWindow: z.ZodOptional; baseUrl: z.ZodOptional>; }, "strip", z.ZodTypeAny, { expiresIn?: number | undefined; baseUrl?: string | undefined; maxAttempts?: number | undefined; resendDelay?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; maxAttemptsPerUser?: number | undefined; maxAttemptsPerIP?: number | undefined; attemptWindow?: number | undefined; codeLength?: number | undefined; }, { expiresIn?: number | undefined; baseUrl?: string | undefined; maxAttempts?: number | undefined; resendDelay?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; maxAttemptsPerUser?: number | undefined; maxAttemptsPerIP?: number | undefined; attemptWindow?: number | undefined; codeLength?: number | undefined; }>>; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; emailVerification?: { expiresIn?: number | undefined; baseUrl?: string | undefined; maxAttempts?: number | undefined; resendDelay?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; maxAttemptsPerUser?: number | undefined; maxAttemptsPerIP?: number | undefined; attemptWindow?: number | undefined; } | undefined; verificationMethod?: "none" | "email" | "phone" | "both" | undefined; phoneVerification?: { expiresIn?: number | undefined; baseUrl?: string | undefined; maxAttempts?: number | undefined; resendDelay?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; maxAttemptsPerUser?: number | undefined; maxAttemptsPerIP?: number | undefined; attemptWindow?: number | undefined; codeLength?: number | undefined; } | undefined; allowDuplicatePhones?: boolean | undefined; }, { enabled?: boolean | undefined; emailVerification?: { expiresIn?: number | undefined; baseUrl?: string | undefined; maxAttempts?: number | undefined; resendDelay?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; maxAttemptsPerUser?: number | undefined; maxAttemptsPerIP?: number | undefined; attemptWindow?: number | undefined; } | undefined; verificationMethod?: "none" | "email" | "phone" | "both" | undefined; phoneVerification?: { expiresIn?: number | undefined; baseUrl?: string | undefined; maxAttempts?: number | undefined; resendDelay?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; maxAttemptsPerUser?: number | undefined; maxAttemptsPerIP?: number | undefined; attemptWindow?: number | undefined; codeLength?: number | undefined; } | undefined; allowDuplicatePhones?: boolean | undefined; }>>; login: z.ZodOptional>; }, "strip", z.ZodTypeAny, { identifierType?: "email" | "phone" | "username" | "email_or_username" | undefined; }, { identifierType?: "email" | "phone" | "username" | "email_or_username" | undefined; }>>; password: z.ZodOptional; maxLength: z.ZodOptional; requireUppercase: z.ZodOptional; requireLowercase: z.ZodOptional; requireNumbers: z.ZodOptional; requireSpecialChars: z.ZodOptional; specialChars: z.ZodOptional; preventCommon: z.ZodOptional; preventUserInfo: z.ZodOptional; historyCount: z.ZodOptional; expiryDays: z.ZodOptional; passwordReset: z.ZodOptional; expiresIn: z.ZodOptional; rateLimitMax: z.ZodOptional; rateLimitWindow: z.ZodOptional; maxAttempts: z.ZodOptional; }, "strip", z.ZodTypeAny, { expiresIn?: number | undefined; maxAttempts?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; codeLength?: number | undefined; }, { expiresIn?: number | undefined; maxAttempts?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; codeLength?: number | undefined; }>>; }, "strip", z.ZodTypeAny, { passwordReset?: { expiresIn?: number | undefined; maxAttempts?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; codeLength?: number | undefined; } | undefined; minLength?: number | undefined; maxLength?: number | undefined; requireUppercase?: boolean | undefined; requireLowercase?: boolean | undefined; requireNumbers?: boolean | undefined; requireSpecialChars?: boolean | undefined; specialChars?: string | undefined; preventCommon?: boolean | undefined; preventUserInfo?: boolean | undefined; historyCount?: number | undefined; expiryDays?: number | undefined; }, { passwordReset?: { expiresIn?: number | undefined; maxAttempts?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; codeLength?: number | undefined; } | undefined; minLength?: number | undefined; maxLength?: number | undefined; requireUppercase?: boolean | undefined; requireLowercase?: boolean | undefined; requireNumbers?: boolean | undefined; requireSpecialChars?: boolean | undefined; specialChars?: string | undefined; preventCommon?: boolean | undefined; preventUserInfo?: boolean | undefined; historyCount?: number | undefined; expiryDays?: number | undefined; }>>; lockout: z.ZodOptional; maxAttempts: z.ZodOptional; attemptWindow: z.ZodOptional; duration: z.ZodOptional; resetOnSuccess: z.ZodOptional; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; duration?: number | undefined; maxAttempts?: number | undefined; attemptWindow?: number | undefined; resetOnSuccess?: boolean | undefined; }, { enabled?: boolean | undefined; duration?: number | undefined; maxAttempts?: number | undefined; attemptWindow?: number | undefined; resetOnSuccess?: boolean | undefined; }>>; session: z.ZodOptional; disallowMultipleSessions: z.ZodOptional; maxLifetime: z.ZodOptional>; }, "strip", z.ZodTypeAny, { maxConcurrent?: number | undefined; disallowMultipleSessions?: boolean | undefined; maxLifetime?: string | number | undefined; }, { maxConcurrent?: number | undefined; disallowMultipleSessions?: boolean | undefined; maxLifetime?: string | number | undefined; }>>; security: z.ZodOptional; headerName: z.ZodOptional; tokenLength: z.ZodOptional; excludedPaths: z.ZodOptional>; cookieOptions: z.ZodOptional; sameSite: z.ZodOptional>; domain: z.ZodOptional; path: z.ZodOptional; priority: z.ZodDefault>; }, "strip", z.ZodTypeAny, { priority: "low" | "medium" | "high"; secure?: boolean | undefined; sameSite?: "strict" | "lax" | "none" | undefined; domain?: string | undefined; path?: string | undefined; }, { secure?: boolean | undefined; sameSite?: "strict" | "lax" | "none" | undefined; domain?: string | undefined; path?: string | undefined; priority?: "low" | "medium" | "high" | undefined; }>>; }, "strip", z.ZodTypeAny, { cookieName?: string | undefined; headerName?: string | undefined; tokenLength?: number | undefined; excludedPaths?: string[] | undefined; cookieOptions?: { priority: "low" | "medium" | "high"; secure?: boolean | undefined; sameSite?: "strict" | "lax" | "none" | undefined; domain?: string | undefined; path?: string | undefined; } | undefined; }, { cookieName?: string | undefined; headerName?: string | undefined; tokenLength?: number | undefined; excludedPaths?: string[] | undefined; cookieOptions?: { secure?: boolean | undefined; sameSite?: "strict" | "lax" | "none" | undefined; domain?: string | undefined; path?: string | undefined; priority?: "low" | "medium" | "high" | undefined; } | undefined; }>>; }, "strip", z.ZodTypeAny, { csrf?: { cookieName?: string | undefined; headerName?: string | undefined; tokenLength?: number | undefined; excludedPaths?: string[] | undefined; cookieOptions?: { priority: "low" | "medium" | "high"; secure?: boolean | undefined; sameSite?: "strict" | "lax" | "none" | undefined; domain?: string | undefined; path?: string | undefined; } | undefined; } | undefined; }, { csrf?: { cookieName?: string | undefined; headerName?: string | undefined; tokenLength?: number | undefined; excludedPaths?: string[] | undefined; cookieOptions?: { secure?: boolean | undefined; sameSite?: "strict" | "lax" | "none" | undefined; domain?: string | undefined; path?: string | undefined; priority?: "low" | "medium" | "high" | undefined; } | undefined; } | undefined; }>>; auditLogs: z.ZodOptional; fireAndForget: z.ZodOptional; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; fireAndForget?: boolean | undefined; }, { enabled?: boolean | undefined; fireAndForget?: boolean | undefined; }>>; telemetry: z.ZodOptional; endpoint: z.ZodOptional; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; endpoint?: string | undefined; }, { enabled?: boolean | undefined; endpoint?: string | undefined; }>>; emailNotifications: z.ZodOptional; suppress: z.ZodOptional; passwordChanged: z.ZodOptional; mfaDeviceRemoved: z.ZodOptional; mfaFirstEnabled: z.ZodOptional; mfaMethodAdded: z.ZodOptional; adaptiveMfaRiskDetected: z.ZodOptional; accountDisabled: z.ZodOptional; accountEnabled: z.ZodOptional; emailChangedOld: z.ZodOptional; emailChangedNew: z.ZodOptional; accountLockout: z.ZodOptional; sessionsRevoked: z.ZodOptional; }, "strip", z.ZodTypeAny, { welcome?: boolean | undefined; accountLockout?: boolean | undefined; passwordChanged?: boolean | undefined; mfaDeviceRemoved?: boolean | undefined; mfaMethodAdded?: boolean | undefined; accountDisabled?: boolean | undefined; accountEnabled?: boolean | undefined; emailChangedOld?: boolean | undefined; emailChangedNew?: boolean | undefined; sessionsRevoked?: boolean | undefined; mfaFirstEnabled?: boolean | undefined; adaptiveMfaRiskDetected?: boolean | undefined; }, { welcome?: boolean | undefined; accountLockout?: boolean | undefined; passwordChanged?: boolean | undefined; mfaDeviceRemoved?: boolean | undefined; mfaMethodAdded?: boolean | undefined; accountDisabled?: boolean | undefined; accountEnabled?: boolean | undefined; emailChangedOld?: boolean | undefined; emailChangedNew?: boolean | undefined; sessionsRevoked?: boolean | undefined; mfaFirstEnabled?: boolean | undefined; adaptiveMfaRiskDetected?: boolean | undefined; }>>; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; suppress?: { welcome?: boolean | undefined; accountLockout?: boolean | undefined; passwordChanged?: boolean | undefined; mfaDeviceRemoved?: boolean | undefined; mfaMethodAdded?: boolean | undefined; accountDisabled?: boolean | undefined; accountEnabled?: boolean | undefined; emailChangedOld?: boolean | undefined; emailChangedNew?: boolean | undefined; sessionsRevoked?: boolean | undefined; mfaFirstEnabled?: boolean | undefined; adaptiveMfaRiskDetected?: boolean | undefined; } | undefined; }, { enabled?: boolean | undefined; suppress?: { welcome?: boolean | undefined; accountLockout?: boolean | undefined; passwordChanged?: boolean | undefined; mfaDeviceRemoved?: boolean | undefined; mfaMethodAdded?: boolean | undefined; accountDisabled?: boolean | undefined; accountEnabled?: boolean | undefined; emailChangedOld?: boolean | undefined; emailChangedNew?: boolean | undefined; sessionsRevoked?: boolean | undefined; mfaFirstEnabled?: boolean | undefined; adaptiveMfaRiskDetected?: boolean | undefined; } | undefined; }>>; emailProvider: z.ZodOptional; email: z.ZodOptional; companyName: z.ZodOptional; companyAddress: z.ZodOptional; brandColor: z.ZodOptional; logoUrl: z.ZodOptional; dashboardUrl: z.ZodOptional; supportEmail: z.ZodOptional; footerDisclaimer: z.ZodOptional; }, "strip", z.ZodUnknown, z.objectOutputType<{ appName: z.ZodOptional; companyName: z.ZodOptional; companyAddress: z.ZodOptional; brandColor: z.ZodOptional; logoUrl: z.ZodOptional; dashboardUrl: z.ZodOptional; supportEmail: z.ZodOptional; footerDisclaimer: z.ZodOptional; }, z.ZodUnknown, "strip">, z.objectInputType<{ appName: z.ZodOptional; companyName: z.ZodOptional; companyAddress: z.ZodOptional; brandColor: z.ZodOptional; logoUrl: z.ZodOptional; dashboardUrl: z.ZodOptional; supportEmail: z.ZodOptional; footerDisclaimer: z.ZodOptional; }, z.ZodUnknown, "strip">>>; templates: z.ZodOptional; customTemplates: z.ZodOptional; html: z.ZodOptional; textPath: z.ZodOptional; text: z.ZodOptional; subject: z.ZodOptional; }, "strip", z.ZodTypeAny, { htmlPath?: string | undefined; html?: string | undefined; textPath?: string | undefined; text?: string | undefined; subject?: string | undefined; }, { htmlPath?: string | undefined; html?: string | undefined; textPath?: string | undefined; text?: string | undefined; subject?: string | undefined; }>, { htmlPath?: string | undefined; html?: string | undefined; textPath?: string | undefined; text?: string | undefined; subject?: string | undefined; }, { htmlPath?: string | undefined; html?: string | undefined; textPath?: string | undefined; text?: string | undefined; subject?: string | undefined; }>, { htmlPath?: string | undefined; html?: string | undefined; textPath?: string | undefined; text?: string | undefined; subject?: string | undefined; }, { htmlPath?: string | undefined; html?: string | undefined; textPath?: string | undefined; text?: string | undefined; subject?: string | undefined; }>, { htmlPath?: string | undefined; html?: string | undefined; textPath?: string | undefined; text?: string | undefined; subject?: string | undefined; }, { htmlPath?: string | undefined; html?: string | undefined; textPath?: string | undefined; text?: string | undefined; subject?: string | undefined; }>>>; }, "strict", z.ZodTypeAny, { engine?: any; customTemplates?: Record | undefined; }, { engine?: any; customTemplates?: Record | undefined; }>>; }, "strict", z.ZodTypeAny, { globalVariables?: z.objectOutputType<{ appName: z.ZodOptional; companyName: z.ZodOptional; companyAddress: z.ZodOptional; brandColor: z.ZodOptional; logoUrl: z.ZodOptional; dashboardUrl: z.ZodOptional; supportEmail: z.ZodOptional; footerDisclaimer: z.ZodOptional; }, z.ZodUnknown, "strip"> | undefined; templates?: { engine?: any; customTemplates?: Record | undefined; } | undefined; }, { globalVariables?: z.objectInputType<{ appName: z.ZodOptional; companyName: z.ZodOptional; companyAddress: z.ZodOptional; brandColor: z.ZodOptional; logoUrl: z.ZodOptional; dashboardUrl: z.ZodOptional; supportEmail: z.ZodOptional; footerDisclaimer: z.ZodOptional; }, z.ZodUnknown, "strip"> | undefined; templates?: { engine?: any; customTemplates?: Record | undefined; } | undefined; }>>; smsProvider: z.ZodOptional; sms: z.ZodOptional; globalVariables: z.ZodOptional>>; customTemplates: z.ZodOptional; content: z.ZodOptional; }, "strip", z.ZodTypeAny, { contentPath?: string | undefined; content?: string | undefined; }, { contentPath?: string | undefined; content?: string | undefined; }>, { contentPath?: string | undefined; content?: string | undefined; }, { contentPath?: string | undefined; content?: string | undefined; }>, { contentPath?: string | undefined; content?: string | undefined; }, { contentPath?: string | undefined; content?: string | undefined; }>>>; }, "strip", z.ZodTypeAny, { engine?: any; customTemplates?: Record | undefined; globalVariables?: Record | undefined; }, { engine?: any; customTemplates?: Record | undefined; globalVariables?: Record | undefined; }>>; }, "strip", z.ZodTypeAny, { templates?: { engine?: any; customTemplates?: Record | undefined; globalVariables?: Record | undefined; } | undefined; }, { templates?: { engine?: any; customTemplates?: Record | undefined; globalVariables?: Record | undefined; } | undefined; }>>; phone: z.ZodOptional>; storageAdapter: z.ZodOptional; social: z.ZodOptional; clientId: z.ZodOptional]>>; clientSecret: z.ZodOptional; callbackUrl: z.ZodOptional; scopes: z.ZodOptional>; autoLink: z.ZodOptional; allowSignup: z.ZodOptional; }, "strip", z.ZodTypeAny, { clientSecret?: string | undefined; enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; }, { clientSecret?: string | undefined; enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; }>>; apple: z.ZodOptional; clientId: z.ZodOptional]>>; clientSecret: z.ZodOptional; callbackUrl: z.ZodOptional; scopes: z.ZodOptional>; autoLink: z.ZodOptional; allowSignup: z.ZodOptional; }, "clientSecret"> & { teamId: z.ZodOptional; keyId: z.ZodOptional; privateKeyPem: z.ZodOptional; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; teamId?: string | undefined; keyId?: string | undefined; privateKeyPem?: string | undefined; }, { enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; teamId?: string | undefined; keyId?: string | undefined; privateKeyPem?: string | undefined; }>>; facebook: z.ZodOptional; clientId: z.ZodOptional]>>; clientSecret: z.ZodOptional; callbackUrl: z.ZodOptional; scopes: z.ZodOptional>; autoLink: z.ZodOptional; allowSignup: z.ZodOptional; }, "strip", z.ZodTypeAny, { clientSecret?: string | undefined; enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; }, { clientSecret?: string | undefined; enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; }>>; redirect: z.ZodOptional; allowAbsoluteReturnTo: z.ZodOptional; allowedReturnToOrigins: z.ZodOptional>; }, "strip", z.ZodTypeAny, { frontendBaseUrl?: string | undefined; allowAbsoluteReturnTo?: boolean | undefined; allowedReturnToOrigins?: string[] | undefined; }, { frontendBaseUrl?: string | undefined; allowAbsoluteReturnTo?: boolean | undefined; allowedReturnToOrigins?: string[] | undefined; }>>; }, "strip", z.ZodTypeAny, { google?: { clientSecret?: string | undefined; enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; } | undefined; apple?: { enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; teamId?: string | undefined; keyId?: string | undefined; privateKeyPem?: string | undefined; } | undefined; facebook?: { clientSecret?: string | undefined; enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; } | undefined; redirect?: { frontendBaseUrl?: string | undefined; allowAbsoluteReturnTo?: boolean | undefined; allowedReturnToOrigins?: string[] | undefined; } | undefined; }, { google?: { clientSecret?: string | undefined; enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; } | undefined; apple?: { enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; teamId?: string | undefined; keyId?: string | undefined; privateKeyPem?: string | undefined; } | undefined; facebook?: { clientSecret?: string | undefined; enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; } | undefined; redirect?: { frontendBaseUrl?: string | undefined; allowAbsoluteReturnTo?: boolean | undefined; allowedReturnToOrigins?: string[] | undefined; } | undefined; }>>; mfa: z.ZodOptional; enforcement: z.ZodOptional>; gracePeriod: z.ZodOptional; allowedMethods: z.ZodOptional, "many">>; requireForSocialLogin: z.ZodOptional; rememberDevices: z.ZodOptional>; rememberDeviceDays: z.ZodOptional; bypassMFAForTrustedDevices: z.ZodOptional; issuer: z.ZodOptional; totp: z.ZodOptional; stepSeconds: z.ZodOptional; digits: z.ZodOptional; algorithm: z.ZodOptional>; }, "strip", z.ZodTypeAny, { algorithm?: "sha1" | "sha256" | "sha512" | undefined; window?: number | undefined; stepSeconds?: number | undefined; digits?: number | undefined; }, { algorithm?: "sha1" | "sha256" | "sha512" | undefined; window?: number | undefined; stepSeconds?: number | undefined; digits?: number | undefined; }>>; passkey: z.ZodOptional]>>; timeout: z.ZodOptional; userVerification: z.ZodOptional>; authenticatorAttachment: z.ZodOptional>; }, "strip", z.ZodTypeAny, { rpName: string; rpId: string; origin?: string | string[] | undefined; timeout?: number | undefined; userVerification?: "required" | "preferred" | "discouraged" | undefined; authenticatorAttachment?: "platform" | "cross-platform" | undefined; }, { rpName: string; rpId: string; origin?: string | string[] | undefined; timeout?: number | undefined; userVerification?: "required" | "preferred" | "discouraged" | undefined; authenticatorAttachment?: "platform" | "cross-platform" | undefined; }>>; backup: z.ZodOptional; codeCount: z.ZodOptional; codeLength: z.ZodOptional; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; codeLength?: number | undefined; codeCount?: number | undefined; }, { enabled?: boolean | undefined; codeLength?: number | undefined; codeCount?: number | undefined; }>>; adaptive: z.ZodOptional, "many">>; riskThreshold: z.ZodOptional; riskWeights: z.ZodOptional>; riskLevels: z.ZodOptional>; notifyUser: z.ZodOptional; }, "strip", z.ZodTypeAny, { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; }, { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; }>>; medium: z.ZodOptional>; notifyUser: z.ZodOptional; }, "strip", z.ZodTypeAny, { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; }, { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; }>>; high: z.ZodOptional>; notifyUser: z.ZodOptional; }, "strip", z.ZodTypeAny, { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; }, { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; }>>; }, "strip", z.ZodTypeAny, { low?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; medium?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; high?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; }, { low?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; medium?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; high?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; }>>; blockedSignIn: z.ZodOptional; message: z.ZodOptional; errorCode: z.ZodOptional; scope: z.ZodOptional>; }, "strip", z.ZodTypeAny, { message?: string | undefined; scope?: "user" | "device" | "ip" | undefined; blockDuration?: number | undefined; errorCode?: string | undefined; }, { message?: string | undefined; scope?: "user" | "device" | "ip" | undefined; blockDuration?: number | undefined; errorCode?: string | undefined; }>>; maxTravelSpeed: z.ZodOptional; countryChangeThreshold: z.ZodOptional; suspiciousActivityWindow: z.ZodOptional; }, "strip", z.ZodTypeAny, { triggers?: ("new_device" | "new_ip" | "new_country" | "impossible_travel" | "suspicious_activity" | "recent_password_reset")[] | undefined; riskThreshold?: number | undefined; riskWeights?: Record | undefined; riskLevels?: { low?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; medium?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; high?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; } | undefined; blockedSignIn?: { message?: string | undefined; scope?: "user" | "device" | "ip" | undefined; blockDuration?: number | undefined; errorCode?: string | undefined; } | undefined; maxTravelSpeed?: number | undefined; countryChangeThreshold?: number | undefined; suspiciousActivityWindow?: number | undefined; }, { triggers?: ("new_device" | "new_ip" | "new_country" | "impossible_travel" | "suspicious_activity" | "recent_password_reset")[] | undefined; riskThreshold?: number | undefined; riskWeights?: Record | undefined; riskLevels?: { low?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; medium?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; high?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; } | undefined; blockedSignIn?: { message?: string | undefined; scope?: "user" | "device" | "ip" | undefined; blockDuration?: number | undefined; errorCode?: string | undefined; } | undefined; maxTravelSpeed?: number | undefined; countryChangeThreshold?: number | undefined; suspiciousActivityWindow?: number | undefined; }>>; }, "strip", z.ZodTypeAny, { totp?: { algorithm?: "sha1" | "sha256" | "sha512" | undefined; window?: number | undefined; stepSeconds?: number | undefined; digits?: number | undefined; } | undefined; passkey?: { rpName: string; rpId: string; origin?: string | string[] | undefined; timeout?: number | undefined; userVerification?: "required" | "preferred" | "discouraged" | undefined; authenticatorAttachment?: "platform" | "cross-platform" | undefined; } | undefined; backup?: { enabled?: boolean | undefined; codeLength?: number | undefined; codeCount?: number | undefined; } | undefined; enabled?: boolean | undefined; rememberDevices?: "always" | "user_opt_in" | "never" | undefined; requireForSocialLogin?: boolean | undefined; allowedMethods?: ("totp" | "sms" | "email" | "passkey")[] | undefined; bypassMFAForTrustedDevices?: boolean | undefined; rememberDeviceDays?: number | undefined; issuer?: string | undefined; enforcement?: "OPTIONAL" | "REQUIRED" | "ADAPTIVE" | undefined; gracePeriod?: number | undefined; adaptive?: { triggers?: ("new_device" | "new_ip" | "new_country" | "impossible_travel" | "suspicious_activity" | "recent_password_reset")[] | undefined; riskThreshold?: number | undefined; riskWeights?: Record | undefined; riskLevels?: { low?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; medium?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; high?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; } | undefined; blockedSignIn?: { message?: string | undefined; scope?: "user" | "device" | "ip" | undefined; blockDuration?: number | undefined; errorCode?: string | undefined; } | undefined; maxTravelSpeed?: number | undefined; countryChangeThreshold?: number | undefined; suspiciousActivityWindow?: number | undefined; } | undefined; }, { totp?: { algorithm?: "sha1" | "sha256" | "sha512" | undefined; window?: number | undefined; stepSeconds?: number | undefined; digits?: number | undefined; } | undefined; passkey?: { rpName: string; rpId: string; origin?: string | string[] | undefined; timeout?: number | undefined; userVerification?: "required" | "preferred" | "discouraged" | undefined; authenticatorAttachment?: "platform" | "cross-platform" | undefined; } | undefined; backup?: { enabled?: boolean | undefined; codeLength?: number | undefined; codeCount?: number | undefined; } | undefined; enabled?: boolean | undefined; rememberDevices?: "always" | "user_opt_in" | "never" | undefined; requireForSocialLogin?: boolean | undefined; allowedMethods?: ("totp" | "sms" | "email" | "passkey")[] | undefined; bypassMFAForTrustedDevices?: boolean | undefined; rememberDeviceDays?: number | undefined; issuer?: string | undefined; enforcement?: "OPTIONAL" | "REQUIRED" | "ADAPTIVE" | undefined; gracePeriod?: number | undefined; adaptive?: { triggers?: ("new_device" | "new_ip" | "new_country" | "impossible_travel" | "suspicious_activity" | "recent_password_reset")[] | undefined; riskThreshold?: number | undefined; riskWeights?: Record | undefined; riskLevels?: { low?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; medium?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; high?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; } | undefined; blockedSignIn?: { message?: string | undefined; scope?: "user" | "device" | "ip" | undefined; blockDuration?: number | undefined; errorCode?: string | undefined; } | undefined; maxTravelSpeed?: number | undefined; countryChangeThreshold?: number | undefined; suspiciousActivityWindow?: number | undefined; } | undefined; }>>; logger: z.ZodOptional; tokenDelivery: z.ZodOptional>; cookieNamePrefix: z.ZodOptional; cookieOptions: z.ZodOptional; sameSite: z.ZodOptional>; path: z.ZodOptional; domain: z.ZodOptional; priority: z.ZodOptional>; }, "strip", z.ZodTypeAny, { secure?: boolean | undefined; sameSite?: "strict" | "lax" | "none" | undefined; domain?: string | undefined; path?: string | undefined; priority?: "low" | "medium" | "high" | undefined; }, { secure?: boolean | undefined; sameSite?: "strict" | "lax" | "none" | undefined; domain?: string | undefined; path?: string | undefined; priority?: "low" | "medium" | "high" | undefined; }>>; hybridPolicy: z.ZodOptional>; nativeOrigins: z.ZodOptional>; cookieRefreshExpiresIn: z.ZodOptional>; jsonRefreshExpiresIn: z.ZodOptional>; }, "strip", z.ZodTypeAny, { nativeOrigins?: string[] | undefined; webOrigins?: string[] | undefined; cookieRefreshExpiresIn?: string | number | undefined; jsonRefreshExpiresIn?: string | number | undefined; }, { nativeOrigins?: string[] | undefined; webOrigins?: string[] | undefined; cookieRefreshExpiresIn?: string | number | undefined; jsonRefreshExpiresIn?: string | number | undefined; }>>; }, "strip", z.ZodTypeAny, { method?: "json" | "cookies" | "hybrid" | undefined; cookieOptions?: { secure?: boolean | undefined; sameSite?: "strict" | "lax" | "none" | undefined; domain?: string | undefined; path?: string | undefined; priority?: "low" | "medium" | "high" | undefined; } | undefined; cookieNamePrefix?: string | undefined; hybridPolicy?: { nativeOrigins?: string[] | undefined; webOrigins?: string[] | undefined; cookieRefreshExpiresIn?: string | number | undefined; jsonRefreshExpiresIn?: string | number | undefined; } | undefined; }, { method?: "json" | "cookies" | "hybrid" | undefined; cookieOptions?: { secure?: boolean | undefined; sameSite?: "strict" | "lax" | "none" | undefined; domain?: string | undefined; path?: string | undefined; priority?: "low" | "medium" | "high" | undefined; } | undefined; cookieNamePrefix?: string | undefined; hybridPolicy?: { nativeOrigins?: string[] | undefined; webOrigins?: string[] | undefined; cookieRefreshExpiresIn?: string | number | undefined; jsonRefreshExpiresIn?: string | number | undefined; } | undefined; }>>; challenge: z.ZodOptional; }, "strip", z.ZodTypeAny, { maxAttempts?: number | undefined; }, { maxAttempts?: number | undefined; }>>; geoLocation: z.ZodOptional; skipDownloads: z.ZodOptional; licenseKey: z.ZodOptional; accountId: z.ZodOptional; autoDownloadOnStartup: z.ZodOptional; editions: z.ZodOptional>; }, "strip", z.ZodTypeAny, { dbPath?: string | undefined; skipDownloads?: boolean | undefined; licenseKey?: string | undefined; accountId?: number | undefined; autoDownloadOnStartup?: boolean | undefined; editions?: string[] | undefined; }, { dbPath?: string | undefined; skipDownloads?: boolean | undefined; licenseKey?: string | undefined; accountId?: number | undefined; autoDownloadOnStartup?: boolean | undefined; editions?: string[] | undefined; }>>; }, "strip", z.ZodTypeAny, { maxMind?: { dbPath?: string | undefined; skipDownloads?: boolean | undefined; licenseKey?: string | undefined; accountId?: number | undefined; autoDownloadOnStartup?: boolean | undefined; editions?: string[] | undefined; } | undefined; }, { maxMind?: { dbPath?: string | undefined; skipDownloads?: boolean | undefined; licenseKey?: string | undefined; accountId?: number | undefined; autoDownloadOnStartup?: boolean | undefined; editions?: string[] | undefined; } | undefined; }>>; apiKeys: z.ZodOptional; allowUserCreation: z.ZodOptional; header: z.ZodOptional; maxKeysPerUser: z.ZodOptional; maxExpiryDays: z.ZodOptional; allowIndefinite: z.ZodOptional; trackUsageIp: z.ZodOptional; lastUsedThrottleSeconds: z.ZodOptional; globalAllowlist: z.ZodOptional; ipRestrictions: z.ZodOptional; requireForNewKeys: z.ZodOptional; maxIpsPerKey: z.ZodOptional; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; maxIpsPerKey?: number | undefined; requireForNewKeys?: boolean | undefined; }, { enabled?: boolean | undefined; maxIpsPerKey?: number | undefined; requireForNewKeys?: boolean | undefined; }>>; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; maxKeysPerUser?: number | undefined; maxExpiryDays?: number | undefined; allowUserCreation?: boolean | undefined; header?: string | undefined; allowIndefinite?: boolean | undefined; trackUsageIp?: boolean | undefined; lastUsedThrottleSeconds?: number | undefined; globalAllowlist?: boolean | undefined; ipRestrictions?: { enabled?: boolean | undefined; maxIpsPerKey?: number | undefined; requireForNewKeys?: boolean | undefined; } | undefined; }, { enabled?: boolean | undefined; maxKeysPerUser?: number | undefined; maxExpiryDays?: number | undefined; allowUserCreation?: boolean | undefined; header?: string | undefined; allowIndefinite?: boolean | undefined; trackUsageIp?: boolean | undefined; lastUsedThrottleSeconds?: number | undefined; globalAllowlist?: boolean | undefined; ipRestrictions?: { enabled?: boolean | undefined; maxIpsPerKey?: number | undefined; requireForNewKeys?: boolean | undefined; } | undefined; }>>; }, "strip", z.ZodTypeAny, { jwt: { accessToken: { expiresIn: string | number; secret?: string | undefined; publicKey?: string | undefined; privateKey?: string | undefined; }; refreshToken: { expiresIn: string | number; secret: string; rotation?: boolean | undefined; reuseDetection?: boolean | undefined; }; algorithm?: "HS256" | "HS384" | "HS512" | "RS256" | "RS384" | "RS512" | undefined; issuer?: string | undefined; audience?: string | string[] | undefined; }; sms?: { templates?: { engine?: any; customTemplates?: Record | undefined; globalVariables?: Record | undefined; } | undefined; } | undefined; email?: { globalVariables?: z.objectOutputType<{ appName: z.ZodOptional; companyName: z.ZodOptional; companyAddress: z.ZodOptional; brandColor: z.ZodOptional; logoUrl: z.ZodOptional; dashboardUrl: z.ZodOptional; supportEmail: z.ZodOptional; footerDisclaimer: z.ZodOptional; }, z.ZodUnknown, "strip"> | undefined; templates?: { engine?: any; customTemplates?: Record | undefined; } | undefined; } | undefined; mfa?: { totp?: { algorithm?: "sha1" | "sha256" | "sha512" | undefined; window?: number | undefined; stepSeconds?: number | undefined; digits?: number | undefined; } | undefined; passkey?: { rpName: string; rpId: string; origin?: string | string[] | undefined; timeout?: number | undefined; userVerification?: "required" | "preferred" | "discouraged" | undefined; authenticatorAttachment?: "platform" | "cross-platform" | undefined; } | undefined; backup?: { enabled?: boolean | undefined; codeLength?: number | undefined; codeCount?: number | undefined; } | undefined; enabled?: boolean | undefined; rememberDevices?: "always" | "user_opt_in" | "never" | undefined; requireForSocialLogin?: boolean | undefined; allowedMethods?: ("totp" | "sms" | "email" | "passkey")[] | undefined; bypassMFAForTrustedDevices?: boolean | undefined; rememberDeviceDays?: number | undefined; issuer?: string | undefined; enforcement?: "OPTIONAL" | "REQUIRED" | "ADAPTIVE" | undefined; gracePeriod?: number | undefined; adaptive?: { triggers?: ("new_device" | "new_ip" | "new_country" | "impossible_travel" | "suspicious_activity" | "recent_password_reset")[] | undefined; riskThreshold?: number | undefined; riskWeights?: Record | undefined; riskLevels?: { low?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; medium?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; high?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; } | undefined; blockedSignIn?: { message?: string | undefined; scope?: "user" | "device" | "ip" | undefined; blockDuration?: number | undefined; errorCode?: string | undefined; } | undefined; maxTravelSpeed?: number | undefined; countryChangeThreshold?: number | undefined; suspiciousActivityWindow?: number | undefined; } | undefined; } | undefined; phone?: {} | undefined; password?: { passwordReset?: { expiresIn?: number | undefined; maxAttempts?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; codeLength?: number | undefined; } | undefined; minLength?: number | undefined; maxLength?: number | undefined; requireUppercase?: boolean | undefined; requireLowercase?: boolean | undefined; requireNumbers?: boolean | undefined; requireSpecialChars?: boolean | undefined; specialChars?: string | undefined; preventCommon?: boolean | undefined; preventUserInfo?: boolean | undefined; historyCount?: number | undefined; expiryDays?: number | undefined; } | undefined; session?: { maxConcurrent?: number | undefined; disallowMultipleSessions?: boolean | undefined; maxLifetime?: string | number | undefined; } | undefined; login?: { identifierType?: "email" | "phone" | "username" | "email_or_username" | undefined; } | undefined; social?: { google?: { clientSecret?: string | undefined; enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; } | undefined; apple?: { enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; teamId?: string | undefined; keyId?: string | undefined; privateKeyPem?: string | undefined; } | undefined; facebook?: { clientSecret?: string | undefined; enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; } | undefined; redirect?: { frontendBaseUrl?: string | undefined; allowAbsoluteReturnTo?: boolean | undefined; allowedReturnToOrigins?: string[] | undefined; } | undefined; } | undefined; signup?: { enabled?: boolean | undefined; emailVerification?: { expiresIn?: number | undefined; baseUrl?: string | undefined; maxAttempts?: number | undefined; resendDelay?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; maxAttemptsPerUser?: number | undefined; maxAttemptsPerIP?: number | undefined; attemptWindow?: number | undefined; } | undefined; verificationMethod?: "none" | "email" | "phone" | "both" | undefined; phoneVerification?: { expiresIn?: number | undefined; baseUrl?: string | undefined; maxAttempts?: number | undefined; resendDelay?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; maxAttemptsPerUser?: number | undefined; maxAttemptsPerIP?: number | undefined; attemptWindow?: number | undefined; codeLength?: number | undefined; } | undefined; allowDuplicatePhones?: boolean | undefined; } | undefined; security?: { csrf?: { cookieName?: string | undefined; headerName?: string | undefined; tokenLength?: number | undefined; excludedPaths?: string[] | undefined; cookieOptions?: { priority: "low" | "medium" | "high"; secure?: boolean | undefined; sameSite?: "strict" | "lax" | "none" | undefined; domain?: string | undefined; path?: string | undefined; } | undefined; } | undefined; } | undefined; tokenDelivery?: { method?: "json" | "cookies" | "hybrid" | undefined; cookieOptions?: { secure?: boolean | undefined; sameSite?: "strict" | "lax" | "none" | undefined; domain?: string | undefined; path?: string | undefined; priority?: "low" | "medium" | "high" | undefined; } | undefined; cookieNamePrefix?: string | undefined; hybridPolicy?: { nativeOrigins?: string[] | undefined; webOrigins?: string[] | undefined; cookieRefreshExpiresIn?: string | number | undefined; jsonRefreshExpiresIn?: string | number | undefined; } | undefined; } | undefined; tablePrefix?: string | undefined; lockout?: { enabled?: boolean | undefined; duration?: number | undefined; maxAttempts?: number | undefined; attemptWindow?: number | undefined; resetOnSuccess?: boolean | undefined; } | undefined; auditLogs?: { enabled?: boolean | undefined; fireAndForget?: boolean | undefined; } | undefined; telemetry?: { enabled?: boolean | undefined; endpoint?: string | undefined; } | undefined; emailProvider?: any; smsProvider?: any; storageAdapter?: any; logger?: any; apiKeys?: { enabled?: boolean | undefined; maxKeysPerUser?: number | undefined; maxExpiryDays?: number | undefined; allowUserCreation?: boolean | undefined; header?: string | undefined; allowIndefinite?: boolean | undefined; trackUsageIp?: boolean | undefined; lastUsedThrottleSeconds?: number | undefined; globalAllowlist?: boolean | undefined; ipRestrictions?: { enabled?: boolean | undefined; maxIpsPerKey?: number | undefined; requireForNewKeys?: boolean | undefined; } | undefined; } | undefined; emailNotifications?: { enabled?: boolean | undefined; suppress?: { welcome?: boolean | undefined; accountLockout?: boolean | undefined; passwordChanged?: boolean | undefined; mfaDeviceRemoved?: boolean | undefined; mfaMethodAdded?: boolean | undefined; accountDisabled?: boolean | undefined; accountEnabled?: boolean | undefined; emailChangedOld?: boolean | undefined; emailChangedNew?: boolean | undefined; sessionsRevoked?: boolean | undefined; mfaFirstEnabled?: boolean | undefined; adaptiveMfaRiskDetected?: boolean | undefined; } | undefined; } | undefined; challenge?: { maxAttempts?: number | undefined; } | undefined; geoLocation?: { maxMind?: { dbPath?: string | undefined; skipDownloads?: boolean | undefined; licenseKey?: string | undefined; accountId?: number | undefined; autoDownloadOnStartup?: boolean | undefined; editions?: string[] | undefined; } | undefined; } | undefined; }, { jwt: { accessToken: { expiresIn: string | number; secret?: string | undefined; publicKey?: string | undefined; privateKey?: string | undefined; }; refreshToken: { expiresIn: string | number; secret: string; rotation?: boolean | undefined; reuseDetection?: boolean | undefined; }; algorithm?: "HS256" | "HS384" | "HS512" | "RS256" | "RS384" | "RS512" | undefined; issuer?: string | undefined; audience?: string | string[] | undefined; }; sms?: { templates?: { engine?: any; customTemplates?: Record | undefined; globalVariables?: Record | undefined; } | undefined; } | undefined; email?: { globalVariables?: z.objectInputType<{ appName: z.ZodOptional; companyName: z.ZodOptional; companyAddress: z.ZodOptional; brandColor: z.ZodOptional; logoUrl: z.ZodOptional; dashboardUrl: z.ZodOptional; supportEmail: z.ZodOptional; footerDisclaimer: z.ZodOptional; }, z.ZodUnknown, "strip"> | undefined; templates?: { engine?: any; customTemplates?: Record | undefined; } | undefined; } | undefined; mfa?: { totp?: { algorithm?: "sha1" | "sha256" | "sha512" | undefined; window?: number | undefined; stepSeconds?: number | undefined; digits?: number | undefined; } | undefined; passkey?: { rpName: string; rpId: string; origin?: string | string[] | undefined; timeout?: number | undefined; userVerification?: "required" | "preferred" | "discouraged" | undefined; authenticatorAttachment?: "platform" | "cross-platform" | undefined; } | undefined; backup?: { enabled?: boolean | undefined; codeLength?: number | undefined; codeCount?: number | undefined; } | undefined; enabled?: boolean | undefined; rememberDevices?: "always" | "user_opt_in" | "never" | undefined; requireForSocialLogin?: boolean | undefined; allowedMethods?: ("totp" | "sms" | "email" | "passkey")[] | undefined; bypassMFAForTrustedDevices?: boolean | undefined; rememberDeviceDays?: number | undefined; issuer?: string | undefined; enforcement?: "OPTIONAL" | "REQUIRED" | "ADAPTIVE" | undefined; gracePeriod?: number | undefined; adaptive?: { triggers?: ("new_device" | "new_ip" | "new_country" | "impossible_travel" | "suspicious_activity" | "recent_password_reset")[] | undefined; riskThreshold?: number | undefined; riskWeights?: Record | undefined; riskLevels?: { low?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; medium?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; high?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; } | undefined; blockedSignIn?: { message?: string | undefined; scope?: "user" | "device" | "ip" | undefined; blockDuration?: number | undefined; errorCode?: string | undefined; } | undefined; maxTravelSpeed?: number | undefined; countryChangeThreshold?: number | undefined; suspiciousActivityWindow?: number | undefined; } | undefined; } | undefined; phone?: {} | undefined; password?: { passwordReset?: { expiresIn?: number | undefined; maxAttempts?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; codeLength?: number | undefined; } | undefined; minLength?: number | undefined; maxLength?: number | undefined; requireUppercase?: boolean | undefined; requireLowercase?: boolean | undefined; requireNumbers?: boolean | undefined; requireSpecialChars?: boolean | undefined; specialChars?: string | undefined; preventCommon?: boolean | undefined; preventUserInfo?: boolean | undefined; historyCount?: number | undefined; expiryDays?: number | undefined; } | undefined; session?: { maxConcurrent?: number | undefined; disallowMultipleSessions?: boolean | undefined; maxLifetime?: string | number | undefined; } | undefined; login?: { identifierType?: "email" | "phone" | "username" | "email_or_username" | undefined; } | undefined; social?: { google?: { clientSecret?: string | undefined; enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; } | undefined; apple?: { enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; teamId?: string | undefined; keyId?: string | undefined; privateKeyPem?: string | undefined; } | undefined; facebook?: { clientSecret?: string | undefined; enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; } | undefined; redirect?: { frontendBaseUrl?: string | undefined; allowAbsoluteReturnTo?: boolean | undefined; allowedReturnToOrigins?: string[] | undefined; } | undefined; } | undefined; signup?: { enabled?: boolean | undefined; emailVerification?: { expiresIn?: number | undefined; baseUrl?: string | undefined; maxAttempts?: number | undefined; resendDelay?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; maxAttemptsPerUser?: number | undefined; maxAttemptsPerIP?: number | undefined; attemptWindow?: number | undefined; } | undefined; verificationMethod?: "none" | "email" | "phone" | "both" | undefined; phoneVerification?: { expiresIn?: number | undefined; baseUrl?: string | undefined; maxAttempts?: number | undefined; resendDelay?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; maxAttemptsPerUser?: number | undefined; maxAttemptsPerIP?: number | undefined; attemptWindow?: number | undefined; codeLength?: number | undefined; } | undefined; allowDuplicatePhones?: boolean | undefined; } | undefined; security?: { csrf?: { cookieName?: string | undefined; headerName?: string | undefined; tokenLength?: number | undefined; excludedPaths?: string[] | undefined; cookieOptions?: { secure?: boolean | undefined; sameSite?: "strict" | "lax" | "none" | undefined; domain?: string | undefined; path?: string | undefined; priority?: "low" | "medium" | "high" | undefined; } | undefined; } | undefined; } | undefined; tokenDelivery?: { method?: "json" | "cookies" | "hybrid" | undefined; cookieOptions?: { secure?: boolean | undefined; sameSite?: "strict" | "lax" | "none" | undefined; domain?: string | undefined; path?: string | undefined; priority?: "low" | "medium" | "high" | undefined; } | undefined; cookieNamePrefix?: string | undefined; hybridPolicy?: { nativeOrigins?: string[] | undefined; webOrigins?: string[] | undefined; cookieRefreshExpiresIn?: string | number | undefined; jsonRefreshExpiresIn?: string | number | undefined; } | undefined; } | undefined; tablePrefix?: string | undefined; lockout?: { enabled?: boolean | undefined; duration?: number | undefined; maxAttempts?: number | undefined; attemptWindow?: number | undefined; resetOnSuccess?: boolean | undefined; } | undefined; auditLogs?: { enabled?: boolean | undefined; fireAndForget?: boolean | undefined; } | undefined; telemetry?: { enabled?: boolean | undefined; endpoint?: string | undefined; } | undefined; emailProvider?: any; smsProvider?: any; storageAdapter?: any; logger?: any; apiKeys?: { enabled?: boolean | undefined; maxKeysPerUser?: number | undefined; maxExpiryDays?: number | undefined; allowUserCreation?: boolean | undefined; header?: string | undefined; allowIndefinite?: boolean | undefined; trackUsageIp?: boolean | undefined; lastUsedThrottleSeconds?: number | undefined; globalAllowlist?: boolean | undefined; ipRestrictions?: { enabled?: boolean | undefined; maxIpsPerKey?: number | undefined; requireForNewKeys?: boolean | undefined; } | undefined; } | undefined; emailNotifications?: { enabled?: boolean | undefined; suppress?: { welcome?: boolean | undefined; accountLockout?: boolean | undefined; passwordChanged?: boolean | undefined; mfaDeviceRemoved?: boolean | undefined; mfaMethodAdded?: boolean | undefined; accountDisabled?: boolean | undefined; accountEnabled?: boolean | undefined; emailChangedOld?: boolean | undefined; emailChangedNew?: boolean | undefined; sessionsRevoked?: boolean | undefined; mfaFirstEnabled?: boolean | undefined; adaptiveMfaRiskDetected?: boolean | undefined; } | undefined; } | undefined; challenge?: { maxAttempts?: number | undefined; } | undefined; geoLocation?: { maxMind?: { dbPath?: string | undefined; skipDownloads?: boolean | undefined; licenseKey?: string | undefined; accountId?: number | undefined; autoDownloadOnStartup?: boolean | undefined; editions?: string[] | undefined; } | undefined; } | undefined; }>, { jwt: { accessToken: { expiresIn: string | number; secret?: string | undefined; publicKey?: string | undefined; privateKey?: string | undefined; }; refreshToken: { expiresIn: string | number; secret: string; rotation?: boolean | undefined; reuseDetection?: boolean | undefined; }; algorithm?: "HS256" | "HS384" | "HS512" | "RS256" | "RS384" | "RS512" | undefined; issuer?: string | undefined; audience?: string | string[] | undefined; }; sms?: { templates?: { engine?: any; customTemplates?: Record | undefined; globalVariables?: Record | undefined; } | undefined; } | undefined; email?: { globalVariables?: z.objectOutputType<{ appName: z.ZodOptional; companyName: z.ZodOptional; companyAddress: z.ZodOptional; brandColor: z.ZodOptional; logoUrl: z.ZodOptional; dashboardUrl: z.ZodOptional; supportEmail: z.ZodOptional; footerDisclaimer: z.ZodOptional; }, z.ZodUnknown, "strip"> | undefined; templates?: { engine?: any; customTemplates?: Record | undefined; } | undefined; } | undefined; mfa?: { totp?: { algorithm?: "sha1" | "sha256" | "sha512" | undefined; window?: number | undefined; stepSeconds?: number | undefined; digits?: number | undefined; } | undefined; passkey?: { rpName: string; rpId: string; origin?: string | string[] | undefined; timeout?: number | undefined; userVerification?: "required" | "preferred" | "discouraged" | undefined; authenticatorAttachment?: "platform" | "cross-platform" | undefined; } | undefined; backup?: { enabled?: boolean | undefined; codeLength?: number | undefined; codeCount?: number | undefined; } | undefined; enabled?: boolean | undefined; rememberDevices?: "always" | "user_opt_in" | "never" | undefined; requireForSocialLogin?: boolean | undefined; allowedMethods?: ("totp" | "sms" | "email" | "passkey")[] | undefined; bypassMFAForTrustedDevices?: boolean | undefined; rememberDeviceDays?: number | undefined; issuer?: string | undefined; enforcement?: "OPTIONAL" | "REQUIRED" | "ADAPTIVE" | undefined; gracePeriod?: number | undefined; adaptive?: { triggers?: ("new_device" | "new_ip" | "new_country" | "impossible_travel" | "suspicious_activity" | "recent_password_reset")[] | undefined; riskThreshold?: number | undefined; riskWeights?: Record | undefined; riskLevels?: { low?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; medium?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; high?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; } | undefined; blockedSignIn?: { message?: string | undefined; scope?: "user" | "device" | "ip" | undefined; blockDuration?: number | undefined; errorCode?: string | undefined; } | undefined; maxTravelSpeed?: number | undefined; countryChangeThreshold?: number | undefined; suspiciousActivityWindow?: number | undefined; } | undefined; } | undefined; phone?: {} | undefined; password?: { passwordReset?: { expiresIn?: number | undefined; maxAttempts?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; codeLength?: number | undefined; } | undefined; minLength?: number | undefined; maxLength?: number | undefined; requireUppercase?: boolean | undefined; requireLowercase?: boolean | undefined; requireNumbers?: boolean | undefined; requireSpecialChars?: boolean | undefined; specialChars?: string | undefined; preventCommon?: boolean | undefined; preventUserInfo?: boolean | undefined; historyCount?: number | undefined; expiryDays?: number | undefined; } | undefined; session?: { maxConcurrent?: number | undefined; disallowMultipleSessions?: boolean | undefined; maxLifetime?: string | number | undefined; } | undefined; login?: { identifierType?: "email" | "phone" | "username" | "email_or_username" | undefined; } | undefined; social?: { google?: { clientSecret?: string | undefined; enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; } | undefined; apple?: { enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; teamId?: string | undefined; keyId?: string | undefined; privateKeyPem?: string | undefined; } | undefined; facebook?: { clientSecret?: string | undefined; enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; } | undefined; redirect?: { frontendBaseUrl?: string | undefined; allowAbsoluteReturnTo?: boolean | undefined; allowedReturnToOrigins?: string[] | undefined; } | undefined; } | undefined; signup?: { enabled?: boolean | undefined; emailVerification?: { expiresIn?: number | undefined; baseUrl?: string | undefined; maxAttempts?: number | undefined; resendDelay?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; maxAttemptsPerUser?: number | undefined; maxAttemptsPerIP?: number | undefined; attemptWindow?: number | undefined; } | undefined; verificationMethod?: "none" | "email" | "phone" | "both" | undefined; phoneVerification?: { expiresIn?: number | undefined; baseUrl?: string | undefined; maxAttempts?: number | undefined; resendDelay?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; maxAttemptsPerUser?: number | undefined; maxAttemptsPerIP?: number | undefined; attemptWindow?: number | undefined; codeLength?: number | undefined; } | undefined; allowDuplicatePhones?: boolean | undefined; } | undefined; security?: { csrf?: { cookieName?: string | undefined; headerName?: string | undefined; tokenLength?: number | undefined; excludedPaths?: string[] | undefined; cookieOptions?: { priority: "low" | "medium" | "high"; secure?: boolean | undefined; sameSite?: "strict" | "lax" | "none" | undefined; domain?: string | undefined; path?: string | undefined; } | undefined; } | undefined; } | undefined; tokenDelivery?: { method?: "json" | "cookies" | "hybrid" | undefined; cookieOptions?: { secure?: boolean | undefined; sameSite?: "strict" | "lax" | "none" | undefined; domain?: string | undefined; path?: string | undefined; priority?: "low" | "medium" | "high" | undefined; } | undefined; cookieNamePrefix?: string | undefined; hybridPolicy?: { nativeOrigins?: string[] | undefined; webOrigins?: string[] | undefined; cookieRefreshExpiresIn?: string | number | undefined; jsonRefreshExpiresIn?: string | number | undefined; } | undefined; } | undefined; tablePrefix?: string | undefined; lockout?: { enabled?: boolean | undefined; duration?: number | undefined; maxAttempts?: number | undefined; attemptWindow?: number | undefined; resetOnSuccess?: boolean | undefined; } | undefined; auditLogs?: { enabled?: boolean | undefined; fireAndForget?: boolean | undefined; } | undefined; telemetry?: { enabled?: boolean | undefined; endpoint?: string | undefined; } | undefined; emailProvider?: any; smsProvider?: any; storageAdapter?: any; logger?: any; apiKeys?: { enabled?: boolean | undefined; maxKeysPerUser?: number | undefined; maxExpiryDays?: number | undefined; allowUserCreation?: boolean | undefined; header?: string | undefined; allowIndefinite?: boolean | undefined; trackUsageIp?: boolean | undefined; lastUsedThrottleSeconds?: number | undefined; globalAllowlist?: boolean | undefined; ipRestrictions?: { enabled?: boolean | undefined; maxIpsPerKey?: number | undefined; requireForNewKeys?: boolean | undefined; } | undefined; } | undefined; emailNotifications?: { enabled?: boolean | undefined; suppress?: { welcome?: boolean | undefined; accountLockout?: boolean | undefined; passwordChanged?: boolean | undefined; mfaDeviceRemoved?: boolean | undefined; mfaMethodAdded?: boolean | undefined; accountDisabled?: boolean | undefined; accountEnabled?: boolean | undefined; emailChangedOld?: boolean | undefined; emailChangedNew?: boolean | undefined; sessionsRevoked?: boolean | undefined; mfaFirstEnabled?: boolean | undefined; adaptiveMfaRiskDetected?: boolean | undefined; } | undefined; } | undefined; challenge?: { maxAttempts?: number | undefined; } | undefined; geoLocation?: { maxMind?: { dbPath?: string | undefined; skipDownloads?: boolean | undefined; licenseKey?: string | undefined; accountId?: number | undefined; autoDownloadOnStartup?: boolean | undefined; editions?: string[] | undefined; } | undefined; } | undefined; }, { jwt: { accessToken: { expiresIn: string | number; secret?: string | undefined; publicKey?: string | undefined; privateKey?: string | undefined; }; refreshToken: { expiresIn: string | number; secret: string; rotation?: boolean | undefined; reuseDetection?: boolean | undefined; }; algorithm?: "HS256" | "HS384" | "HS512" | "RS256" | "RS384" | "RS512" | undefined; issuer?: string | undefined; audience?: string | string[] | undefined; }; sms?: { templates?: { engine?: any; customTemplates?: Record | undefined; globalVariables?: Record | undefined; } | undefined; } | undefined; email?: { globalVariables?: z.objectInputType<{ appName: z.ZodOptional; companyName: z.ZodOptional; companyAddress: z.ZodOptional; brandColor: z.ZodOptional; logoUrl: z.ZodOptional; dashboardUrl: z.ZodOptional; supportEmail: z.ZodOptional; footerDisclaimer: z.ZodOptional; }, z.ZodUnknown, "strip"> | undefined; templates?: { engine?: any; customTemplates?: Record | undefined; } | undefined; } | undefined; mfa?: { totp?: { algorithm?: "sha1" | "sha256" | "sha512" | undefined; window?: number | undefined; stepSeconds?: number | undefined; digits?: number | undefined; } | undefined; passkey?: { rpName: string; rpId: string; origin?: string | string[] | undefined; timeout?: number | undefined; userVerification?: "required" | "preferred" | "discouraged" | undefined; authenticatorAttachment?: "platform" | "cross-platform" | undefined; } | undefined; backup?: { enabled?: boolean | undefined; codeLength?: number | undefined; codeCount?: number | undefined; } | undefined; enabled?: boolean | undefined; rememberDevices?: "always" | "user_opt_in" | "never" | undefined; requireForSocialLogin?: boolean | undefined; allowedMethods?: ("totp" | "sms" | "email" | "passkey")[] | undefined; bypassMFAForTrustedDevices?: boolean | undefined; rememberDeviceDays?: number | undefined; issuer?: string | undefined; enforcement?: "OPTIONAL" | "REQUIRED" | "ADAPTIVE" | undefined; gracePeriod?: number | undefined; adaptive?: { triggers?: ("new_device" | "new_ip" | "new_country" | "impossible_travel" | "suspicious_activity" | "recent_password_reset")[] | undefined; riskThreshold?: number | undefined; riskWeights?: Record | undefined; riskLevels?: { low?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; medium?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; high?: { maxScore: number; action?: "allow" | "require_mfa" | "block_signin" | undefined; notifyUser?: boolean | undefined; } | undefined; } | undefined; blockedSignIn?: { message?: string | undefined; scope?: "user" | "device" | "ip" | undefined; blockDuration?: number | undefined; errorCode?: string | undefined; } | undefined; maxTravelSpeed?: number | undefined; countryChangeThreshold?: number | undefined; suspiciousActivityWindow?: number | undefined; } | undefined; } | undefined; phone?: {} | undefined; password?: { passwordReset?: { expiresIn?: number | undefined; maxAttempts?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; codeLength?: number | undefined; } | undefined; minLength?: number | undefined; maxLength?: number | undefined; requireUppercase?: boolean | undefined; requireLowercase?: boolean | undefined; requireNumbers?: boolean | undefined; requireSpecialChars?: boolean | undefined; specialChars?: string | undefined; preventCommon?: boolean | undefined; preventUserInfo?: boolean | undefined; historyCount?: number | undefined; expiryDays?: number | undefined; } | undefined; session?: { maxConcurrent?: number | undefined; disallowMultipleSessions?: boolean | undefined; maxLifetime?: string | number | undefined; } | undefined; login?: { identifierType?: "email" | "phone" | "username" | "email_or_username" | undefined; } | undefined; social?: { google?: { clientSecret?: string | undefined; enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; } | undefined; apple?: { enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; teamId?: string | undefined; keyId?: string | undefined; privateKeyPem?: string | undefined; } | undefined; facebook?: { clientSecret?: string | undefined; enabled?: boolean | undefined; clientId?: string | string[] | undefined; callbackUrl?: string | undefined; scopes?: string[] | undefined; autoLink?: boolean | undefined; allowSignup?: boolean | undefined; } | undefined; redirect?: { frontendBaseUrl?: string | undefined; allowAbsoluteReturnTo?: boolean | undefined; allowedReturnToOrigins?: string[] | undefined; } | undefined; } | undefined; signup?: { enabled?: boolean | undefined; emailVerification?: { expiresIn?: number | undefined; baseUrl?: string | undefined; maxAttempts?: number | undefined; resendDelay?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; maxAttemptsPerUser?: number | undefined; maxAttemptsPerIP?: number | undefined; attemptWindow?: number | undefined; } | undefined; verificationMethod?: "none" | "email" | "phone" | "both" | undefined; phoneVerification?: { expiresIn?: number | undefined; baseUrl?: string | undefined; maxAttempts?: number | undefined; resendDelay?: number | undefined; rateLimitMax?: number | undefined; rateLimitWindow?: number | undefined; maxAttemptsPerUser?: number | undefined; maxAttemptsPerIP?: number | undefined; attemptWindow?: number | undefined; codeLength?: number | undefined; } | undefined; allowDuplicatePhones?: boolean | undefined; } | undefined; security?: { csrf?: { cookieName?: string | undefined; headerName?: string | undefined; tokenLength?: number | undefined; excludedPaths?: string[] | undefined; cookieOptions?: { secure?: boolean | undefined; sameSite?: "strict" | "lax" | "none" | undefined; domain?: string | undefined; path?: string | undefined; priority?: "low" | "medium" | "high" | undefined; } | undefined; } | undefined; } | undefined; tokenDelivery?: { method?: "json" | "cookies" | "hybrid" | undefined; cookieOptions?: { secure?: boolean | undefined; sameSite?: "strict" | "lax" | "none" | undefined; domain?: string | undefined; path?: string | undefined; priority?: "low" | "medium" | "high" | undefined; } | undefined; cookieNamePrefix?: string | undefined; hybridPolicy?: { nativeOrigins?: string[] | undefined; webOrigins?: string[] | undefined; cookieRefreshExpiresIn?: string | number | undefined; jsonRefreshExpiresIn?: string | number | undefined; } | undefined; } | undefined; tablePrefix?: string | undefined; lockout?: { enabled?: boolean | undefined; duration?: number | undefined; maxAttempts?: number | undefined; attemptWindow?: number | undefined; resetOnSuccess?: boolean | undefined; } | undefined; auditLogs?: { enabled?: boolean | undefined; fireAndForget?: boolean | undefined; } | undefined; telemetry?: { enabled?: boolean | undefined; endpoint?: string | undefined; } | undefined; emailProvider?: any; smsProvider?: any; storageAdapter?: any; logger?: any; apiKeys?: { enabled?: boolean | undefined; maxKeysPerUser?: number | undefined; maxExpiryDays?: number | undefined; allowUserCreation?: boolean | undefined; header?: string | undefined; allowIndefinite?: boolean | undefined; trackUsageIp?: boolean | undefined; lastUsedThrottleSeconds?: number | undefined; globalAllowlist?: boolean | undefined; ipRestrictions?: { enabled?: boolean | undefined; maxIpsPerKey?: number | undefined; requireForNewKeys?: boolean | undefined; } | undefined; } | undefined; emailNotifications?: { enabled?: boolean | undefined; suppress?: { welcome?: boolean | undefined; accountLockout?: boolean | undefined; passwordChanged?: boolean | undefined; mfaDeviceRemoved?: boolean | undefined; mfaMethodAdded?: boolean | undefined; accountDisabled?: boolean | undefined; accountEnabled?: boolean | undefined; emailChangedOld?: boolean | undefined; emailChangedNew?: boolean | undefined; sessionsRevoked?: boolean | undefined; mfaFirstEnabled?: boolean | undefined; adaptiveMfaRiskDetected?: boolean | undefined; } | undefined; } | undefined; challenge?: { maxAttempts?: number | undefined; } | undefined; geoLocation?: { maxMind?: { dbPath?: string | undefined; skipDownloads?: boolean | undefined; licenseKey?: string | undefined; accountId?: number | undefined; autoDownloadOnStartup?: boolean | undefined; editions?: string[] | undefined; } | undefined; } | undefined; }>; /** * Type inference from Zod schema * This provides type safety while Zod provides runtime validation */ export type NAuthConfig = z.infer; //# sourceMappingURL=auth-config.schema.d.ts.map