import type { NetworkClientId } from '@metamask/network-controller'; import type { Hex } from '@metamask/utils'; import type { TransactionControllerMessenger } from '../TransactionController.js'; import type { Revert, SimulationData, TransactionParams, NestedTransactionMetadata, GetSimulationConfig } from '../types.js'; export declare enum SupportedToken { ERC20 = "erc20", ERC721 = "erc721", ERC1155 = "erc1155", ERC20_WRAPPED = "erc20Wrapped", ERC721_LEGACY = "erc721Legacy" } export type GetBalanceChangesRequest = { blockTime?: number; chainId: Hex; messenger: TransactionControllerMessenger; networkClientId: NetworkClientId; getSimulationConfig: GetSimulationConfig; nestedTransactions?: NestedTransactionMetadata[]; txParams: TransactionParams; }; /** * Generate simulation data for a transaction. * * @param request - The transaction to simulate. * @param request.chainId - The chain ID of the transaction. * @param request.from - The sender of the transaction. * @param request.to - The recipient of the transaction. * @param request.value - The value of the transaction. * @param request.data - The data of the transaction. * @param request.getSimulationConfig - Optional transaction simulation parameters. * @returns The simulation data. */ export declare function getBalanceChanges(request: GetBalanceChangesRequest): Promise<{ simulationData: SimulationData; gasUsed?: Hex; simulationRevert?: Revert; }>; //# sourceMappingURL=balance-changes.d.ts.map