import { Transaction } from "@mysten/sui/transactions"; import { FlashRepayParams } from "./types.js"; import type { AlphalendClient } from "./client.js"; export declare function getNaviFlashLoanSupportedCoinTypes(options?: { env?: "prod"; cacheTime?: number; }): Promise>; export declare function getNaviFlashLoanFeeForCoinType(coinType: string, options?: { cacheTime?: number; }): Promise; /** * Builds a flash repay transaction (break out of looping position via Navi flash loan). * Supports full or partial repay: pass optional repayAmountBaseUnits to repay only that amount; omit for full exit. * * Steps: * 1. Flash borrow repay coin from Navi (repay amount + Navi flash loan fee for this asset); get Balance + receipt. * 2. Convert Balance → Coin so it can be used in AlphaLend repay. * 3. Repay (full or partial) debt on AlphaLend; receive leftover repay-coin (if any). * 4. Update oracle prices for position coins (mainnet only). * 5. Withdraw collateral in withdraw-coin (amount = flash loan value + slippage buffer so enough after swap to repay Navi). * 6. If withdraw ≠ repay coin: swap withdrawn collateral → repay coin via Cetus; else use as-is. * 7. Merge swap/same-coin output with leftover from repay into one coin. * 8–9. Convert to Balance and repay flash loan to Navi; receive remaining balance. * 10. Repay same-coin debt with that balance (clears dust); AlphaLend returns leftover coin. * 11. Transfer leftover to user. */ export declare function buildFlashRepayTransaction(client: AlphalendClient, params: FlashRepayParams): Promise; //# sourceMappingURL=flashRepay.d.ts.map