import { ApiAfterHandler, ApiClient, ApiDesc, ApiOptions, ApiPreHandler, ApiResponseInterceptor } from "../ApiClient";
import { AxiosInstance, AxiosRequestConfig } from "axios";
export declare function newApiClientInstance(options: ApiOptions): ApiClient;
export declare class ApiClientInstance implements ApiClient {
    api?: AxiosInstance;
    options: ApiOptions;
    preHandlers: ApiPreHandler[];
    afterHandlers: ApiAfterHandler[];
    interceptors: ApiResponseInterceptor[];
    private apiMethodMappings?;
    static newInstance(options: ApiOptions): ApiClient;
    constructor();
    init(options: ApiOptions): void;
    private initMethodMapping;
    private errorHandle;
    private initResponseInterceptors;
    request(api: ApiDesc, data?: any, contentType?: string, config?: AxiosRequestConfig<any>): Promise<any>;
    addAfterHandler(handler: ApiAfterHandler): void;
    addPreHandler(handler: ApiPreHandler): void;
    addResponseInterceptor(interceptor: ApiResponseInterceptor): void;
}
