import { AfterViewInit, OnDestroy } from '@angular/core';
import { AxiosResponse } from 'axios';
import { AlNavigationTrigger, AlNavigationIdlePrompt, AlNavigationReauthenticatePrompt } from '../types/navigation.types';
import { AlManageExperienceService } from '../services/al-manage-experience.service';
import { AlNavigationService } from '../services/al-navigation.service';
import { AIMSSessionDescriptor, AlConduitClient, AlSessionStartedEvent, AlStopwatch, AlSubscriptionGroup } from '@al/core';
import { AlExternalContentManagerService, AlToastService, AlWelcomeDialogComponent, WelcomePageResource } from '@al/ng-generic-components';
import * as i0 from "@angular/core";
export declare class AlNavigationOverlaysComponent implements AfterViewInit, OnDestroy {
    experienceManager: AlManageExperienceService;
    navigation: AlNavigationService;
    contentManager: AlExternalContentManagerService;
    toaster: AlToastService;
    welcome: AlWelcomeDialogComponent;
    /**
     * Reauthentication state properties
     */
    formReady: boolean;
    inReauthentication: boolean;
    userName: string;
    userDisplayName: string;
    expiration: string;
    passPhrase: string;
    showPassword: boolean;
    expirationRefresher: AlStopwatch;
    idleTimeout: AlStopwatch;
    protected subscriptions: AlSubscriptionGroup;
    protected conduit: AlConduitClient;
    constructor(experienceManager: AlManageExperienceService, navigation: AlNavigationService, contentManager: AlExternalContentManagerService, toaster: AlToastService);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    onNavigationTrigger: (event: AlNavigationTrigger) => void;
    onNavigationIdle: (event: AlNavigationIdlePrompt) => void;
    onRequireReauthentication: (event: AlNavigationReauthenticatePrompt) => void;
    onSessionStarted: (event: AlSessionStartedEvent) => void;
    evaluateWelcomePageDisplay(): Promise<boolean>;
    triggerWelcomePage(): Promise<void>;
    onKeyDown(event: any): void;
    toggleShowPassword(): void;
    reauthenticate(): Promise<void>;
    /**
     * When user clicks on login button (updated logic)
     */
    executeAuthentication(): Promise<void>;
    finalizeSession(session: AIMSSessionDescriptor): Promise<void>;
    protected requiresMfaCode(response: AxiosResponse<any>): boolean;
    protected requiresMfaEnrollment(response: AxiosResponse<any>): boolean;
    protected requiresPasswordReset(response: AxiosResponse<any>): boolean;
    protected onAuthenticationComplete(): void;
    protected handleAuthenticationFailure(error: Error | any): boolean;
    protected showErrorMessage(message: string): void;
    protected normalizeItem(resource: WelcomePageResource): void;
    static ɵfac: i0.ɵɵFactoryDef<AlNavigationOverlaysComponent, never>;
    static ɵcmp: i0.ɵɵComponentDefWithMeta<AlNavigationOverlaysComponent, "al-navigation-overlays", never, {}, {}, never, never>;
}
