import { ImageMetadata } from '../../atoms/image/types'; import { OAuthProvider } from '../../../services/auth/types'; import { AuthUser } from '../../../services/auth/types'; /** * Configuration for legal notice displayed in the login component */ export interface LoginLegalConfig { /** Company name to display */ companyName: string; /** Link for company name (optional) */ companyLink?: string; /** Link to terms and conditions page */ termsLink?: string; /** Link to privacy policy page */ privacyLink?: string; } /** * Main configuration for the Login component */ export interface LoginMetadata { /** Logo to display at the top of the form */ logo?: ImageMetadata; /** Show OAuth login buttons (default: true) */ showOAuth?: boolean; /** OAuth providers to show (default: ['google']) */ oauthProviders?: OAuthProvider[]; /** Show register link and modal (default: true) */ showRegister?: boolean; /** Show forgot password link and modal (default: true) */ showForgotPassword?: boolean; /** Wrap component in card-style container with background, shadow, rounded corners (default: false) */ showCard?: boolean; /** Legal notice configuration */ legal?: LoginLegalConfig; /** Route to redirect after successful login (optional - if not set, emits event) */ redirectOnSuccess?: string; } /** * Event emitted when login is successful */ export interface LoginSuccessEvent { /** The authenticated user */ user: AuthUser | null; /** Whether MFA was required and completed */ mfaCompleted?: boolean; /** Whether this was an OAuth login */ oauthProvider?: OAuthProvider; } /** * Event emitted when login fails */ export interface LoginErrorEvent { /** Error code from the backend */ code?: string; /** Human-readable error message */ message: string; /** The operation that failed */ operation: 'signin' | 'signup' | 'verify' | 'forgot' | 'reset' | 'mfa' | 'oauth'; } /** * Event emitted when MFA verification is required */ export interface MFARequiredEvent { /** MFA method required */ method: 'TOTP' | 'EMAIL' | 'SMS'; } /** * Default values for LoginMetadata */ export declare const LOGIN_DEFAULTS: Required>;