import { TransactionArgument, TransactionResult } from '@mysten/sui/transactions'; import { Coin, NETWORK, Percent, TxBuilder } from '../core'; import { ClmmPosition } from './entities'; import { ClmmPoolManager } from './ClmmPoolManager'; import { CoinAmount } from '../core/entities/CoinAmount'; export interface IncreaseLiquidityOptions { slippageTolerance: Percent; deadline: number; coinXIn?: TransactionArgument; coinYIn?: TransactionArgument; createPosition?: boolean; } export interface DecreaseLiquidityOptions { slippageTolerance: Percent; deadline: number; collectOptions?: CollectOptions; } export interface CollectOptions { expectedCoinOwedX: CoinAmount; expectedCoinOwedY: CoinAmount; recipient?: string; } export interface CollectPoolRewardOptions { expectedRewardOwed: CoinAmount; recipient?: string; } export declare class ClmmPositionManager extends TxBuilder { network: NETWORK; poolManager: ClmmPoolManager; private i32; constructor(network: NETWORK, poolManager: ClmmPoolManager); openPosition(position: ClmmPosition): TransactionResult; closePosition(position: ClmmPosition): void; increaseLiquidity(position: ClmmPosition, options: IncreaseLiquidityOptions): TransactionResult | void; decreaseLiquidity(position: ClmmPosition, options: DecreaseLiquidityOptions): void | TransactionResult; collect(position: ClmmPosition, options: CollectOptions): TransactionResult | void; collectPoolReward(position: ClmmPosition, options: CollectPoolRewardOptions): TransactionResult | void; getPosition(positionId: string): Promise; getUserPositions(address: string): Promise; getPositionReward(positions: ClmmPosition[], maxQuery?: number): Promise; }