/** * An abstract entity which defines the minimum shape of a delay decision class. */ export declare abstract class DelayDecider { /** * A number (in milliseconds) that seeds the delay decision. */ abstract readonly delayBase: number; /** * Makes the determination on how many milliseconds to delay. * * @param attempts - The number of attempts on which to calculate the delay. */ abstract decision(attempts: number): number; } export interface DelayDeciderOptions { /** * A number (in milliseconds) that seeds the delay decision. */ delayBase?: number; } export declare class DefaultDelayDecider implements DelayDecider { readonly delayBase: number; /** * Creates a default delay decider function. * * @param options - The configuration options for a delay * decider. The delayBase option is a seeder for the delay decider and defaults to 100 * milliseconds. */ constructor(options?: DelayDeciderOptions); /** * Implements a linear backoff delay. * * @param attempts - The number of attempts on which to calculate the delay. * @returns The number of milliseconds that a subsequent should be delayed. */ decision(attempts?: number): number; }