import { ResquestMethod, RequestOptions, RequestClientResponse } from '../types';
import { DomainPool } from '../domain/domain';
import { AgoraConfig } from '../config';
export declare class RequestClient {
    private config;
    private keepAliveAgent;
    domainPool: DomainPool;
    timeout: number;
    constructor(config: AgoraConfig);
    buildHeaders(host: string, userAgent: string): Record<string, string>;
    request(method: ResquestMethod, uriPattern: string, options: RequestOptions): Promise<RequestClientResponse>;
    put(path: string, options: RequestOptions): Promise<RequestClientResponse>;
    post(path: string, options: RequestOptions): Promise<RequestClientResponse>;
    get(path: string, options: RequestOptions): Promise<RequestClientResponse>;
    delete(path: string, options: RequestOptions): Promise<RequestClientResponse>;
    private _checkRequestAborted;
}
