import { Lifecycle, type VersionCheckState } from './Lifecycle.js'; export type VersionRecoveryReason = 'mismatch' | 'unresponsive'; /** One outstanding probe; stop invalidates both timers and late send failures. */ export declare class VersionMonitor { private readonly send; private readonly recover; private readonly intervalMs; private readonly timeoutMs; readonly lifecycle: Lifecycle; private timer?; private requestId?; constructor(send: (id: string) => Promise, recover: (reason: VersionRecoveryReason) => void, intervalMs?: number, timeoutMs?: number); start(): void; stop(): void; reply(id: string, matches: boolean): void; private finish; private schedule; }