export declare class TimeoutError extends Error { constructor(message?: string); } export declare class TimeoutPromise { private timeoutId; private ms; clear(): void; promise(): Promise; constructor(ms: number); } export type TimeoutOptions = { RequestTimeoutMS?: number; MaxRetries?: number; RetryDelayMS?: number; RetryBackoffFactor?: number; RetryNotified?: (info: RetryNotification) => void; }; export type RetryNotification = { attempt: number; maxRetries: number; delayMs: number; error: unknown; }; type RetryableOperation = (attempt: number) => Promise; export declare function runWithTimeoutAndRetry(operation: RetryableOperation, options?: TimeoutOptions, shouldRetryError?: (error: unknown, attempt: number) => boolean, getRetryDelayMs?: (error: unknown, attempt: number) => number | undefined): Promise; export {}; //# sourceMappingURL=timeout-utils.d.ts.map