import { ServiceClient } from './ServiceClient';
import { HttpMethodType } from "./enums/HttpMethodType";
import { RequestBodyType } from "./enums/RequestBodyType";
import { IHttpResponse } from "./utils/http/IHttpResponse";
import { ServiceClientConfig } from "../core/config/ServiceClientConfig";
/**
 * 微服务客户端使用接口
 * @author WuFenglin
 **/
export declare class ServiceClientImpl implements ServiceClient {
    private gatewayConfig;
    private serviceClientConfig;
    private simpleHttpUtil;
    constructor(serviceClientConfig: ServiceClientConfig);
    call<T = any, R = IHttpResponse<T>>(httpMethod: HttpMethodType, headers: object, params: object, bodyObj: object, bodyType: RequestBodyType): Promise<R>;
    get<T = any, R = IHttpResponse<T>>(headers: object, params: object): Promise<R>;
    upload<T = any, R = IHttpResponse<T>>(headers: object, params: object, formData: FormData): Promise<R>;
    private sendRequest;
    private processHeaders;
}
