import { PoolState, Bin } from '../types'; type Delta = { deltaInBinInternal: bigint; deltaInErc: bigint; deltaOutErc: bigint; excess: bigint; tokenAIn: boolean; endSqrtPrice: bigint; exactOutput: boolean; swappedToMaxPrice: boolean; skipCombine: boolean; decrementTick: boolean; sqrtPriceLimit: bigint; sqrtLowerTickPrice: bigint; sqrtUpperTickPrice: bigint; sqrtPrice: bigint; }; export declare class MaverickPoolMath { private dexKey; private fee; private tickSpacing; private protocolFeeRatio; state: PoolState; constructor(dexKey: string, fee: bigint, tickSpacing: bigint, protocolFeeRatio: bigint); combine(self: Delta, delta: Delta): void; pastMaxPrice(self: Delta): void; sqrtEdgePrice(self: Delta): bigint; noSwapReset(self: Delta): void; swap(state: PoolState, amount: bigint, tokenAIn: boolean, exactOutput: boolean, isForPricing?: boolean): [bigint, bigint]; _nothingToSwap(binReserveA: bigint, binReserveB: bigint, tokenAIn: boolean): boolean; swapTick(delta: Delta): Delta; adjustAB(bin: Bin, delta: Delta, thisBinAmount: bigint, totalAmount: bigint): void; _deltaAmount(liquidity: bigint, lowerSqrtPrice: bigint, upperSqrtPrice: bigint, isA: boolean): bigint; _amountToBin(deltaInErc: bigint, feeBases: bigint): bigint; computeSwapExactIn(sqrtEdgePrice: bigint, sqrtPrice: bigint, liquidity: bigint, reserveA: bigint, reserveB: bigint, amountIn: bigint, limitInBin: boolean, tokenAIn: boolean): Delta; computeSwapExactOut(sqrtPrice: bigint, liquidity: bigint, reserveA: bigint, reserveB: bigint, amountOut: bigint, tokenAIn: boolean): Delta; currentTickLiquidity(activeTick: bigint): [bigint, bigint, bigint, bigint, Bin[]]; getTickL(_reserveA: bigint, _reserveB: bigint, _sqrtLowerTickPrice: bigint, _sqrtUpperTickPrice: bigint): bigint; getTickSqrtPriceAndL(reserveA: bigint, reserveB: bigint, sqrtLowerTickPrice: bigint, sqrtUpperTickPrice: bigint): [bigint, bigint]; tickPrice(tickSpacing: bigint, _tick: bigint): bigint; } export {};