/** * SUNSWAP V4 concentrated liquidity position management. * * Uses modifyLiquidities(bytes payload, uint256 deadline) to interact with * CLPositionManager. Payload is built via ActionsPlanner from @sun-protocol/universal-router-sdk V4. * * Uses Permit2 for token approvals. */ import type { MintPositionV4Params, IncreaseLiquidityV4Params, DecreaseLiquidityV4Params, CollectPositionV4Params } from '../types'; import { type ContractContext } from './contracts'; export declare function getCLPositionManagerAddress(network: string): string; export declare function getPoolManagerAddress(network: string): string; export declare function getPermit2Address(network: string): string; export declare function mintPositionV4(ctx: ContractContext, params: MintPositionV4Params): Promise<{ txResult: unknown; computedAmounts?: { amount0Desired: string; amount1Desired: string; }; computedTicks?: { tickLower: number; tickUpper: number; }; poolCreated?: boolean; }>; export declare function increaseLiquidityV4(ctx: ContractContext, params: IncreaseLiquidityV4Params): Promise<{ txResult: unknown; computedAmounts?: { amount0Desired: string; amount1Desired: string; }; }>; export declare function decreaseLiquidityV4(ctx: ContractContext, params: DecreaseLiquidityV4Params): Promise<{ txResult: unknown; computedAmountMin?: { amount0Min: string; amount1Min: string; }; }>; export declare function collectPositionV4(ctx: ContractContext, params: CollectPositionV4Params): Promise<{ txResult: unknown; }>; export declare function getV4PositionInfo(ctx: ContractContext, network: string, positionManagerAddress: string, tokenId: string): Promise<{ poolKey: { currency0: string; currency1: string; fee: number; tickSpacing: number; }; tickLower: number; tickUpper: number; liquidity: string; } | null>; export declare function priceToSqrtPriceX96(price: number): string; export declare function sqrtPriceX96ToPrice(sqrtPriceX96: string | bigint): number; export declare function amountsToSqrtPriceX96(amount0: string | bigint, amount1: string | bigint, decimals0?: number, decimals1?: number): string; //# sourceMappingURL=positions-v4.d.ts.map