import { z } from 'zod'; import { MfaFactor } from './sign-in-experience.js'; export type UserProfile = Partial<{ familyName: string; givenName: string; middleName: string; nickname: string; preferredUsername: string; profile: string; website: string; gender: string; birthdate: string; zoneinfo: string; locale: string; address: Partial<{ formatted: string; streetAddress: string; locality: string; region: string; postalCode: string; country: string; }>; }>; export declare const addressGuard: z.ZodObject<{ formatted: z.ZodOptional; streetAddress: z.ZodOptional; locality: z.ZodOptional; region: z.ZodOptional; postalCode: z.ZodOptional; country: z.ZodOptional; }, "strip", z.ZodTypeAny, { formatted?: string | undefined; streetAddress?: string | undefined; locality?: string | undefined; region?: string | undefined; postalCode?: string | undefined; country?: string | undefined; }, { formatted?: string | undefined; streetAddress?: string | undefined; locality?: string | undefined; region?: string | undefined; postalCode?: string | undefined; country?: string | undefined; }>; export declare const userProfileGuard: z.ZodObject<{ familyName: z.ZodOptional; givenName: z.ZodOptional; middleName: z.ZodOptional; nickname: z.ZodOptional; preferredUsername: z.ZodOptional; profile: z.ZodOptional; website: z.ZodOptional; gender: z.ZodOptional; birthdate: z.ZodOptional; zoneinfo: z.ZodOptional; locale: z.ZodOptional; address: z.ZodOptional; streetAddress: z.ZodOptional; locality: z.ZodOptional; region: z.ZodOptional; postalCode: z.ZodOptional; country: z.ZodOptional; }, "strip", z.ZodTypeAny, { formatted?: string | undefined; streetAddress?: string | undefined; locality?: string | undefined; region?: string | undefined; postalCode?: string | undefined; country?: string | undefined; }, { formatted?: string | undefined; streetAddress?: string | undefined; locality?: string | undefined; region?: string | undefined; postalCode?: string | undefined; country?: string | undefined; }>>; }, "strip", z.ZodTypeAny, { familyName?: string | undefined; givenName?: string | undefined; middleName?: string | undefined; nickname?: string | undefined; preferredUsername?: string | undefined; profile?: string | undefined; website?: string | undefined; gender?: string | undefined; birthdate?: string | undefined; zoneinfo?: string | undefined; locale?: string | undefined; address?: { formatted?: string | undefined; streetAddress?: string | undefined; locality?: string | undefined; region?: string | undefined; postalCode?: string | undefined; country?: string | undefined; } | undefined; }, { familyName?: string | undefined; givenName?: string | undefined; middleName?: string | undefined; nickname?: string | undefined; preferredUsername?: string | undefined; profile?: string | undefined; website?: string | undefined; gender?: string | undefined; birthdate?: string | undefined; zoneinfo?: string | undefined; locale?: string | undefined; address?: { formatted?: string | undefined; streetAddress?: string | undefined; locality?: string | undefined; region?: string | undefined; postalCode?: string | undefined; country?: string | undefined; } | undefined; }>; export declare const userProfileKeys: readonly ["familyName", "givenName", "middleName", "nickname", "preferredUsername", "profile", "website", "gender", "birthdate", "zoneinfo", "locale", "address"]; export declare const userProfileAddressKeys: readonly ["formatted", "streetAddress", "locality", "region", "postalCode", "country"]; export declare const roleNamesGuard: z.ZodArray; export declare const identityGuard: z.ZodObject<{ userId: z.ZodString; details: z.ZodOptional>>; }, "strip", z.ZodTypeAny, { userId: string; details?: Record | undefined; }, { userId: string; details?: Record | undefined; }>; export declare const identitiesGuard: z.ZodRecord>>; }, "strip", z.ZodTypeAny, { userId: string; details?: Record | undefined; }, { userId: string; details?: Record | undefined; }>>; export type Identity = z.infer; export type Identities = z.infer; export declare const baseMfaVerification: { id: z.ZodString; createdAt: z.ZodString; lastUsedAt: z.ZodOptional; }; export declare const mfaVerificationTotp: z.ZodObject<{ key: z.ZodString; id: z.ZodString; createdAt: z.ZodString; lastUsedAt: z.ZodOptional; type: z.ZodLiteral; }, "strip", z.ZodTypeAny, { type: MfaFactor.TOTP; id: string; key: string; createdAt: string; lastUsedAt?: string | undefined; }, { type: MfaFactor.TOTP; id: string; key: string; createdAt: string; lastUsedAt?: string | undefined; }>; export type MfaVerificationTotp = z.infer; export declare const webAuthnTransportGuard: z.ZodEnum<["usb", "nfc", "ble", "internal", "cable", "hybrid", "smart-card"]>; export declare const mfaVerificationWebAuthn: z.ZodObject<{ rpId: z.ZodOptional; credentialId: z.ZodString; publicKey: z.ZodString; transports: z.ZodOptional, "many">>; counter: z.ZodNumber; agent: z.ZodString; name: z.ZodOptional; id: z.ZodString; createdAt: z.ZodString; lastUsedAt: z.ZodOptional; type: z.ZodLiteral; }, "strip", z.ZodTypeAny, { type: MfaFactor.WebAuthn; id: string; createdAt: string; credentialId: string; publicKey: string; counter: number; agent: string; name?: string | undefined; lastUsedAt?: string | undefined; rpId?: string | undefined; transports?: ("usb" | "nfc" | "ble" | "internal" | "cable" | "hybrid" | "smart-card")[] | undefined; }, { type: MfaFactor.WebAuthn; id: string; createdAt: string; credentialId: string; publicKey: string; counter: number; agent: string; name?: string | undefined; lastUsedAt?: string | undefined; rpId?: string | undefined; transports?: ("usb" | "nfc" | "ble" | "internal" | "cable" | "hybrid" | "smart-card")[] | undefined; }>; export type MfaVerificationWebAuthn = z.infer; export declare const mfaVerificationBackupCode: z.ZodObject<{ codes: z.ZodArray; }, "strip", z.ZodTypeAny, { code: string; usedAt?: string | undefined; }, { code: string; usedAt?: string | undefined; }>, "many">; id: z.ZodString; createdAt: z.ZodString; lastUsedAt: z.ZodOptional; type: z.ZodLiteral; }, "strip", z.ZodTypeAny, { type: MfaFactor.BackupCode; id: string; createdAt: string; codes: { code: string; usedAt?: string | undefined; }[]; lastUsedAt?: string | undefined; }, { type: MfaFactor.BackupCode; id: string; createdAt: string; codes: { code: string; usedAt?: string | undefined; }[]; lastUsedAt?: string | undefined; }>; export type MfaVerificationBackupCode = z.infer; export declare const mfaVerificationGuard: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ key: z.ZodString; id: z.ZodString; createdAt: z.ZodString; lastUsedAt: z.ZodOptional; type: z.ZodLiteral; }, "strip", z.ZodTypeAny, { type: MfaFactor.TOTP; id: string; key: string; createdAt: string; lastUsedAt?: string | undefined; }, { type: MfaFactor.TOTP; id: string; key: string; createdAt: string; lastUsedAt?: string | undefined; }>, z.ZodObject<{ rpId: z.ZodOptional; credentialId: z.ZodString; publicKey: z.ZodString; transports: z.ZodOptional, "many">>; counter: z.ZodNumber; agent: z.ZodString; name: z.ZodOptional; id: z.ZodString; createdAt: z.ZodString; lastUsedAt: z.ZodOptional; type: z.ZodLiteral; }, "strip", z.ZodTypeAny, { type: MfaFactor.WebAuthn; id: string; createdAt: string; credentialId: string; publicKey: string; counter: number; agent: string; name?: string | undefined; lastUsedAt?: string | undefined; rpId?: string | undefined; transports?: ("usb" | "nfc" | "ble" | "internal" | "cable" | "hybrid" | "smart-card")[] | undefined; }, { type: MfaFactor.WebAuthn; id: string; createdAt: string; credentialId: string; publicKey: string; counter: number; agent: string; name?: string | undefined; lastUsedAt?: string | undefined; rpId?: string | undefined; transports?: ("usb" | "nfc" | "ble" | "internal" | "cable" | "hybrid" | "smart-card")[] | undefined; }>, z.ZodObject<{ codes: z.ZodArray; }, "strip", z.ZodTypeAny, { code: string; usedAt?: string | undefined; }, { code: string; usedAt?: string | undefined; }>, "many">; id: z.ZodString; createdAt: z.ZodString; lastUsedAt: z.ZodOptional; type: z.ZodLiteral; }, "strip", z.ZodTypeAny, { type: MfaFactor.BackupCode; id: string; createdAt: string; codes: { code: string; usedAt?: string | undefined; }[]; lastUsedAt?: string | undefined; }, { type: MfaFactor.BackupCode; id: string; createdAt: string; codes: { code: string; usedAt?: string | undefined; }[]; lastUsedAt?: string | undefined; }>]>; export type MfaVerification = z.infer; export declare const mfaVerificationsGuard: z.ZodArray; type: z.ZodLiteral; }, "strip", z.ZodTypeAny, { type: MfaFactor.TOTP; id: string; key: string; createdAt: string; lastUsedAt?: string | undefined; }, { type: MfaFactor.TOTP; id: string; key: string; createdAt: string; lastUsedAt?: string | undefined; }>, z.ZodObject<{ rpId: z.ZodOptional; credentialId: z.ZodString; publicKey: z.ZodString; transports: z.ZodOptional, "many">>; counter: z.ZodNumber; agent: z.ZodString; name: z.ZodOptional; id: z.ZodString; createdAt: z.ZodString; lastUsedAt: z.ZodOptional; type: z.ZodLiteral; }, "strip", z.ZodTypeAny, { type: MfaFactor.WebAuthn; id: string; createdAt: string; credentialId: string; publicKey: string; counter: number; agent: string; name?: string | undefined; lastUsedAt?: string | undefined; rpId?: string | undefined; transports?: ("usb" | "nfc" | "ble" | "internal" | "cable" | "hybrid" | "smart-card")[] | undefined; }, { type: MfaFactor.WebAuthn; id: string; createdAt: string; credentialId: string; publicKey: string; counter: number; agent: string; name?: string | undefined; lastUsedAt?: string | undefined; rpId?: string | undefined; transports?: ("usb" | "nfc" | "ble" | "internal" | "cable" | "hybrid" | "smart-card")[] | undefined; }>, z.ZodObject<{ codes: z.ZodArray; }, "strip", z.ZodTypeAny, { code: string; usedAt?: string | undefined; }, { code: string; usedAt?: string | undefined; }>, "many">; id: z.ZodString; createdAt: z.ZodString; lastUsedAt: z.ZodOptional; type: z.ZodLiteral; }, "strip", z.ZodTypeAny, { type: MfaFactor.BackupCode; id: string; createdAt: string; codes: { code: string; usedAt?: string | undefined; }[]; lastUsedAt?: string | undefined; }, { type: MfaFactor.BackupCode; id: string; createdAt: string; codes: { code: string; usedAt?: string | undefined; }[]; lastUsedAt?: string | undefined; }>]>, "many">; export type MfaVerifications = z.infer;