import { PoolState, ModifyLiquidityParams, Pool } from '../types'; import { DeepReadonly } from 'ts-essentials'; import { SwapSide } from '@paraswap/core'; import { Logger } from 'log4js'; import { IBaseHook } from '../hooks/types'; type SwapParams = { amountSpecified: bigint; tickSpacing: bigint; zeroForOne: boolean; sqrtPriceLimitX96: bigint; lpFeeOverride: bigint; }; declare class UniswapV4PoolMath { queryOutputs(pool: Pool, poolState: DeepReadonly, amounts: bigint[], zeroForOne: boolean, side: SwapSide, hook?: IBaseHook): bigint[]; _swap(poolState: PoolState, params: SwapParams): [bigint, bigint]; tickSpacingToMaxLiquidityPerTick(tickSpacing: bigint): bigint; checkPoolInitialized(poolState: PoolState): void; modifyLiquidity(poolState: PoolState, { liquidityDelta, tickLower, tickUpper, tickSpacing, }: ModifyLiquidityParams): { delta: bigint; } | undefined; setProtocolFee(poolState: PoolState, protocolFee: bigint): void; donate(poolState: PoolState, amount0: bigint, amount1: bigint): bigint; swapFromEvent(poolState: PoolState, zeroForOne: boolean, newSqrtPriceX96: bigint, newTick: bigint, newLiquidity: bigint, newSwapFee: bigint, amount0: bigint, amount1: bigint, logger: Logger): void; } export declare const uniswapV4PoolMath: UniswapV4PoolMath; export {};