import type { SuiClient } from '@mysten/sui/client'; import type { Transaction } from '@mysten/sui/transactions'; import type { Balance, CoinInRecord } from '../types'; import type { AMM, ProvideLiquidityArgs, RemoveLiquidityArgs } from './types'; export declare abstract class GenericAMM implements AMM { client: SuiClient; protected abstract readonly objectId: string; constructor(client: SuiClient); abstract provideLiquidity(args: ProvideLiquidityArgs): Promise; abstract removeLiquidity(args: RemoveLiquidityArgs): Promise; abstract quoteProvideLiquidity(args: ProvideLiquidityArgs): Promise; abstract quoteRemoveLiquidity(args: RemoveLiquidityArgs): Promise; }