import type { PageKind } from "../core/page-classifier.js"; import type { ArtifactRef, EVisaPhase } from "../types.js"; export type EVisaErrorCode = "PAGE_DETECTION_FAILED" | "SELECTOR_NOT_FOUND" | "TWO_FACTOR_TIMEOUT" | "AUTHENTICATION_FAILED" | "SESSION_EXPIRED" | "SERVICE_UNAVAILABLE" | "BROWSER_LAUNCH_FAILED" | "CONFIG_INVALID" | "FLOW_CANCELLED" | "FLOW_FAILED"; export interface EVisaErrorDetails { code?: EVisaErrorCode; retryable?: boolean; phase?: EVisaPhase; pageKind?: PageKind; artifactRefs?: ArtifactRef[]; cause?: unknown; } export declare class EVisaError extends Error { readonly code: EVisaErrorCode; readonly retryable: boolean; readonly phase?: EVisaPhase; readonly pageKind?: PageKind; readonly artifactRefs: ArtifactRef[]; constructor(message: string, details?: EVisaErrorDetails); } export declare class PageDetectionError extends EVisaError { constructor(message: string, details?: EVisaErrorDetails); } export declare class SelectorNotFoundError extends EVisaError { constructor(message: string, details?: EVisaErrorDetails); } export declare class TwoFactorTimeoutError extends EVisaError { constructor(message: string, details?: EVisaErrorDetails); } export declare class AuthenticationError extends EVisaError { constructor(message: string, details?: EVisaErrorDetails); } export declare class SessionExpiredError extends EVisaError { constructor(message: string, details?: EVisaErrorDetails); } export declare class ServiceUnavailableError extends EVisaError { constructor(message: string, details?: EVisaErrorDetails); } export declare class BrowserLaunchError extends EVisaError { constructor(message: string, details?: EVisaErrorDetails); } export declare class ConfigError extends EVisaError { constructor(message: string, details?: EVisaErrorDetails); } export declare class FlowCancelledError extends EVisaError { constructor(message?: string, details?: EVisaErrorDetails); }