/// import 'isomorphic-fetch'; import { Agent } from 'http'; import promiseRetry from 'promise-retry'; export declare type ShouldRetry = (responseOrError: Response | Error) => boolean; export interface OnRequestOptions extends RequestInit { url: string; retryCount: number; } export interface OnRequestEndOptions extends OnRequestOptions { error?: Error; status?: Response['status']; } export interface JsonFetchOptions extends Omit { agent?: Agent | ((parsedUrl: URL) => Agent); body?: Record; shouldRetry?: (responseOrError: Response | Error) => boolean; retry?: Parameters[0]; timeout?: number; expectedStatuses?: number[]; onRequestStart?: (opts: OnRequestOptions) => void; onRequestEnd?: (opts: OnRequestEndOptions) => void; } export interface JsonFetchResponse { status: number; statusText: string; headers: Headers; text: string; body: T; } export declare class FetchUnexpectedStatusError extends Error { response?: T; } export { default as retriers } from './retriers'; export default function jsonFetch(requestUrl: string, jsonFetchOptions?: JsonFetchOptions): Promise; //# sourceMappingURL=index.d.ts.map