import { OutputResult, PoolState } from '../types'; import { DeepReadonly } from 'ts-essentials'; import { SwapSide } from '@paraswap/core'; type ModifyPositionParams = { tickLower: bigint; tickUpper: bigint; liquidityDelta: bigint; }; export type PriceComputationState = { amountSpecifiedRemaining: bigint; amountCalculated: bigint; sqrtPriceX96: bigint; tick: bigint; protocolFee: bigint; liquidity: bigint; isFirstCycleState: boolean; }; export type PriceComputationCache = { tickCount: number; }; export declare function _updatePriceComputationObjects(toUpdate: T, updateBy: T): void; declare class UniswapV3Math { queryOutputs(poolState: DeepReadonly, amounts: bigint[], zeroForOne: boolean, side: SwapSide): OutputResult; swapFromEvent(poolState: PoolState, newSqrtPriceX96: bigint, newTick: bigint, newLiquidity: bigint, zeroForOne: boolean): void; _modifyPosition(state: PoolState, params: ModifyPositionParams): [bigint, bigint]; private _isTickToProcess; private _updatePosition; private _blockTimestamp; } export declare const uniswapV3Math: UniswapV3Math; export {};