/// /// import { PublicKey } from '@solana/web3.js'; import BN from 'bn.js'; import BigNumber from 'bignumber.js'; import { BinLiquidity, LMRewards, PositionData, PositionVersion, SwapFee } from '../types'; import { Bin, BinArray, DLMMPosition, LbPair } from './structs'; export declare const MAX_BIN_ARRAY_SIZE: BN; export declare const SCALE_OFFSET = 64; export declare const BASIS_POINT_MAX = 10000; export declare function binIdToBinArrayIndex(binId: BigNumber): BN; export declare function deriveBinArrayBitmapExtension(lbPair: PublicKey, programId: PublicKey): [PublicKey, number]; export declare function deriveBinArray(lbPair: PublicKey, index: BN, programId: PublicKey): [PublicKey, number]; export declare function processPosition(program: PublicKey, version: PositionVersion, lbPair: LbPair, position: DLMMPosition, baseTokenDecimal: number, quoteTokenDecimal: number, lowerBinArray: BinArray, upperBinArray: BinArray): PositionData | null; export declare function getBinsBetweenLowerAndUpperBound(lbPair: LbPair, lowerBinId: number, upperBinId: number, baseTokenDecimal: number, quoteTokenDecimal: number, lowerBinArrays: BinArray, upperBinArrays: BinArray): BinLiquidity[]; export declare function getClaimableLMReward(program: PublicKey, positionVersion: PositionVersion, lbPair: LbPair, onChainTimestamp: number, position: DLMMPosition, lowerBinArray: BinArray, upperBinArray: BinArray): LMRewards; export declare function getClaimableSwapFee(program: PublicKey, positionVersion: PositionVersion, position: DLMMPosition, lowerBinArray: BinArray, upperBinArray: BinArray): SwapFee; export declare function getBinFromBinArray(binId: number, binArray: BinArray): Bin; export declare function getBinArrayLowerUpperBinId(binArrayIndex: BigNumber): BigNumber[]; export declare enum Rounding { Up = 0, Down = 1 } export declare function mulShr(x: BN, y: BN, offset: number, rounding: Rounding): BigNumber; export declare function shlDiv(x: BN, y: BN, offset: number, rounding: Rounding): BigNumber; export declare function mulDiv(x: BN, y: BN, denominator: BN, rounding: Rounding): BigNumber; export declare function getPriceOfBinByBinId(binStep: number, binId: number): string; export declare function getTokensAmountsFromLiquidity(position: DLMMPosition, pool: LbPair, lowerBinArray: BinArray, upperBinArray: BinArray, baseTokenDecimal: number, quoteTokenDecimal: number): { tokenAmountA: BigNumber; tokenAmountB: BigNumber; };