import { UserRequest } from './withdraw.mjs'; import 'viem'; import '../../api/vault-config.mjs'; import 'viem/chains'; import '../config.mjs'; import '../../contracts/atomic-queue-abi.mjs'; import '../../contracts/boring-vault-abi.mjs'; import '../bridge.mjs'; import '../../api/teller.mjs'; import '../../contracts/teller-abi.mjs'; import '../tokens.mjs'; /** * Prepares a withdrawal request with the specified parameters * @param redeemAmount The amount of tokens to be redeemed * @param atomicPrice The current atomic price for the withdrawal * @param deadline Optional timestamp for when the request expires * @returns UserRequest object with withdrawal parameters */ declare const prepareUserRequest: (offerAmount: bigint, atomicPrice: bigint, deadline: number) => UserRequest; /** * Calculates the final redeem amount accounting for exchange rate and slippage * @param amount The initial amount to be redeemed * @param exchangeRate The current exchange rate between tokens * @param slippage The slippage tolerance as a decimal (e.g., 0.01 for 1%) * @returns The final redeem amount after applying exchange rate and slippage */ /** * * @param rateInQuote in want asset decimals * @param wantAssetDecimals in want asset decimals * @param slippage in bps (e.g., 20 for 0.2%) 20 in 4 decimals = 20 / 10000 = 0.002 = 0.2% * @returns atomic price in want asset decimals */ declare const calculateAtomicPrice: (rateInQuote: bigint, wantAssetDecimals: number, slippage: number) => bigint; export { calculateAtomicPrice, prepareUserRequest };