import type { SuiClient } from '@mysten/sui/client'; import type { Transaction } from '@mysten/sui/transactions'; import type { CLMM, ClosePositionArgs, CollectFeesArgs, CreatePositionArgs, DecreasePositionArgs, IncreasePositionArgs, QuoteAmountsOutResponse, QuoteClosePositionArgs, QuoteClosePositionResponse, QuoteCollectFeesArgs, QuoteCollectFeesResponse, QuoteCreatePositionArgs, QuoteDecreasePositionArgs, QuoteIncreasePositionArgs } from './types'; export declare abstract class GenericCLMM implements CLMM { client: SuiClient; protected abstract readonly objectId: string; constructor(client: SuiClient); abstract createPosition(args: CreatePositionArgs): Promise; abstract increasePosition(args: IncreasePositionArgs): Promise; abstract decreasePosition(args: DecreasePositionArgs): Promise; abstract closePosition(args: ClosePositionArgs): Promise; abstract collectFees(args: CollectFeesArgs): Promise; abstract quoteCreatePosition(args: QuoteCreatePositionArgs): Promise; abstract quoteIncreasePosition(args: QuoteIncreasePositionArgs): Promise; abstract quoteDecreasePosition(args: QuoteDecreasePositionArgs): Promise; abstract quoteClosePosition(args: QuoteClosePositionArgs): Promise; abstract quoteCollectFees(args: QuoteCollectFeesArgs): Promise; }