import { HttpTransportConfig } from '../config';
import { JsonRpcRequest, JsonRpcResponse } from './jsonrpc';
import { EthereumTransport } from './transport';
export declare class HttpTransportError extends Error {
    response?: any;
    constructor(message: string, response?: any);
}
export declare class HttpTransport implements EthereumTransport {
    private url;
    private config;
    private httpAgent;
    private counters;
    private aggregates;
    constructor(url: string, config: HttpTransportConfig);
    get source(): string;
    get originHost(): string;
    send(request: JsonRpcRequest): Promise<JsonRpcResponse>;
    sendBatch(request: JsonRpcRequest[]): Promise<JsonRpcResponse[]>;
    sendInternal(request: JsonRpcRequest | JsonRpcRequest[]): Promise<JsonRpcResponse | JsonRpcResponse[]>;
    get stats(): {
        httpClient: import("../utils/stats").Stats;
        requests: number;
        errors: number;
    };
    flushStats(): {
        requests: number;
        errors: number;
    };
}
