export = BatchRequester;
declare class BatchRequester {
    /**
     * BatchRequester constructor.
     *
     * @param {import('../Conflux').Conflux} conflux - A Conflux instance
     */
    constructor(conflux: any);
    conflux: any;
    requests: any[];
    decoders: any[];
    accountNextNonces: {};
    accountUsedNonces: {};
    /**
     * Add RPC method request to batch builder
     * @param {object} A - request meta info object, include 'request' and 'decoder'
     * @param {object} A.request - JSON-RPC request object, include `method` and `params` array
     * @param {function} A.decoder - Response decoder
     * @example
     * Low level example:
     * batchRequester.add({
     *  "request": {
     *    "method": "cfx_getStatus",
     *    "params": []
     *  },
     *  "decoder": decoderFunction
     * });
     *
     * Use RPC method's request method to build request:
     * batchRequester.add(conflux.cfx.getBalance.request('cfxtest:aasm4c231py7j34fghntcfkdt2nm9xv1tu6jd3r1s7'));
     */
    add({ request, decoder }: {
        request: object;
        decoder: Function;
    }): void;
    addTransaction(txOption: any): void;
    /**
     * Clear Batch requester's requests and decoders
     */
    clear(): void;
    /**
     * Batch send the RPC requests, retrive the responses and decode
     * @returns {Array}
     * @example await batchRequester.execute();
     */
    execute(): any[];
    _prepareTxNonce(): Promise<void>;
    _prepareTxCommonInfo(): Promise<void>;
    _prepareGasAndStorage(): Promise<void>;
    _markNonceUsed(from: any, nonce: any): void;
    _isNonceUsed(from: any, nonce: any): any;
    _getTxCommonInfo(): Promise<{
        epochHeight: any;
        gasPrice: any;
        chainId: any;
    }>;
    _getNextNonce(from: any): Promise<any>;
}
//# sourceMappingURL=BatchRequester.d.ts.map