export type CaptureFailureKind = "cancelled" | "transient_browser" | "protocol_timeout" | "memory_exhaustion" | "verification" | "authoring" | "io";
export interface CaptureWorkerDiagnostic {
    workerId: number;
    framesCaptured: number;
    startFrame: number;
    endFrame: number;
    lines: readonly string[];
}
export declare class CaptureFailure extends Error {
    readonly kind: CaptureFailureKind;
    readonly cause: unknown;
    readonly workerDiagnostics: readonly CaptureWorkerDiagnostic[];
    constructor(input: {
        kind: CaptureFailureKind;
        message: string;
        cause?: unknown;
        workerDiagnostics?: readonly CaptureWorkerDiagnostic[];
    });
}
export declare function classifyCaptureFailure(error: unknown, options?: {
    signal?: AbortSignal;
    workerDiagnostics?: readonly CaptureWorkerDiagnostic[];
}): CaptureFailure;
export declare function isTransientBrowserError(error: unknown): boolean;
export declare function isMemoryExhaustionError(error: unknown): boolean;
export declare function isFatalCaptureFailure(failure: CaptureFailure): boolean;
//# sourceMappingURL=captureFailure.d.ts.map