import type { Account, Address, Chain, ContractFunctionArgs, PublicClient, SimulateContractReturnType, Transport } from 'viem'; import { type RawOrContractAddress } from '../../../types/addresses.js'; import { type L1SimulateActionBaseType } from '../../../types/l1Actions.js'; import { ABI, FUNCTION, type ProveWithdrawalTransactionParameters } from '../../wallet/L1/writeProveWithdrawalTransaction.js'; export type SimulateProveWithdrawalTransactionParameters = { args: ProveWithdrawalTransactionParameters; portal: RawOrContractAddress<_chainId>; } & L1SimulateActionBaseType, TChain, TChainOverride, TAccountOverride>; export type SimulateProveWithdrawalTransactionReturnType = SimulateContractReturnType, TChain, TAccount, TChainOverride, TAccountOverride>; /** * Simulates a call to proveWithdrawalTransaction on the OptimismPortal contract. * Is the first L1 step of a withdrawal. * * @param parameters - {@link SimulateProveWithdrawalTransactionParameters} * @returns A [Transaction Hash](https://viem.sh/docs/glossary/terms.html#hash). {@link WriteContractReturnType} */ export declare function simulateProveWithdrawalTransaction(client: PublicClient, { args: { withdrawalTransaction, L2OutputIndex, outputRootProof, withdrawalProof }, portal, ...rest }: SimulateProveWithdrawalTransactionParameters): Promise>; //# sourceMappingURL=simulateProveWithdrawalTransaction.d.ts.map