/// /// import BigNumber from 'bignumber.js'; import BN from 'bn.js'; import { TokenPrice, Yield } from '@sonarwatch/portfolio-core'; import { PublicKey } from '@solana/web3.js'; import { PersonalPositionState, PoolState, TickArrayState } from './structs/clmms'; import { ParsedAccount } from '../../utils/solana'; import { PortfolioAssetTokenParams } from '../../utils/elementbuilder/Params'; export declare function raydiumTickToPriceX64(tick: number): BN; export declare function getRaydiumTokenAmountsFromLiquidity(sqrtPriceCurrentX64: BigNumber, sqrtPriceX64A: BigNumber, sqrtPriceX64B: BigNumber, liquidity: BigNumber, roundUp: boolean): { tokenAmountA: BigNumber; tokenAmountB: BigNumber; }; export declare function getStakePubKey(owner: string): PublicKey; export declare function getFarmYield(rewardToken: TokenPrice, rewardPerBlock: BigNumber, tvl: number, slotsPerSec?: number): Yield; export declare function getPendingAssetParams(depositBalance: BigNumber, rewardDebt: BigNumber, perShare: BigNumber, rewardToken: TokenPrice, multiplier: number | BigNumber): PortfolioAssetTokenParams; export declare const getTickArrayAddress: (programId: string, poolId: string, tickNumber: number, tickSpacing: number) => PublicKey; export declare const getFeesAndRewardsBalance: (personalPositionInfo: ParsedAccount, poolStateInfo: ParsedAccount, tickArrays: (ParsedAccount | null)[]) => { tokenFeeAmountA: BigNumber; tokenFeeAmountB: BigNumber; rewards: BigNumber[]; } | null; export declare function hasAcceptedPairAndEnoughLiquidity(mints: string[], amounts: BigNumber[], tokenPrices: (TokenPrice | undefined)[]): boolean;