import { AxiosRequestConfig, AxiosResponse, Method } from 'axios';
import { MsHttpClient, ContentType } from './MsHttpClient';
export interface MsAxiosRequestConfig extends AxiosRequestConfig {
    action?: string;
    inParams?: object;
}
export interface MsAxiosResponse extends AxiosResponse {
    config: MsAxiosRequestConfig;
}
export declare class DefaultClient implements MsHttpClient {
    private _axios;
    constructor(baseURL: string);
    /**
     * 设置axios Request拦截器
     *
     * @param onFulfilled
     * @param onRejected
     */
    setRequestInterceptors(onFulfilled: (value: MsAxiosRequestConfig) => Promise<MsAxiosRequestConfig>, onRejected?: (error: any) => any): void;
    /**
     * 设置axios Response拦截器
     *
     * @param onFulfilled
     * @param onRejected
     */
    setResponsetInterceptors(onFulfilled: (value: MsAxiosResponse) => Promise<MsAxiosResponse>, onRejected?: (error: any) => any): void;
    /**
     * 微服务请求
     *
     * @param method
     * @param contentType
     * @param headers
     * @param parameters
     */
    request(method: Method, contentType: ContentType, headers: object, parameters: any): Promise<any>;
    /**
     * ajax 请求
     *
     * @param method
     * @param contentType
     * @param headers
     * @param parameters
     */
    private _request;
    /**
     * 文件上传
     */
    private _upload;
    private _isUploadFileRequest;
    private _parseHeaders;
}
