/// /// import { BeetStruct, FixableBeetStruct } from '@metaplex-foundation/beet'; import { PublicKey } from '@solana/web3.js'; import BigNumber from 'bignumber.js'; export type BaseFee = { cliffFeeNumerator: BigNumber; feeSchedulerMode: number; padding0: number[]; numberOfPeriod: number; periodFrequency: BigNumber; reductionFactor: BigNumber; padding1: BigNumber; }; export declare const baseFeeStruct: BeetStruct>; export type DynamicFee = { initialized: number; padding: number[]; maxVolatilityAccumulator: number; variableFeeControl: number; binStep: number; filterPeriod: number; decayPeriod: number; reductionFactor: number; lastUpdateTimestamp: BigNumber; binStepU128: BigNumber; sqrtPriceReference: BigNumber; volatilityAccumulator: BigNumber; volatilityReference: BigNumber; }; export declare const dynamicFeeStruct: BeetStruct>; export type PoolFees = { baseFee: BaseFee; protocolFeePercent: number; partnerFeePercent: number; referralFeePercent: number; padding0: number[]; dynamicFee: DynamicFee; padding1: BigNumber; padding2: BigNumber; }; export declare const poolFeesStruct: BeetStruct>; export type PoolMetrics = { totalLpAFee: BigNumber; totalLpBFee: BigNumber; totalProtocolAFee: BigNumber; totalProtocolBFee: BigNumber; totalPartnerAFee: BigNumber; totalPartnerBFee: BigNumber; totalPosition: BigNumber; padding: BigNumber; }; export declare const poolMetricsStruct: BeetStruct>; export type RewardInfo = { initialized: number; rewardTokenFlag: number; padding0: number[]; padding1: number[]; mint: PublicKey; vault: PublicKey; funder: PublicKey; rewardDuration: BigNumber; rewardDurationEnd: BigNumber; rewardRate: BigNumber; rewardPerTokenStored: number[]; lastUpdateTime: BigNumber; cumulativeSecondsWithEmptyLiquidityReward: BigNumber; }; export declare const rewardInfoStruct: BeetStruct>; export type Pool = { discriminator: number[]; poolFees: PoolFees; tokenAMint: PublicKey; tokenBMint: PublicKey; tokenAVault: PublicKey; tokenBVault: PublicKey; whitelistedVault: PublicKey; partner: PublicKey; liquidity: BigNumber; tokenAReserve: BigNumber; tokenBReserve: BigNumber; protocolAFee: BigNumber; protocolBFee: BigNumber; partnerAFee: BigNumber; partnerBFee: BigNumber; sqrtMinPrice: BigNumber; sqrtMaxPrice: BigNumber; sqrtPrice: BigNumber; activationPoint: BigNumber; activationType: number; poolStatus: number; tokenAFlag: number; tokenBFlag: number; collectFeeMode: number; poolType: number; padding0: number[]; feeAPerLiquidity: number[]; feeBPerLiquidity: number[]; permanentLockLiquidity: BigNumber; metrics: PoolMetrics; padding1: BigNumber[]; rewardInfos: RewardInfo[]; }; export declare const poolStruct: FixableBeetStruct>; export type PositionMetrics = { totalClaimedAFee: BigNumber; totalClaimedBFee: BigNumber; }; export declare const positionMetricsStruct: BeetStruct>; export type UserRewardInfo = { rewardPerTokenCheckpoint: number[]; rewardPendings: BigNumber; totalClaimedRewards: BigNumber; }; export declare const userRewardInfoStruct: BeetStruct>; export type Position = { discriminator: number[]; pool: PublicKey; nftMint: PublicKey; feeAPerTokenCheckpoint: number[]; feeBPerTokenCheckpoint: number[]; feeAPending: BigNumber; feeBPending: BigNumber; unlockedLiquidity: BigNumber; vestedLiquidity: BigNumber; permanentLockedLiquidity: BigNumber; metrics: PositionMetrics; rewardInfos: UserRewardInfo[]; padding: BigNumber[]; }; export declare const positionStruct: FixableBeetStruct>;