import { CommonRequest, CommonResponse } from "servie/dist/common"; /** * Browser detection. */ declare global { namespace NodeJS { interface Process { browser?: boolean; } } } /** * Check if the request should be attempted again. */ export declare function retryAllowed(error?: Error & { code?: string; }, response?: CommonResponse): boolean; /** * Init a default retry function. */ export declare function retries(count?: number, isRetryAllowed?: typeof retryAllowed): (error: Error | undefined, response: CommonResponse | undefined, iter: number) => number; /** * Middleware signature. */ export declare type App = (req: T, next: () => Promise) => Promise; /** * Middleware for running retry logic. */ export declare function retry(fn: App, shouldRetry?: (error: Error | undefined, response: CommonResponse | undefined, iter: number) => number, preFlight?: (req: T, iter: number, origRequest: T) => T): App;