import { PublicKey } from "@solana/web3.js";
import BN from "bn.js";
import * as types from "../types";
export interface KaminoRewardInfoFields {
    decimals: BN;
    rewardVault: PublicKey;
    rewardMint: PublicKey;
    rewardCollateralId: BN;
    lastIssuanceTs: BN;
    rewardPerSecond: BN;
    amountUncollected: BN;
    amountIssuedCumulative: BN;
    amountAvailable: BN;
}
export interface KaminoRewardInfoJSON {
    decimals: string;
    rewardVault: string;
    rewardMint: string;
    rewardCollateralId: string;
    lastIssuanceTs: string;
    rewardPerSecond: string;
    amountUncollected: string;
    amountIssuedCumulative: string;
    amountAvailable: string;
}
export declare class KaminoRewardInfo {
    readonly decimals: BN;
    readonly rewardVault: PublicKey;
    readonly rewardMint: PublicKey;
    readonly rewardCollateralId: BN;
    readonly lastIssuanceTs: BN;
    readonly rewardPerSecond: BN;
    readonly amountUncollected: BN;
    readonly amountIssuedCumulative: BN;
    readonly amountAvailable: BN;
    constructor(fields: KaminoRewardInfoFields);
    static layout(property?: string): any;
    static fromDecoded(obj: any): types.KaminoRewardInfo;
    static toEncodable(fields: KaminoRewardInfoFields): {
        decimals: BN;
        rewardVault: PublicKey;
        rewardMint: PublicKey;
        rewardCollateralId: BN;
        lastIssuanceTs: BN;
        rewardPerSecond: BN;
        amountUncollected: BN;
        amountIssuedCumulative: BN;
        amountAvailable: BN;
    };
    toJSON(): KaminoRewardInfoJSON;
    static fromJSON(obj: KaminoRewardInfoJSON): KaminoRewardInfo;
    toEncodable(): {
        decimals: BN;
        rewardVault: PublicKey;
        rewardMint: PublicKey;
        rewardCollateralId: BN;
        lastIssuanceTs: BN;
        rewardPerSecond: BN;
        amountUncollected: BN;
        amountIssuedCumulative: BN;
        amountAvailable: BN;
    };
}
