import { PoolState, MoveData, Tick, Bin, TickData, RemoveLiquidityParams, AddLiquidityParams } from '../types'; import { Delta } from './maverick-delta-math'; export declare class MaverickPoolMath { private feeAIn; private feeBIn; private lookback; private tickSpacing; private protocolFeeRatioD3; private activeTick; private tokenADecimals; private tokenBDecimals; state: PoolState; tokenAScale: bigint; tokenBScale: bigint; timestamp: bigint; constructor(feeAIn: bigint, feeBIn: bigint, lookback: bigint, tickSpacing: bigint, protocolFeeRatioD3: bigint, activeTick: bigint, tokenADecimals: bigint, tokenBDecimals: bigint); advanceTime(delta: bigint): void; combine(self: Delta, delta: Delta): void; estimateSwap(state: PoolState, amount: bigint, tokenAIn: boolean, exactOutput: boolean, tickLimit: bigint): [bigint, bigint]; swap(state: PoolState, timestamp: bigint, amount: bigint, tokenAIn: boolean, exactOutput: boolean, tickLimit: bigint): [bigint, bigint]; moveBins(startingActiveTick: bigint, activeTick: bigint, lastTwapD8: bigint, newTwapD8: bigint, boundary: bigint): void; moveDirection(moveData: MoveData): void; getMovementBinsInRange(moveData: MoveData): void; binIdByTickKind(tick: bigint, kind: bigint): bigint; moveBinToNewTick(firstBin: Bin, startingTickState: Tick, endingTickState: Tick, moveData: MoveData): void; mergeBinsInList(firstBin: Bin, firstBinTickState: Tick, moveData: MoveData): void; mergeAndDecommissionBin(binIdToBeMerged: bigint, parentBinId: bigint, parentBin: Bin, parentBinTick: Tick, kind: bigint): [bigint, bigint, bigint]; removeLiquidity(state: PoolState, timestamp: bigint, params: RemoveLiquidityParams): void; getOrCreateBin(kind: bigint, tick: bigint): [bigint, Bin]; migrateBinUpStack(binId: bigint, maxRecursion: bigint): void; setState(state: PoolState): void; addLiquidity(state: PoolState, timestamp: bigint, params: AddLiquidityParams): void; tickSqrtPriceAndLiquidity(tick: bigint): [bigint, bigint, bigint, TickData]; swapTick(delta: Delta): Delta; fee(tokenAIn: boolean): bigint; allocateSwapValuesToTick(delta: Delta, tokenAIn: boolean, tick: bigint): void; }