export interface Stop { (err?: Error): void; } export interface Retriable { (stop: Stop, attempts: number, errors?: Array): Promise; } export interface RetryOptions { retries?: number; factor?: number; minTimeout?: number; maxTimeout?: number; randomize?: boolean; onRetry?: (err: Error) => void; } export declare function retry(retriable: Retriable, opts?: RetryOptions): Promise;