export declare const PASS_TIMED_OUT: unique symbol; export type ConcurrencyMode = 'sequential' | 'concurrent'; export interface LoopOptions { intervalMs: number; jitterRatio: number; timeoutMs: number; concurrency: ConcurrencyMode; maxConcurrent: number; } export interface LoopHooks { onError: (error: unknown) => void; onTimeout: (context: { timeoutMs: number; }) => void; onSkippedTick: (context: { inFlight: number; limit: number; }) => void; } export declare class Loop { private readonly pass; private readonly options; private readonly hooks; private readonly random; private readonly now; private readonly alarm; private readonly inFlight; private readonly inFlightControllers; private timeline?; private stopped; private readonly limit; constructor(pass: (signal: AbortSignal) => Promise, options: LoopOptions, hooks: LoopHooks, random?: () => number, now?: () => number); start(): void; stop(): Promise; private tick; private launch; private runOnce; private runPass; }