import { Airwallex } from '../airwallex.core';
import { RequestConfig } from '../common/request';
import { HttpClient } from './httpClient';
export declare class APIClient {
    private client?;
    private airwallex?;
    private initialized;
    initialize(airwallex: Airwallex, httpClient?: HttpClient): void;
    private getClient;
    private getAirwallex;
    private setInterceptors;
    private handleRequest;
    private handleRequestError;
    private handleResponse;
    private handleResponseError;
    private request;
    private shouldRetry;
    private retryRequest;
    private _request;
    private getRequestConfig;
    get(url: string, requestConfig: RequestConfig): Promise<any>;
    post(url: string, requestConfig: RequestConfig, data?: any): Promise<any>;
    put(url: string, requestConfig: RequestConfig, data?: any): Promise<any>;
    patch(url: string, requestConfig: RequestConfig, data?: any): Promise<any>;
    delete(url: string, requestConfig: RequestConfig): Promise<any>;
}
export declare const apiClient: APIClient;
//# sourceMappingURL=apiClient.d.ts.map