import { z } from 'zod'; /** * The key for MFA-related data in user's logto_config */ export declare const userMfaDataKey = "mfa"; export declare const userPasskeySignInDataKey = "passkey_sign_in"; /** * Schema for MFA-related data stored in user's logto_config */ export declare const userMfaDataGuard: z.ZodObject<{ /** * Whether the user has actively enabled/bound MFA factors * * Note: The `undefined` value indicates that a new user has never made a choice on enabling the optional MFA; or an * existing user data was created before the introduction of this field, so the MFA enabled state is unknown. We need * to check extra conditions to determine it when the user submits the experience interaction. * @see {@link @logto/core/packages/core/src/routes/experience/classes/mfa.ts#assertOptionalMfaEnablement} */ enabled: z.ZodOptional; /** * Whether the user has skipped MFA binding flow */ skipped: z.ZodOptional; /** * Whether the user has skipped optional additional MFA binding suggestion */ additionalBindingSuggestionSkipped: z.ZodOptional; /** * Whether the user has skipped MFA verification on sign-in * * Users can manually disable MFA verification requirement for sign-in, * but if the MFA policy is set to mandatory, this setting will be ignored. */ skipMfaOnSignIn: z.ZodOptional; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; skipped?: boolean | undefined; additionalBindingSuggestionSkipped?: boolean | undefined; skipMfaOnSignIn?: boolean | undefined; }, { enabled?: boolean | undefined; skipped?: boolean | undefined; additionalBindingSuggestionSkipped?: boolean | undefined; skipMfaOnSignIn?: boolean | undefined; }>; export type UserMfaData = z.infer; /** * Schema for passkey sign-in related data stored in user's logto_config */ export declare const userPasskeySignInDataGuard: z.ZodObject<{ /** * Whether the user has skipped binding passkey for sign-in persistently */ skipped: z.ZodOptional; }, "strip", z.ZodTypeAny, { skipped?: boolean | undefined; }, { skipped?: boolean | undefined; }>; export type UserPasskeySignInData = z.infer; /** * Schema for user's logto_config field */ export declare const userLogtoConfigGuard: z.ZodObject<{ mfa: z.ZodOptional; /** * Whether the user has skipped MFA binding flow */ skipped: z.ZodOptional; /** * Whether the user has skipped optional additional MFA binding suggestion */ additionalBindingSuggestionSkipped: z.ZodOptional; /** * Whether the user has skipped MFA verification on sign-in * * Users can manually disable MFA verification requirement for sign-in, * but if the MFA policy is set to mandatory, this setting will be ignored. */ skipMfaOnSignIn: z.ZodOptional; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; skipped?: boolean | undefined; additionalBindingSuggestionSkipped?: boolean | undefined; skipMfaOnSignIn?: boolean | undefined; }, { enabled?: boolean | undefined; skipped?: boolean | undefined; additionalBindingSuggestionSkipped?: boolean | undefined; skipMfaOnSignIn?: boolean | undefined; }>>; passkey_sign_in: z.ZodOptional; }, "strip", z.ZodTypeAny, { skipped?: boolean | undefined; }, { skipped?: boolean | undefined; }>>; }, "strip", z.ZodTypeAny, { mfa?: { enabled?: boolean | undefined; skipped?: boolean | undefined; additionalBindingSuggestionSkipped?: boolean | undefined; skipMfaOnSignIn?: boolean | undefined; } | undefined; passkey_sign_in?: { skipped?: boolean | undefined; } | undefined; }, { mfa?: { enabled?: boolean | undefined; skipped?: boolean | undefined; additionalBindingSuggestionSkipped?: boolean | undefined; skipMfaOnSignIn?: boolean | undefined; } | undefined; passkey_sign_in?: { skipped?: boolean | undefined; } | undefined; }>; export type UserLogtoConfig = z.infer;