import type { Address } from 'viem'; import type { GauntletClient } from '../client'; import { PreparedTx } from '../attribution'; export interface EvmDepositParams { vaultId: string; amount: bigint; chainId?: number; assetSymbol?: string; /** Request async (queued) or sync deposit. Availability is read from live vault configuration. */ depositMode?: string; receiver?: Address; /** Slippage tolerance in basis points (e.g. 100 = 1%). Defaults to 100. */ slippageBps?: number; /** Solver tip passed to async Aera provisioner requests. Defaults to 0. */ solverTip?: bigint; /** Maximum price age passed to async Aera provisioner requests. Defaults to 10 days. */ maxPriceAge?: bigint; } /** * Builds the ordered list of EVM transactions required to deposit into a Gauntlet vault. * * Returns one or two transactions: an ERC-20 approval (only if the current allowance is * insufficient) followed by the deposit or async deposit request. Each transaction is * returned as a `PreparedTx` object ready to be signed and sent. * * @param client - A configured `GauntletClient` instance with an EVM public client and wallet. * @param params - Deposit parameters including the vault identifier, token amount, and optional * chain, asset symbol, deposit mode (`'sync'` | `'async'`), and receiver address. * @returns Ordered array of prepared transactions to execute in sequence. * * @throws {VaultNotFoundError} If the vault ID is not found in the manifest. * @throws {AccountRequiredError} If no wallet account is set on the client. * @throws {UnsupportedDepositModeError} If the requested deposit mode is not supported by the vault. * @throws {UnsupportedAssetError} If the specified asset symbol is not accepted by the vault. * * @example * ```ts * const txs = await getDepositTx(client, { * vaultId: 'baseUsdcPrime', * amount: 100_000_000n, // 100 USDC (6 decimals) * }); * for (const tx of txs) { * await walletClient.sendTransaction(tx.tx); * } * ``` */ export declare function getDepositTx(client: GauntletClient, params: EvmDepositParams): Promise; //# sourceMappingURL=deposit.d.ts.map