import type { Paging } from './common'; /** * Type representing the different methods a user can use to authenticate. * @typedef {('email' | 'phone_number' | 'webauthn' | 'password')} AuthMethod */ export type AuthMethod = 'email' | 'phone_number' | 'webauthn' | 'password'; /** * Interface representing the authentication methods a user has selected and can possibly use. * @interface UserAuthMethods * @property {Array} selectedMethods - An array of methods the user has selected for authentication. * @property {Array} possibleMethods - An array of methods the user can possibly use for authentication. */ export interface UserAuthMethods { selectedMethods: Array; possibleMethods: Array; } /** * Type representing the status of a PassKeyItem. * @typedef {('pending' | 'active')} PassKeyItemStatus */ export type PassKeyItemStatus = 'pending' | 'active'; /** * Represents a pass key item. * @interface PassKeyItem * @property {string} id - The ID of the pass key item. * @property {string} aaguid - The aaguid of the pass key item. * @property {string} userAgent - The user agent of the pass key item. * @property {string} attestationType - The attestation type of the pass key item. * @property {Array} transport - The transport methods of the pass key item. * @property {boolean} backupEligible - Indicates if the pass key item is eligible for backup. * @property {boolean} backupState - The backup state of the pass key item. * @property {PassKeyItemStatus} status - The status of the pass key item. * @property {string} created - The creation date of the pass key item. */ export interface PassKeyItem { id: string; authenticatorAAGUID: string; aaguidDetails: { name: string; iconLight: string; iconDark: string; }; sourceBrowser: string; sourceOS: string; attestationType: string; transport: Array; backupEligible: boolean; backupState: boolean; status: PassKeyItemStatus; created: string; lastUsed?: string; } export declare const PasskeyTransportEnum: { readonly Usb: "usb"; readonly Nfc: "nfc"; readonly Ble: "ble"; readonly Internal: "internal"; readonly Hybrid: "hybrid"; readonly SmartCard: "smart-card"; }; export type PasskeyTransportEnum = (typeof PasskeyTransportEnum)[keyof typeof PasskeyTransportEnum]; /** * Represents a list of pass key items. * @interface PassKeyList * @property {Array} passkeys - The pass key items in the list. * @property {Paging} paging - The paging information of the list. */ export interface PassKeyList { passkeys: Array; paging?: Paging; } /** * Represents the capabilities of a WebAuthn Client. * @interface ClientCapabilities * @property {boolean} conditionalCreate - Indicates if the WebAuthn Client is capable of conditional mediation for registration ceremonies. * @property {boolean} conditionalMediation - Indicates if the WebAuthn Client is capable of conditional mediation for authentication ceremonies. * @property {boolean} hybridTransport - Indicates if the WebAuthn Client supports usage of the hybrid transport. * @property {boolean} passkeyPlatformAuthenticator - Indicates if the WebAuthn Client supports usage of a passkey platform authenticator, locally and/or via hybrid transport. * @property {boolean} userVerifyingPlatformAuthenticator - Indicates if the WebAuthn Client supports usage of a user-verifying platform authenticator. */ export interface ClientCapabilities { conditionalCreate: boolean; conditionalMediation: boolean; conditionalGet: boolean; hybridTransport: boolean; passkeyPlatformAuthenticator: boolean; userVerifyingPlatformAuthenticator: boolean; relatedOrigins: boolean; signalAllAcceptedCredentials: boolean; signalCurrentUserDetails: boolean; signalUnknownCredential: boolean; } export declare const PasskeyCeremonyType: { readonly Local: "local"; readonly Cda: "cda"; readonly SecurityKey: "security-key"; }; export type PasskeyCeremonyType = (typeof PasskeyCeremonyType)[keyof typeof PasskeyCeremonyType]; //# sourceMappingURL=authentication.d.ts.map