import { BigDecimal } from '@sentio/bigdecimal';
import { MoveCoinList, MoveDex, MovePoolAdaptor, BaseCoinInfo } from '../../move/ext/index.js';
import { SuiEvent, SuiMoveNormalizedModule, SuiMoveObject } from '@mysten/sui/jsonRpc';
import { SuiNetwork } from '../network.js';
import { SuiContext, SuiObjectContext } from '../context.js';
export type PoolAdaptor<T> = MovePoolAdaptor<SuiMoveObject, T>;
export declare class CoinList implements MoveCoinList<BaseCoinInfo, SuiNetwork> {
    calculateValueInUsd(amount: bigint, coinInfo: BaseCoinInfo, timestamp: number): Promise<BigDecimal>;
    getCoinInfo(type: string): Promise<BaseCoinInfo>;
    whiteListed(type: string): boolean;
    whitelistCoins(): Map<string, BaseCoinInfo>;
}
export declare const SuiCoinList: CoinList;
export declare class SuiDex<T> extends MoveDex<BaseCoinInfo, SuiNetwork, SuiMoveNormalizedModule, SuiMoveObject, SuiEvent, SuiContext, SuiObjectContext, T> {
    coinList: CoinList;
    poolAdaptor: PoolAdaptor<T>;
}
export declare function getPairValue(ctx: SuiContext, coinx: string, coiny: string, coinXAmount: bigint, coinYAmount: bigint): Promise<BigDecimal>;
//# sourceMappingURL=move-dex.d.ts.map