import type { TaskEngine } from './engine.js'; import type { ShortTermStore, DisconnectPolicy } from './types.js'; import type { WorkerManager } from './worker-manager.js'; export interface HeartbeatMonitorOptions { workerManager: WorkerManager; engine: TaskEngine; shortTermStore: ShortTermStore; checkIntervalMs?: number; heartbeatTimeoutMs?: number; defaultDisconnectPolicy?: DisconnectPolicy; disconnectGraceMs?: number; } export declare class HeartbeatMonitor { private workerManager; private engine; private shortTermStore; private checkIntervalMs; private heartbeatTimeoutMs; private defaultDisconnectPolicy; private disconnectGraceMs; private timer?; private graceTimers; constructor(opts: HeartbeatMonitorOptions); start(): void; stop(): void; tick(): Promise; /** Cancel grace timer if worker comes back (call from heartbeat handler) */ cancelGrace(workerId: string): void; private _handleTimeout; /** * Transition a task back to pending through valid state machine transitions. * running -> paused -> assigned -> pending * assigned -> pending * Other states -> try direct pending transition */ private _transitionToPending; private _findPathToPending; private _startGraceTimer; } //# sourceMappingURL=heartbeat-monitor.d.ts.map