///
import { StateManager } from "@nomicfoundation/ethereumjs-statemanager";
import { Account, Address } from "@nomicfoundation/ethereumjs-util";
import { JsonRpcClient } from "../../jsonrpc/client";
import { GenesisAccount } from "../node-types";
export declare class ForkStateManager implements StateManager {
private readonly _jsonRpcClient;
private readonly _forkBlockNumber;
private _state;
private _initialStateRoot;
private _stateRoot;
private _stateRootToState;
private _originalStorageCache;
private _stateCheckpoints;
private _contextBlockNumber;
private _contextChanged;
constructor(_jsonRpcClient: JsonRpcClient, _forkBlockNumber: bigint);
initializeGenesisAccounts(genesisAccounts: GenesisAccount[]): Promise;
copy(): ForkStateManager;
getAccount(address: Address): Promise;
putAccount(address: Address, account: Account): Promise;
touchAccount(_address: Address): void;
putContractCode(address: Address, value: Buffer): Promise;
getContractCode(address: Address): Promise;
getContractStorage(address: Address, key: Buffer): Promise;
putContractStorage(address: Address, key: Buffer, value: Buffer): Promise;
clearContractStorage(address: Address): Promise;
checkpoint(): Promise;
commit(): Promise;
revert(): Promise;
getStateRoot(): Promise;
setStateRoot(stateRoot: Buffer): Promise;
dumpStorage(_address: Address): Promise>;
hasGenesisState(): Promise;
generateCanonicalGenesis(): Promise;
generateGenesis(_initState: any): Promise;
accountIsEmpty(address: Address): Promise;
cleanupTouchedAccounts(): Promise;
setBlockContext(stateRoot: Buffer, blockNumber: bigint, irregularState?: Buffer): void;
restoreForkBlockContext(stateRoot: Buffer): void;
accountExists(_address: Address): never;
deleteAccount(address: Address): Promise;
clearOriginalStorageCache(): void;
getOriginalContractStorage(address: Address, key: Buffer): Promise;
private _putAccount;
private _setStateRoot;
hasStateRoot(root: Buffer): Promise;
flush(): Promise;
modifyAccountFields(address: Address, accountFields: any): Promise;
}
//# sourceMappingURL=ForkStateManager.d.ts.map