import { Observable } from 'rxjs'; import { BasicLogger } from './logging'; interface IErrorInfo { error: Error; numberOfErrors: number; timeBeforeNextRetry: number; } export declare type RetryOpts = Partial; interface IRetryOptsAll { shouldRetry: (info: IErrorInfo) => boolean; sourceDescription: string; resetErrorsOnNext: boolean; waitTimeOnBackoff: number; waitTimeOnFirstError: number; minWaitTime: number; maxWaitTime: number; logger?: BasicLogger; } export declare function retryWithBackoff(optsRaw?: RetryOpts): (source: Observable) => Observable; export {};