import { BlockHeader } from "@ethereumjs/block"; import { RunTxResult, VM } from "@ethereumjs/vm"; import { NetworkName } from "@lodestar/config/networks"; import { ExecutionPayload } from "@lodestar/types"; import { Logger } from "@lodestar/utils"; import { ProofProvider } from "../proof_provider/proof_provider.js"; import { ELBlock, ELProof, ELTransaction } from "../types.js"; import { ELRpcProvider } from "./rpc_provider.js"; export declare function createVM({ proofProvider }: { proofProvider: ProofProvider; }): Promise; export declare function getVMWithState({ rpc, executionPayload, tx, vm, logger }: { rpc: ELRpcProvider; vm: VM; executionPayload: ExecutionPayload; tx: ELTransaction; logger: Logger; }): Promise; type VMState = Record; export declare function updateVMWithState({ vm, state }: { logger: Logger; state: VMState; vm: VM; }): Promise; export declare function executeVMCall({ rpc, tx, vm, executionPayload, network }: { rpc: ELRpcProvider; tx: ELTransaction; vm: VM; executionPayload: ExecutionPayload; network: NetworkName; }): Promise; export declare function executeVMTx({ rpc, tx, vm, executionPayload, network }: { rpc: ELRpcProvider; tx: ELTransaction; vm: VM; executionPayload: ExecutionPayload; network: NetworkName; }): Promise; export declare function getVMBlockHeaderFromELBlock(block: ELBlock, executionPayload: ExecutionPayload, network: NetworkName): BlockHeader; export {}; //# sourceMappingURL=evm.d.ts.map