import AssetAmount from "../../assetData/assetAmount";
import Staking from "./staking";
export default class RewardsProgramState {
    staking: Staking;
    rewardsProgramIndex: number;
    rewardsProgramCounter: number;
    rewardsAssetId: number;
    rewardsPerSecond: number;
    rewardsCoefficient: bigint;
    rewardsIssued: number;
    rewardsPayed: number;
    projectedRewardsCoefficient: bigint;
    baseAPR: number;
    maxBoostedAPR: number;
    annualBaseRewardsPer1k: number;
    maxBoostedAnnualRewardsPer1k: number;
    /**
     * Constructor for rewards program state
     *
     * @param stakingState - formatted staking state
     * @param rewardsProgramIndex - index of rewards program
     */
    constructor(staking: any, stakingState: {}, rewardsProgramIndex: number);
    loadState(): Promise<void>;
    getAPR(): number;
}
export declare class UserRewardsProgramState {
    staking: Staking;
    rewardsProgramIndex: number;
    userRewardsProgramCounter: number;
    userRewardsCoefficient: bigint;
    userUnclaimedRewards: number;
    userUnrealizedRewards: number;
    userAPR: number;
    userRewardsPerDay: AssetAmount;
    /**
     * Constructor for user rewards program state object
     *
     * @param formattedUserLocalState - local state for the user
     * @param rewardsProgramIndex - index of the rewards program
     * @param staking - staking
     * @param userScaledTotalStaked - scaled user total staked
     */
    constructor(formattedUserLocalState: {}, rewardsProgramIndex: number, staking: Staking, userScaledTotalStaked: number, userRewardsBoost: number);
}
