import type { BackoffResult, BackoffStrategy } from "../types/retry"; export declare function exponentialBackoff(attempt: number, baseDelay?: number, maxDelay?: number): BackoffResult; export declare function linearBackoff(attempt: number, baseDelay?: number, maxDelay?: number): BackoffResult; export declare function fixedBackoff(baseDelay?: number): BackoffResult; export declare function fixedJitterBackoff(baseDelay?: number, maxDelay?: number): BackoffResult; export declare function fullJitterBackoff(attempt: number, baseDelay?: number, maxDelay?: number): BackoffResult; export declare function decorrelatedJitterBackoff(attempt: number, baseDelay?: number, maxDelay?: number, previousDelay?: number): BackoffResult; export declare function calculateBackoff(strategy: BackoffStrategy, attempt: number, baseDelay?: number, maxDelay?: number): BackoffResult; export declare function sleep(ms: number): Promise; export declare function timeout(ms: number, message?: string): Promise; export declare function withTimeout(promise: Promise, timeoutMs: number, timeoutMessage?: string): Promise; export declare class Timer { private startTime?; private endTime?; private pauseTime?; private totalPausedTime; start(): void; pause(): void; resume(): void; stop(): void; elapsed(): number; reset(): void; isRunning(): boolean; isPaused(): boolean; } export declare function debounce any>(fn: T, delay: number): (...args: Parameters) => void; export declare function throttle any>(fn: T, delay: number): (...args: Parameters) => void; //# sourceMappingURL=timers.d.ts.map