import * as fetchJsonp from 'fetch-jsonp'; export declare class Interceptor { private interceptors; constructor(interceptors: IInterceptors); set(key: any, value: IInterceptor): void; get(key: any): IInterceptor; delete(key: any): void; has(key: any): boolean; forEach(callback: (value?: IInterceptor, key?, target?: Interceptor) => void, thisArg?: any): void; merge(interceptors: Interceptor): Interceptor; } export interface IInterceptors { [key: string]: IInterceptor; } export interface IInterceptor { id?: number; request?: (url: string | Request, config: RequestInit) => Promise<[string | Request, RequestInit]>; requestError?: (error: any) => Promise; response?: (res: Response) => Promise; success?: (data: any) => Promise; error?: (res: Response) => Promise; timeout?: (url: string) => Promise; jsonpRequest?: (url: string, config?: fetchJsonp.Options) => Promise<[string, fetchJsonp.Options]>; jsonpResponse?: (res: fetchJsonp.Response) => Promise; jsonpSuccess?: (data: any) => Promise; jsonpError?: (error: any) => Promise; }