/// <reference types="node" />
import { EventEmitter } from "events";
import { EthereumProvider, ProjectPaths } from "../../../types";
import { GenesisAccount } from "./node";
export declare class BuidlerEVMProvider extends EventEmitter implements EthereumProvider {
    private readonly _hardfork;
    private readonly _networkName;
    private readonly _chainId;
    private readonly _networkId;
    private readonly _blockGasLimit;
    private readonly _throwOnTransactionFailures;
    private readonly _throwOnCallFailures;
    private readonly _genesisAccounts;
    private readonly _solcVersion?;
    private readonly _paths?;
    private readonly _loggingEnabled;
    private readonly _allowUnlimitedContractSize;
    private readonly _initialDate?;
    private _common?;
    private _node?;
    private _ethModule?;
    private _netModule?;
    private _web3Module?;
    private _evmModule?;
    private _buidlerModule?;
    private readonly _mutex;
    private readonly _logger;
    private _methodBeingCollapsed?;
    private _methodCollapsedCount;
    constructor(_hardfork: string, _networkName: string, _chainId: number, _networkId: number, _blockGasLimit: number, _throwOnTransactionFailures: boolean, _throwOnCallFailures: boolean, _genesisAccounts?: GenesisAccount[], _solcVersion?: string | undefined, _paths?: ProjectPaths | undefined, _loggingEnabled?: boolean, _allowUnlimitedContractSize?: boolean, _initialDate?: Date | undefined);
    send(method: string, params?: any[]): Promise<any>;
    private _sendWithLogging;
    private _logCollapsedMethod;
    private _startCollapsingMethod;
    private _stopCollapsingMethod;
    private _shouldCollapseMethod;
    private _send;
    private _init;
    private _logModuleMessages;
    private _logError;
    private _log;
}
//# sourceMappingURL=provider.d.ts.map