import { PoolKey } from '../types'; import { ShiftMode } from './ShiftMode'; export declare abstract class CarpetedDoubleGeometricDistribution { static query(key: PoolKey, roundedTick: bigint, twapTick: bigint, spotPriceTick: bigint, ldfParams: string, ldfState: string): { liquidityDensityX96_: bigint; cumulativeAmount0DensityX96: bigint; cumulativeAmount1DensityX96: bigint; newLdfState: string; shouldSurge: boolean; }; static computeSwap(key: PoolKey, inverseCumulativeAmountInput: bigint, totalLiquidity: bigint, zeroForOne: boolean, exactIn: boolean, twapTick: bigint, spotPriceTick: bigint, ldfParams: string, ldfState: string): { success: boolean; roundedTick: bigint; cumulativeAmount0_: bigint; cumulativeAmount1_: bigint; swapLiquidity: bigint; }; static cumulativeAmount0(key: PoolKey, roundedTick: bigint, totalLiquidity: bigint, twapTick: bigint, spotPriceTick: bigint, ldfParams: string, ldfState: string): bigint; static cumulativeAmount1(key: PoolKey, roundedTick: bigint, totalLiquidity: bigint, twapTick: bigint, spotPriceTick: bigint, ldfParams: string, ldfState: string): bigint; static _decodeState(ldfState: string): { initialized: boolean; lastMinTick: bigint; }; static _encodeState(lastMinTick: bigint): string; } export declare abstract class LibCarpetedDoubleGeometricDistribution { static query(roundedTick: bigint, tickSpacing: bigint, params: Params): { liquidityDensityX96_: bigint; cumulativeAmount0DensityX96: bigint; cumulativeAmount1DensityX96: bigint; }; static cumulativeAmount0(roundedTick: bigint, totalLiquidity: bigint, tickSpacing: bigint, params: Params): bigint; static cumulativeAmount1(roundedTick: bigint, totalLiquidity: bigint, tickSpacing: bigint, params: Params): bigint; static inverseCumulativeAmount0(cumulativeAmount0_: bigint, totalLiquidity: bigint, tickSpacing: bigint, params: Params): { success: boolean; roundedTick: bigint; }; static inverseCumulativeAmount1(cumulativeAmount1_: bigint, totalLiquidity: bigint, tickSpacing: bigint, params: Params): { success: boolean; roundedTick: bigint; }; static liquidityDensityX96(roundedTick: bigint, tickSpacing: bigint, params: Params): bigint; static computeSwap(inverseCumulativeAmountInput: bigint, totalLiquidity: bigint, zeroForOne: boolean, exactIn: boolean, tickSpacing: bigint, params: Params): { success: boolean; roundedTick: bigint; cumulativeAmount0_: bigint; cumulativeAmount1_: bigint; swapLiquidity: bigint; }; static getCarpetedLiquidity(totalLiquidity: bigint, tickSpacing: bigint, minTick: bigint, length: bigint, weightCarpet: bigint): { leftCarpetLiquidity: bigint; mainLiquidity: bigint; rightCarpetLiquidity: bigint; minUsableTick: bigint; maxUsableTick: bigint; }; static decodeParams(twapTick: bigint, tickSpacing: bigint, ldfParams: string): Params; } type Params = { minTick: bigint; length0: bigint; alpha0X96: bigint; weight0: bigint; length1: bigint; alpha1X96: bigint; weight1: bigint; weightCarpet: bigint; shiftMode: ShiftMode; }; export {};