import { StructTag } from '@manahippo/move-to-ts'; import { HexString, Types } from 'aptos'; import { DexType, PriceType, QuoteType, TradingPool, UITokenAmount } from '../types'; import { App } from '../../generated'; import { CoinInfo } from '../../generated/coin_list/coin_list'; declare type AptoswapSwapType = 'v2' | 'stable'; declare type AptoswapFeeDirection = 'X' | 'Y'; interface AptoswapCoinType { network: string; name: string; } interface AptoswapPoolType { xTokenType: AptoswapCoinType; yTokenType: AptoswapCoinType; } declare class AptoswapPoolInfo { static BPS_SCALING: bigint; type: AptoswapPoolType; typeString: string; index: number; swapType: AptoswapSwapType; x: bigint; y: bigint; lspSupply: bigint; feeDirection: AptoswapFeeDirection; freeze: boolean; adminFee: bigint; lpFee: bigint; incentiveFee: bigint; connectFee: bigint; withdrawFee: bigint; _fAdmin: number; _fLp: number; _aAdmin: number; _aLp: number; static mapResourceToPoolInfo: (resource: Types.MoveResource) => AptoswapPoolInfo | null; constructor({ type, typeString, index, swapType, x, y, lspSupply, feeDirection, freeze, adminFee, lpFee, incentiveFee, connectFee, withdrawFee }: { type: AptoswapPoolType; typeString: string; index: number; swapType: AptoswapSwapType; x: bigint; y: bigint; lspSupply: bigint; feeDirection: AptoswapFeeDirection; freeze: boolean; adminFee: bigint; lpFee: bigint; incentiveFee: bigint; connectFee: bigint; withdrawFee: bigint; }); totalAdminFee: () => bigint; totalLpFee: () => bigint; isAvaliableForSwap: () => boolean; getPrice: () => number; getPriceBuy: () => number; getPriceSell: () => number; getXToYAmount: (dx: bigint) => bigint; getYToXAmount: (dy: bigint) => bigint; getPriceBuyWithInput: (dy: bigint) => number; getPriceSellWithInput: (dx: bigint) => number; getPriceBuySlippage: (dy: bigint) => number; getPriceSellSlippage: (dx: bigint) => number; getXToYMinOutputAmount: (dx: bigint, slippage: number) => bigint; getYToXMinOutputAmount: (dy: bigint, slippage: number) => bigint; getDepositXAmount: (y: bigint) => bigint; getDepositYAmount: (x: bigint) => bigint; isInitialized: () => boolean; _computeAmount: (dx: bigint, x: bigint, y: bigint) => bigint; } export declare class AptoswapTradingPool extends TradingPool { packageAddr: HexString; _xCoinInfo: CoinInfo; _yCoinInfo: CoinInfo; tag: StructTag; pool: AptoswapPoolInfo; constructor(packageAddr: HexString, tag: StructTag, xCoinInfo: CoinInfo, yCoinInfo: CoinInfo, resource: Types.MoveResource); get dexType(): DexType; get poolType(): import("@manahippo/move-to-ts").U64; get isRoutable(): boolean; get xCoinInfo(): CoinInfo; get yCoinInfo(): CoinInfo; isStateLoaded(): boolean; reloadState(app: App): Promise; getPrice(): PriceType; getQuote(inputUiAmt: UITokenAmount, isXtoY: boolean): QuoteType; makePayload(inputUiAmt: UITokenAmount, minOutAmt: UITokenAmount): Types.EntryFunctionPayload; } export {}; //# sourceMappingURL=AptoswapTradingPool.d.ts.map