import { EventEmitter } from '@angular/core'; import { ButtonVariant } from '../button/button.component'; import * as i0 from "@angular/core"; export declare type SessionRestorationState = 'restoring' | 'session-expired' | 'restoration-failed'; export interface SessionRestorationDialogButton { label: string; variant: ButtonVariant; /** Action string emitted via `actionClick` when the button is pressed. */ action: string; icon?: string; btnSize?: 'sm' | 'md' | 'lg'; fullWidth?: boolean; disabled?: boolean; } export interface SessionRestorationFailedValidation { level: string; passed: boolean; message: string; } export interface SessionRestorationMetadata { actualUrl?: string; expectedUrl?: string; targetStepId?: number | string; targetStepUniqueId?: string; } /** * Dedicated dialog for the debug session-restoration flow. Replaces the * overloaded `cqa-error-modal` usage for these specific states: * * 1. `restoring` — backend is restoring browser state (spinner only). * 2. `session-expired` — validation failed; user must choose how to recover. * 3. `restoration-failed` — restoration attempt failed; restart or stop. * * The component owns the action button set per state, so the consumer only * passes data and reacts to the emitted action. */ export declare class SessionRestorationDialogComponent { isOpen: boolean; state: SessionRestorationState | null; /** Optional title override. Defaults are derived from `state`. */ title?: string; /** Optional instructional/sub message override. Defaults are derived from `state`. */ instructionalMessage?: string; /** restoration-failed: the primary error text shown to the user. */ errorMessage?: string; /** restoring: primary message inside the loader card. */ restoringMessage: string; /** restoring: small secondary line under the spinner. */ restoringSubMessage: string; /** session-expired: list of failed validation checks. */ failedValidations?: SessionRestorationFailedValidation[]; /** session-expired and restoration-failed: warning bullets. */ warnings?: string[]; /** session-expired: URL comparison block. */ metadata?: SessionRestorationMetadata; /** * Action buttons rendered at the bottom of the dialog. Owned by the parent * so each consumer decides which actions are appropriate (mirroring the * pattern used by `cqa-error-modal`). Ignored when state === 'restoring'. */ buttons: SessionRestorationDialogButton[]; actionClick: EventEmitter; closeModal: EventEmitter; get resolvedTitle(): string; get resolvedInstructional(): string; get isRestoring(): boolean; get isSessionExpired(): boolean; get isRestorationFailed(): boolean; get hasUrlMetadata(): boolean; onBackdropClick(event: MouseEvent): void; onButtonClick(button: SessionRestorationDialogButton): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }