import { Config, HttpConfig } from "../types"; import { CacheManager } from "../cachemanager"; export interface IHttp { getConfig(): HttpConfig; getUrl(config: Config): string; queueRequest(config: HttpConfig): void; get(url: string, config?: HttpConfig): Promise; head(url: string, config?: HttpConfig): Promise; retryRequests(cache?: CacheManager): Promise; delete(url: string, config?: HttpConfig): Promise; options(url: string, config?: HttpConfig): Promise; updateConfig(newConfig: HttpConfig, merge?: boolean): void; put(url: string, data: any, config?: HttpConfig): Promise; post(url: string, data: any, config?: HttpConfig): Promise; patch(url: string, data: any, config?: HttpConfig): Promise; request(urlOrConfig: string | HttpConfig, config?: HttpConfig): Promise; } export declare class Http implements IHttp { private _baseConfig; protected static instance: Http; private _queueRebuilds; private _nonSerializable; constructor(baseConfig?: HttpConfig); static getInstance(baseConfig?: HttpConfig): Http; getConfig(): HttpConfig; updateConfig(newConfig: HttpConfig, merge?: boolean): void; getUrl(config: Config): string; request(urlOrConfig: string | HttpConfig, config?: HttpConfig): Promise; get(url: string, config?: HttpConfig): Promise; head(url: string, config?: HttpConfig): Promise; delete(url: string, config?: HttpConfig): Promise; options(url: string, config?: HttpConfig): Promise; put(url: string, data: any, config?: HttpConfig): Promise; post(url: string, data: any, config?: HttpConfig): Promise; patch(url: string, data: any, config?: HttpConfig): Promise; queueRequest(config: HttpConfig): void; retryRequests(cacheManager?: CacheManager): Promise; private _registerCacheInterceptors; }