import { PublicKey } from '@solana/web3.js'; import BN from 'bn.js'; import * as types from '../types'; export interface RewardInfoFields { /** Reward state */ rewardState: number; /** Reward open time */ openTime: BN; /** Reward end time */ endTime: BN; /** Reward last update time */ lastUpdateTime: BN; /** Q64.64 number indicates how many tokens per second are earned per unit of liquidity. */ emissionsPerSecondX64: BN; /** The total amount of reward emissioned */ rewardTotalEmissioned: BN; /** The total amount of claimed reward */ rewardClaimed: BN; /** Reward token mint. */ tokenMint: PublicKey; /** Reward vault token account. */ tokenVault: PublicKey; /** The owner that has permission to set reward param */ authority: PublicKey; /** * Q64.64 number that tracks the total tokens earned per unit of liquidity since the reward * emissions were turned on. */ rewardGrowthGlobalX64: BN; } export interface RewardInfoJSON { /** Reward state */ rewardState: number; /** Reward open time */ openTime: string; /** Reward end time */ endTime: string; /** Reward last update time */ lastUpdateTime: string; /** Q64.64 number indicates how many tokens per second are earned per unit of liquidity. */ emissionsPerSecondX64: string; /** The total amount of reward emissioned */ rewardTotalEmissioned: string; /** The total amount of claimed reward */ rewardClaimed: string; /** Reward token mint. */ tokenMint: string; /** Reward vault token account. */ tokenVault: string; /** The owner that has permission to set reward param */ authority: string; /** * Q64.64 number that tracks the total tokens earned per unit of liquidity since the reward * emissions were turned on. */ rewardGrowthGlobalX64: string; } export declare class RewardInfo { /** Reward state */ readonly rewardState: number; /** Reward open time */ readonly openTime: BN; /** Reward end time */ readonly endTime: BN; /** Reward last update time */ readonly lastUpdateTime: BN; /** Q64.64 number indicates how many tokens per second are earned per unit of liquidity. */ readonly emissionsPerSecondX64: BN; /** The total amount of reward emissioned */ readonly rewardTotalEmissioned: BN; /** The total amount of claimed reward */ readonly rewardClaimed: BN; /** Reward token mint. */ readonly tokenMint: PublicKey; /** Reward vault token account. */ readonly tokenVault: PublicKey; /** The owner that has permission to set reward param */ readonly authority: PublicKey; /** * Q64.64 number that tracks the total tokens earned per unit of liquidity since the reward * emissions were turned on. */ readonly rewardGrowthGlobalX64: BN; constructor(fields: RewardInfoFields); static layout(property?: string): any; static fromDecoded(obj: any): types.RewardInfo; static toEncodable(fields: RewardInfoFields): { rewardState: number; openTime: BN; endTime: BN; lastUpdateTime: BN; emissionsPerSecondX64: BN; rewardTotalEmissioned: BN; rewardClaimed: BN; tokenMint: PublicKey; tokenVault: PublicKey; authority: PublicKey; rewardGrowthGlobalX64: BN; }; toJSON(): RewardInfoJSON; static fromJSON(obj: RewardInfoJSON): RewardInfo; toEncodable(): { rewardState: number; openTime: BN; endTime: BN; lastUpdateTime: BN; emissionsPerSecondX64: BN; rewardTotalEmissioned: BN; rewardClaimed: BN; tokenMint: PublicKey; tokenVault: PublicKey; authority: PublicKey; rewardGrowthGlobalX64: BN; }; }