import type { Headers, OptionalIfValueIncludeDefault, Request, Response, ResponseWithRequest } from '../../types/internal';
/**
 * Options of `request` function.
 */
export type Options<RouteParams, SomeRequest extends Request, SomeResponse extends Response> = Readonly<{
    isNeedRetry?: (response: ResponseWithRequest<SomeRequest, SomeResponse>) => Promise<boolean> | boolean;
    maxRetriesCount?: number;
    timeout?: number;
} & OptionalIfValueIncludeDefault<'requestBody', SomeRequest['requestBody'], undefined> & OptionalIfValueIncludeDefault<'requestHeaders', SomeRequest['requestHeaders'], Headers> & OptionalIfValueIncludeDefault<'routeParams', RouteParams, undefined>>;
