import type { LoadedMonitor } from "../monitor-engine/registry.js"; export interface SchedulerEntry { readonly monitor: LoadedMonitor; readonly nextRunAt: number; readonly lastRunAt: number | null; readonly consecutiveFailures: number; } export interface SchedulerOptions { readonly globalMinIntervalSeconds: number; readonly perMonitorJitterPercent: number; readonly now?: () => number; readonly random?: () => number; } export declare class MonitorScheduler { private readonly entries; private readonly now; private readonly random; private readonly minIntervalMs; private readonly jitterPercent; constructor(monitors: readonly LoadedMonitor[], options: SchedulerOptions); due(): readonly LoadedMonitor[]; recordSuccess(monitorId: string): void; recordFailure(monitorId: string): void; recordSkip(monitorId: string, reason: string): void; inspect(): readonly SchedulerEntry[]; msUntilNext(): number; } //# sourceMappingURL=scheduler.d.ts.map