import type { EvmWalletAccount } from '../EvmWalletAccount.types'; import type { EvmSimulationResult, EvmTransactionToSimulate } from '../transactionSimulation.types'; type SimulateEvmTransactionParams = { includeFees?: boolean; transaction: EvmTransactionToSimulate; walletAccount: EvmWalletAccount; }; /** * Simulates an EVM transaction to preview its effects before execution. * * This function uses the Blockaid API to analyze the transaction and returns * information about asset transfers, security validation, and optionally fee estimates. * The simulation shows what will happen when the transaction is executed without * actually sending it to the blockchain. * * @param params.walletAccount - The EVM wallet account that will sign the transaction. * @param params.transaction - The transaction to simulate, including network ID. * @param params.includeFees - Whether to calculate transaction fees (default: false). * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients. * @returns Simulation result with asset diffs, security validation, and optional fee data. * @throws {InvalidParamError} If wallet account is not an EVM account or network ID is not configured. * @throws {SimulationFailedError} If the simulation API call fails. * @throws {FeeEstimationFailedError} If includeFees is true and fee calculation fails. * @not-instrumented */ export declare const simulateEvmTransaction: ({ walletAccount, transaction, includeFees, }: SimulateEvmTransactionParams, client?: import("@dynamic-labs-sdk/client").DynamicClient) => Promise; export {}; //# sourceMappingURL=simulateEvmTransaction.d.ts.map