import { TypeTag } from '@manahippo/move-to-ts'; import { Types } from 'aptos'; import { CoinInfo } from '../generated/coin_list/coin_list'; import { App } from '../generated'; import { CoinListClient } from '../coinlist'; export declare type UITokenAmount = number; export declare type UITokenAmountRatio = number; export declare type PriceType = { xToY: UITokenAmountRatio; yToX: UITokenAmountRatio; }; export declare type QuoteType = { inputSymbol: string; outputSymbol: string; inputUiAmt: UITokenAmount; outputUiAmt: UITokenAmount; avgPrice: UITokenAmountRatio; initialPrice?: UITokenAmountRatio; finalPrice?: UITokenAmountRatio; priceImpact?: number; }; export declare abstract class TradingPool { abstract get isRoutable(): boolean; abstract get xCoinInfo(): CoinInfo; abstract get yCoinInfo(): CoinInfo; get xTag(): TypeTag; get yTag(): TypeTag; abstract isStateLoaded(): boolean; abstract reloadState(app: App): Promise; abstract getPrice(): PriceType; abstract getQuote(inputUiAmt: UITokenAmount, isXtoY: boolean): QuoteType; abstract makePayload(inputUiAmt: UITokenAmount, minOutAmt: UITokenAmount): Types.EntryFunctionPayload; getTagE(): TypeTag; } export declare abstract class TradingPoolProvider { app: App; netConfig: import("../config").NetworkConfiguration; registry: CoinListClient; constructor(app: App, netConfig: import("../config").NetworkConfiguration, registry: CoinListClient); abstract loadPoolList(): Promise; reloadAllPoolState(): Promise; } //# sourceMappingURL=types.d.ts.map