import { ICallback } from '../async/index.js'; import { Runnable } from '../runnable/index.js'; import { ILogger } from '../logger/index.js'; import { IBackoffConfig, IBackoffParsedConfig } from './types/index.js'; export declare abstract class Backoff extends Runnable { private timer; protected readonly config: IBackoffParsedConfig; protected readonly logger: ILogger; protected attempts: number; constructor(logger: ILogger, config?: IBackoffConfig); protected runTask(task: (cb: ICallback) => void, callback: ICallback): void; protected scheduleRetry(task: (cb: ICallback) => void, callback: ICallback): void; protected calculateNextDelay(): number; protected abstract getNextDelay(baseDelay: number, attempts: number): number; protected goingUp(): Array<(cb: ICallback) => void>; protected goingDown(): Array<(cb: ICallback) => void>; getConfig(): IBackoffParsedConfig; execute(task: (cb: ICallback) => void, callback: ICallback): void; getAttempts(): number; reset(): void; } //# sourceMappingURL=backoff.d.ts.map