// package: provenance.reward.v1
// file: provenance/reward/v1/genesis.proto

/* tslint:disable */
/* eslint-disable */

import * as jspb from "google-protobuf";
import * as gogoproto_gogo_pb from "../../../gogoproto/gogo_pb";
import * as provenance_reward_v1_reward_pb from "../../../provenance/reward/v1/reward_pb";

export class GenesisState extends jspb.Message { 
    getRewardProgramId(): number;
    setRewardProgramId(value: number): GenesisState;
    clearRewardProgramsList(): void;
    getRewardProgramsList(): Array<provenance_reward_v1_reward_pb.RewardProgram>;
    setRewardProgramsList(value: Array<provenance_reward_v1_reward_pb.RewardProgram>): GenesisState;
    addRewardPrograms(value?: provenance_reward_v1_reward_pb.RewardProgram, index?: number): provenance_reward_v1_reward_pb.RewardProgram;
    clearClaimPeriodRewardDistributionsList(): void;
    getClaimPeriodRewardDistributionsList(): Array<provenance_reward_v1_reward_pb.ClaimPeriodRewardDistribution>;
    setClaimPeriodRewardDistributionsList(value: Array<provenance_reward_v1_reward_pb.ClaimPeriodRewardDistribution>): GenesisState;
    addClaimPeriodRewardDistributions(value?: provenance_reward_v1_reward_pb.ClaimPeriodRewardDistribution, index?: number): provenance_reward_v1_reward_pb.ClaimPeriodRewardDistribution;
    clearRewardAccountStatesList(): void;
    getRewardAccountStatesList(): Array<provenance_reward_v1_reward_pb.RewardAccountState>;
    setRewardAccountStatesList(value: Array<provenance_reward_v1_reward_pb.RewardAccountState>): GenesisState;
    addRewardAccountStates(value?: provenance_reward_v1_reward_pb.RewardAccountState, index?: number): provenance_reward_v1_reward_pb.RewardAccountState;

    serializeBinary(): Uint8Array;
    toObject(includeInstance?: boolean): GenesisState.AsObject;
    static toObject(includeInstance: boolean, msg: GenesisState): GenesisState.AsObject;
    static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
    static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
    static serializeBinaryToWriter(message: GenesisState, writer: jspb.BinaryWriter): void;
    static deserializeBinary(bytes: Uint8Array): GenesisState;
    static deserializeBinaryFromReader(message: GenesisState, reader: jspb.BinaryReader): GenesisState;
}

export namespace GenesisState {
    export type AsObject = {
        rewardProgramId: number,
        rewardProgramsList: Array<provenance_reward_v1_reward_pb.RewardProgram.AsObject>,
        claimPeriodRewardDistributionsList: Array<provenance_reward_v1_reward_pb.ClaimPeriodRewardDistribution.AsObject>,
        rewardAccountStatesList: Array<provenance_reward_v1_reward_pb.RewardAccountState.AsObject>,
    }
}
