/** * Local unwrap operations for liquidity manager. */ import type { EvmReadProvider, EvmWriteProvider } from "../../types/evm.js"; import { type FeeOverrides } from "../../utils/fees.js"; import type { LiquidityActionResult, LocalUnwrapQuote } from "./types.js"; /** * Parameters for `unwrapWithLiquidityManager`. */ export interface LocalUnwrapParams { /** Write provider used to sign and submit transactions. */ writeProvider: EvmWriteProvider; /** Optional read provider for reads and receipt polling. */ readProvider?: EvmReadProvider; /** Liquidity manager contract address. */ liquidityManagerAddress: string; /** zERC20 token contract address. */ zerc20TokenAddress: string; /** Amount to unwrap (bigint-like). */ amount: bigint | number | string; /** Recipient of the underlying token. Defaults to the wallet's account. */ recipient?: string; /** Optional fee overrides (e.g., gas, maxFeePerGas). */ feeOverrides?: FeeOverrides; /** * Minimum acceptable output amount. * @remarks * If provided, the SDK re-quotes `quoteUnwrapFee` and rejects the transaction client-side * when `expectedOut < minAmountOut` (pre-flight slippage check). */ minAmountOut?: bigint; } /** * Quote local unwrap fee and expected output for a given amount. * @param params.provider - Provider to use for contract reads. * @param params.liquidityManagerAddress - Liquidity manager contract address. * @param params.amount - Amount to unwrap (bigint-like). */ export declare function quoteLocalUnwrap(params: { provider: EvmReadProvider; liquidityManagerAddress: string; amount: bigint | number | string; }): Promise; /** * Unwrap zERC20 into the underlying token via the liquidity manager. * @remarks * - This may submit an `approve` transaction for the zERC20 if allowance is insufficient. * - If `minAmountOut` is provided, a pre-flight re-quote is performed before submitting the transaction. * @throws If `amount` is not positive. * @throws If the pre-flight slippage check fails (`expectedOut < minAmountOut`). * @returns Transaction hash for the unwrap, plus optional approval transaction hash. */ export declare function unwrapWithLiquidityManager(params: LocalUnwrapParams): Promise; //# sourceMappingURL=unwrap.d.ts.map