export interface IntervalJobOptions { intervalMs: number; timeoutMs?: number; timeoutFloorMs?: number; onError?: (err: unknown) => void; leading?: boolean; } export interface IntervalJobHandle { /** Stops scheduling and waits for any in-flight run to settle. */ stop(): Promise; } export declare function startIntervalJob(runOnce: (signal: AbortSignal) => Promise, options: IntervalJobOptions): IntervalJobHandle;