import { Config } from '../common/config';
import { RequestConfig } from '../common/request';
export interface HttpClient {
    get<T>(url: string, options?: RequestConfig): Promise<T>;
    post<T>(url: string, data?: any, options?: RequestConfig): Promise<T>;
    put<T>(url: string, data?: any, options?: RequestConfig): Promise<T>;
    delete<T>(url: string, options?: RequestConfig): Promise<T>;
    patch<T>(url: string, data?: any, options?: RequestConfig): Promise<T>;
    setRequestInterceptor: (callback: (config: any) => any | Promise<any>, errorCallback?: (error: any) => any | Promise<any>) => void;
    setResponseInterceptor: (callback: (response: any) => any | Promise<any>, errorCallback?: (error: any) => any | Promise<any>) => void;
}
export declare class HttpClientImpl implements HttpClient {
    private client;
    private readonly defaultHeaders;
    constructor(basePath: string, config: Config);
    get(url: string, options?: RequestConfig): Promise<any>;
    post(url: string, data?: any, options?: RequestConfig): Promise<any>;
    put(url: string, data?: any, options?: RequestConfig): Promise<any>;
    delete(url: string, options?: RequestConfig): Promise<any>;
    patch(url: string, data?: any, options?: RequestConfig): Promise<any>;
    setRequestInterceptor(callback: (config: any) => any | Promise<any>, errorCallback?: (error: any) => any | Promise<any>): void;
    setResponseInterceptor(callback: (response: any) => any | Promise<any>, errorCallback?: (error: any) => any | Promise<any>): void;
}
//# sourceMappingURL=httpClient.d.ts.map