import { DecodedStruct, TypeDescriptor } from '@typemove/move'; import { BigDecimal } from '@sentio/bigdecimal'; import { Gauge } from '../../core/index.js'; import { MoveAccountContext, MoveContext } from '../move-context.js'; import { MoveCoinList, BaseCoinInfo } from './coin.js'; export interface MovePoolAdaptor { getXReserve(pool: T): bigint; getYReserve(pool: T): bigint; getExtraPoolTags(pool: DecodedStruct): any; poolType: TypeDescriptor; } export declare class MoveDex, AccountContextType extends MoveAccountContext, T> { coinList: MoveCoinList; poolAdaptor: MovePoolAdaptor; volume: Gauge; volumeByCoin: Gauge; tvlAll: Gauge; tvlByPool: Gauge; tvlByCoin: Gauge; constructor(volume: Gauge, volumeByCoin: Gauge, tvlAll: Gauge, tvlByCoin: Gauge, tvlByPool: Gauge, poolAdaptor: MovePoolAdaptor); recordTradingVolume(ctx: ContextType, coinx: string, coiny: string, coinXAmount: bigint, coinYAmount: bigint, extraLabels?: any): Promise; syncPools(resources: StructType[], ctx: AccountContextType, poolsHandler?: (pools: DecodedStruct[]) => Promise | void): Promise; getPair(coinx: string, coiny: string, network: Network): Promise; } export declare function moveGetPairValue>(coinList: MoveCoinList, ctx: ContextType, coinx: string, coiny: string, coinXAmount: bigint, coinYAmount: bigint): Promise; //# sourceMappingURL=move-dex.d.ts.map