interface HttpBaseConfig { headers?: { [key: string]: string; }; withCredentials?: boolean; timeout?: number; } interface HttpRequestConfig extends HttpBaseConfig { onProgress?: (e: HttpProgress) => void; onStateChange?: (ev: string) => void; data?: any; } interface HttpRequestCore extends HttpRequestConfig { url: string; method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "OPTIONS"; } interface HttpResponse { url: string; status: number; headers: any; data: any; } interface HttpProgress { total: number; loaded: number; } interface HttpInterceptorsOptions { request?: HttpBaseConfig; response?: HttpBaseConfig; } export type { HttpInterceptorsOptions as H, HttpRequestCore as a, HttpResponse as b, HttpRequestConfig as c };