import { type Address } from "viem"; import { type Metadata, type Transaction, type VaultV1RedeemAction } from "../../types"; export interface VaultV1RedeemParams { vault: { address: Address; }; args: { shares: bigint; recipient: Address; onBehalf: Address; }; metadata?: Metadata; } /** * Prepares a redeem transaction for a VaultV1 (MetaMorpho) contract. * * Direct vault call — no bundler needed. Redeem has no inflation attack surface. * * @param {Object} params - The redeem parameters. * @param {Object} params.vault - The vault identifiers. * @param {Address} params.vault.address - The vault address. * @param {Object} params.args - The redeem arguments. * @param {bigint} params.args.shares - Amount of shares to redeem. * @param {Address} params.args.recipient - Receives the redeemed assets. * @param {Address} params.args.onBehalf - Address whose shares are burned. * @param {Metadata} [params.metadata] - Optional analytics metadata. * @returns {Readonly>} The prepared redeem transaction. */ export declare const vaultV1Redeem: ({ vault: { address: vaultAddress }, args: { shares, recipient, onBehalf }, metadata, }: VaultV1RedeemParams) => Readonly>;