import { EventEmitter, OnDestroy } from '@angular/core';
import { AuthService } from '../../../services/auth';
import { FormMetadata, FormSubmit } from '../../types';
import { LoginMetadata, LoginSuccessEvent, LoginErrorEvent, MFARequiredEvent } from './types';
import * as i0 from "@angular/core";
export declare class LoginComponent implements OnDestroy {
    props: LoginMetadata;
    onSuccess: EventEmitter<LoginSuccessEvent>;
    onError: EventEmitter<LoginErrorEvent>;
    onMFARequired: EventEmitter<MFARequiredEvent>;
    authService: AuthService;
    private toastService;
    private router;
    private i18n;
    private i18nHelper;
    /**
     * Helper method for translating auth-related strings.
     * Exposed to template for dynamic text.
     */
    t(key: string, data?: Record<string, string>): string;
    private resendTimer;
    private resetResendTimer;
    isOAuthLoading: boolean;
    isRegisterModalOpen: boolean;
    isVerifyModalOpen: boolean;
    isForgotPasswordModalOpen: boolean;
    isResetPasswordModalOpen: boolean;
    isMFAVerifyModalOpen: boolean;
    private _mfaSuccessPending;
    pendingVerificationEmail: string;
    pendingResetEmail: string;
    resendCooldown: number;
    resetResendCooldown: number;
    get config(): Required<Omit<LoginMetadata, 'logo' | 'legal' | 'redirectOnSuccess'>> & LoginMetadata;
    private _loginFormState;
    private _registerFormState;
    private _verifyFormState;
    private _verifyFormSectionName;
    private _mfaVerifyFormState;
    private _mfaMethod;
    private _forgotPasswordFormState;
    private _resetPasswordFormState;
    private _resetFormSectionName;
    readonly loginFormProps: import("@angular/core").Signal<FormMetadata>;
    readonly registerFormProps: import("@angular/core").Signal<FormMetadata>;
    readonly verifyFormProps: import("@angular/core").Signal<FormMetadata>;
    readonly mfaVerifyFormProps: import("@angular/core").Signal<FormMetadata>;
    readonly forgotPasswordFormProps: import("@angular/core").Signal<FormMetadata>;
    readonly resetPasswordFormProps: import("@angular/core").Signal<FormMetadata>;
    loginHandler(event: FormSubmit): void;
    loginWithOAuth(provider: 'google' | 'apple' | 'microsoft'): void;
    openRegisterModal(): void;
    closeRegisterModal(): void;
    registerHandler(event: FormSubmit): void;
    openVerifyModal(email: string): void;
    closeVerifyModal(): void;
    verifyHandler(event: FormSubmit): void;
    resendCode(): void;
    openMFAVerifyModal(): void;
    closeMFAVerifyModal(): void;
    verifyMFAHandler(event: FormSubmit): void;
    onMFAVerifyDismissed(): void;
    openForgotPasswordModal(): void;
    closeForgotPasswordModal(): void;
    forgotPasswordHandler(event: FormSubmit): void;
    openResetPasswordModal(email: string): void;
    closeResetPasswordModal(): void;
    resetPasswordHandler(event: FormSubmit): void;
    resendResetCode(): void;
    private handleLoginSuccess;
    private handleError;
    private showToast;
    private getErrorMessage;
    private startResendCooldown;
    private stopResendCooldown;
    private startResetResendCooldown;
    private stopResetResendCooldown;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<LoginComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<LoginComponent, "val-login", never, { "props": { "alias": "props"; "required": false; }; }, { "onSuccess": "onSuccess"; "onError": "onError"; "onMFARequired": "onMFARequired"; }, never, never, true, never>;
}
