/** * Auth Mode Constants and Registry * * Single source of truth for authentication mode definitions. * * @module @kya-os/consent/constants/auth-modes */ import { type AuthMode } from "../types/modes.types.js"; /** * Auth mode metadata for UI display and behavior */ export interface AuthModeMetadata { /** Unique mode identifier */ id: AuthMode; /** Display name for UI */ displayName: string; /** Short description */ description: string; /** Whether this mode requires external authentication */ requiresExternalAuth: boolean; /** Whether this mode collects credentials */ collectsCredentials: boolean; /** Icon name (for UI rendering) */ icon: string; /** * Whether the full backend flow is implemented. * Note: UI components may exist (e.g., consent-otp-input, renderMagicLink) * but this flag indicates whether the complete end-to-end flow is ready, * including backend verification, email/SMS sending, etc. */ implemented: boolean; } /** * Auth Mode Registry * * Complete metadata for all supported authentication modes. */ export declare const AUTH_MODE_REGISTRY: Record; /** * Get metadata for an auth mode */ export declare function getAuthModeMetadata(mode: AuthMode): AuthModeMetadata; /** * Get all implemented auth modes */ export declare function getImplementedAuthModes(): AuthMode[]; /** * Check if an auth mode is implemented */ export declare function isAuthModeImplemented(mode: AuthMode): boolean; /** * Check if an auth mode requires external authentication */ export declare function requiresExternalAuth(mode: AuthMode): boolean; /** * Check if an auth mode collects credentials */ export declare function collectsCredentials(mode: AuthMode): boolean; //# sourceMappingURL=auth-modes.d.ts.map