export type DeadTabRecoveryConsumeStatus = "consumed" | "expired_or_missing" | "owner_mismatch"; export interface DeadTabRecoveryConsumeResult { status: DeadTabRecoveryConsumeStatus; descriptor?: T; } interface DeadTabRecoveryDeps { now(): number; onPeek(): void; } /** Store a short-lived immutable recovery descriptor for a dead tab worker. */ export declare function registerDeadTabRecovery(name: string, ownerId: string | undefined, descriptor: T, ttlMs?: number): void; /** * Check whether a recovery descriptor may be consumed by this owner. The test hook is * intentionally synchronous: recovery must not yield between this check and consume. */ export declare function peekDeadTabRecovery(name: string, ownerId: string | undefined): DeadTabRecoveryConsumeResult; /** Consume only a live descriptor belonging to the expected owner. */ export declare function consumeDeadTabRecovery(name: string, ownerId: string | undefined): DeadTabRecoveryConsumeResult; export declare function discardDeadTabRecovery(name: string): void; /** Whether an unconsumed descriptor remains live at the supplied policy clock. */ export declare function isDeadTabRecoveryLive(name: string, now: number): boolean; export declare function __setDeadTabRecoveryDepsForTest(overrides: Partial): void; export declare function __resetDeadTabRecoveryForTest(): void; export {};