import { requestIdle as defaultRequestIdle } from './request-idle.ts'; export declare class ProcessScheduler { #private; /** * Supports scheduling a `process` to be run with certain constraints. * - Process runs are never concurrent. * - Multiple calls to schedule will be fulfilled by a single process * run started after the call to schedule. A call is never fulfilled by an * already running process run. This can be thought of as debouncing. * - Process runs are throttled so that the process runs at most once every * `throttleMs`. * - Process runs try to run during an idle period, but will delay at most * `idleTimeoutMs`. * - Scheduled runs which have not completed when `abortSignal` is aborted * will reject with an `AbortError`. */ constructor(process: () => Promise, idleTimeoutMs: number, throttleMs: number, abortSignal: AbortSignal, requestIdle?: typeof defaultRequestIdle); schedule(): Promise; } //# sourceMappingURL=process-scheduler.d.ts.map