import { NextHandler, RequestChunk, ResponseChunk, Streamer } from "./streamer"; interface RetryDecoratedResponse extends ResponseChunk { retryCount: number; } interface RetryDecoratedRequest extends RequestChunk { retryCount: number; } interface RetryConfiguration { count: number; delay: number; logger?: (retry: number) => void; } interface RetryInputConfiguration { count?: number; delay?: number; logger?: (retry: number) => void; } declare class Retry extends Streamer { private configuration; constructor(configuration: RetryConfiguration); static create(configuration: RetryInputConfiguration | true | number): Retry; onResponse(chunk: RetryDecoratedResponse, next: NextHandler): Promise; onRequest(chunk: RetryDecoratedRequest, next: NextHandler): Promise; private retry; private shouldRetry; } export { RetryInputConfiguration, RetryConfiguration, Retry };