import { StorageCoordinator } from './storage-coordinator.js'; import { type BroadcastProvider, type LongTermStore, type ShortTermStore, type Task } from './types.js'; export interface DurableTtlSweepResult { claimed: number; timedOut: number; raceLost: number; failed: number; projected: number; } export interface TtlCoordinatorOptions { shortTermStore: ShortTermStore; longTermStore: LongTermStore; broadcast: BroadcastProvider; storageCoordinator: StorageCoordinator; storageLockTtlMs?: number; generateId?: () => string; now?: () => number; onTimeoutProjected?: (task: Task, from: Task['status']) => void; } export declare class TtlCoordinator { private readonly shortTermStore; private readonly longTermStore; private readonly broadcast; private readonly storageCoordinator; private readonly storageLockTtlMs; private readonly generateId; private readonly now; private readonly onTimeoutProjected; constructor(options: TtlCoordinatorOptions); sweepOverdue(limit: number, claimTtlMs?: number): Promise; sweepTerminalProjections(limit: number, claimTtlMs?: number): Promise; private processClaim; private prepareTimeout; private projectClaimedTerminal; private projectWithLease; private reopenAfterRace; private renew; private requireHotMethods; private requireDurableMethods; } //# sourceMappingURL=ttl-coordinator.d.ts.map