// package: provenance.trigger.v1
// file: provenance/trigger/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_trigger_v1_trigger_pb from "../../../provenance/trigger/v1/trigger_pb";

export class GenesisState extends jspb.Message { 
    getTriggerId(): number;
    setTriggerId(value: number): GenesisState;
    getQueueStart(): number;
    setQueueStart(value: number): GenesisState;
    clearTriggersList(): void;
    getTriggersList(): Array<provenance_trigger_v1_trigger_pb.Trigger>;
    setTriggersList(value: Array<provenance_trigger_v1_trigger_pb.Trigger>): GenesisState;
    addTriggers(value?: provenance_trigger_v1_trigger_pb.Trigger, index?: number): provenance_trigger_v1_trigger_pb.Trigger;
    clearGasLimitsList(): void;
    getGasLimitsList(): Array<GasLimit>;
    setGasLimitsList(value: Array<GasLimit>): GenesisState;
    addGasLimits(value?: GasLimit, index?: number): GasLimit;
    clearQueuedTriggersList(): void;
    getQueuedTriggersList(): Array<provenance_trigger_v1_trigger_pb.QueuedTrigger>;
    setQueuedTriggersList(value: Array<provenance_trigger_v1_trigger_pb.QueuedTrigger>): GenesisState;
    addQueuedTriggers(value?: provenance_trigger_v1_trigger_pb.QueuedTrigger, index?: number): provenance_trigger_v1_trigger_pb.QueuedTrigger;

    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 = {
        triggerId: number,
        queueStart: number,
        triggersList: Array<provenance_trigger_v1_trigger_pb.Trigger.AsObject>,
        gasLimitsList: Array<GasLimit.AsObject>,
        queuedTriggersList: Array<provenance_trigger_v1_trigger_pb.QueuedTrigger.AsObject>,
    }
}

export class GasLimit extends jspb.Message { 
    getTriggerId(): number;
    setTriggerId(value: number): GasLimit;
    getAmount(): number;
    setAmount(value: number): GasLimit;

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

export namespace GasLimit {
    export type AsObject = {
        triggerId: number,
        amount: number,
    }
}
