/// <reference types="node" />
import { Agent as HttpAgent, AgentOptions, ClientRequest, ClientRequestArgs } from 'http';
/**
 * @see https://github.com/nodejs/node/blob/533cafcf7e3ab72e98a2478bc69aedfdf06d3a5e/lib/_http_client.js#L129-L162
 * @see https://github.com/nodejs/node/blob/533cafcf7e3ab72e98a2478bc69aedfdf06d3a5e/lib/_http_client.js#L234-L246
 * @see https://github.com/nodejs/node/blob/533cafcf7e3ab72e98a2478bc69aedfdf06d3a5e/lib/_http_client.js#L304-L305
 * Wraps an existing Agent instance,
 * so there's no need to replace `agent.addRequest`.
 */
export declare class WrappedAgent<T extends HttpAgent> implements HttpAgent {
    agent: T;
    constructor(agent: T);
    addRequest(request: ClientRequest, options: ClientRequestArgs): void;
    get keepAlive(): boolean;
    get maxSockets(): HttpAgent['maxSockets'];
    get options(): AgentOptions;
    get defaultPort(): number;
    get protocol(): string;
    destroy(): void;
    get maxFreeSockets(): HttpAgent['maxFreeSockets'];
    get maxTotalSockets(): HttpAgent['maxTotalSockets'];
    get freeSockets(): HttpAgent['freeSockets'];
    get sockets(): HttpAgent['sockets'];
    get requests(): HttpAgent['requests'];
}
//# sourceMappingURL=wrapped-agent.d.ts.map