import type { TransportMonitorAdapter } from "../transport/TransportMonitorAdapter.js"; export interface MonitorSchedulerTimerApi { setTimeout(callback: () => void, delayMs: number): ReturnType; clearTimeout(handle: ReturnType): void; } export interface MonitorSchedulerOptions { adapter: TransportMonitorAdapter; healthProbe?: () => Promise | void; healthIntervalMs?: number; replayIntervalMs?: number; pruneIntervalMs?: number; replayBatchSize?: number; closeAdapterOnStop?: boolean; timers?: MonitorSchedulerTimerApi; now?: () => bigint; onError?: (error: unknown) => void; } export interface MonitorSchedulerState { status: "stopped" | "running"; tickCount: number; lastError: unknown | null; } export declare class MonitorScheduler { #private; constructor(options: MonitorSchedulerOptions); getState(): MonitorSchedulerState; start(): void; stop(): Promise; tick(): Promise; }