///
import { Block } from "@ethereumjs/block";
import Common from "@ethereumjs/common";
import { TypedTransaction } from "@ethereumjs/tx";
import { BN } from "ethereumjs-util";
import { JsonRpcClient } from "../../jsonrpc/client";
import { BlockchainBase } from "../BlockchainBase";
import { FilterParams } from "../node-types";
import { RpcLogOutput, RpcReceiptOutput } from "../output";
import { HardhatBlockchainInterface } from "../types/HardhatBlockchainInterface";
export declare class ForkBlockchain extends BlockchainBase implements HardhatBlockchainInterface {
private _jsonRpcClient;
private _forkBlockNumber;
private _latestBlockNumber;
constructor(_jsonRpcClient: JsonRpcClient, _forkBlockNumber: BN, common: Common);
getLatestBlockNumber(): BN;
getBlock(blockHashOrNumber: Buffer | number | BN): Promise;
addBlock(block: Block): Promise;
reserveBlocks(count: BN, interval: BN, previousBlockStateRoot: Buffer, previousBlockTotalDifficulty: BN, previousBlockBaseFeePerGas: BN | undefined): void;
deleteLaterBlocks(block: Block): void;
getTotalDifficulty(blockHash: Buffer): Promise;
getTransaction(transactionHash: Buffer): Promise;
getBlockByTransactionHash(transactionHash: Buffer): Promise;
getTransactionReceipt(transactionHash: Buffer): Promise;
getForkBlockNumber(): BN;
getLogs(filterParams: FilterParams): Promise;
private _getBlockByHash;
private _getBlockByNumber;
private _processRemoteBlock;
protected _delBlock(blockNumber: BN): void;
private _processRemoteTransaction;
private _processRemoteReceipt;
}
//# sourceMappingURL=ForkBlockchain.d.ts.map