// package: provenance.exchange.v1
// file: provenance/exchange/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_exchange_v1_commitments_pb from "../../../provenance/exchange/v1/commitments_pb";
import * as provenance_exchange_v1_market_pb from "../../../provenance/exchange/v1/market_pb";
import * as provenance_exchange_v1_orders_pb from "../../../provenance/exchange/v1/orders_pb";
import * as provenance_exchange_v1_params_pb from "../../../provenance/exchange/v1/params_pb";
import * as provenance_exchange_v1_payments_pb from "../../../provenance/exchange/v1/payments_pb";

export class GenesisState extends jspb.Message { 

    hasParams(): boolean;
    clearParams(): void;
    getParams(): provenance_exchange_v1_params_pb.Params | undefined;
    setParams(value?: provenance_exchange_v1_params_pb.Params): GenesisState;
    clearMarketsList(): void;
    getMarketsList(): Array<provenance_exchange_v1_market_pb.Market>;
    setMarketsList(value: Array<provenance_exchange_v1_market_pb.Market>): GenesisState;
    addMarkets(value?: provenance_exchange_v1_market_pb.Market, index?: number): provenance_exchange_v1_market_pb.Market;
    clearOrdersList(): void;
    getOrdersList(): Array<provenance_exchange_v1_orders_pb.Order>;
    setOrdersList(value: Array<provenance_exchange_v1_orders_pb.Order>): GenesisState;
    addOrders(value?: provenance_exchange_v1_orders_pb.Order, index?: number): provenance_exchange_v1_orders_pb.Order;
    getLastMarketId(): number;
    setLastMarketId(value: number): GenesisState;
    getLastOrderId(): number;
    setLastOrderId(value: number): GenesisState;
    clearCommitmentsList(): void;
    getCommitmentsList(): Array<provenance_exchange_v1_commitments_pb.Commitment>;
    setCommitmentsList(value: Array<provenance_exchange_v1_commitments_pb.Commitment>): GenesisState;
    addCommitments(value?: provenance_exchange_v1_commitments_pb.Commitment, index?: number): provenance_exchange_v1_commitments_pb.Commitment;
    clearPaymentsList(): void;
    getPaymentsList(): Array<provenance_exchange_v1_payments_pb.Payment>;
    setPaymentsList(value: Array<provenance_exchange_v1_payments_pb.Payment>): GenesisState;
    addPayments(value?: provenance_exchange_v1_payments_pb.Payment, index?: number): provenance_exchange_v1_payments_pb.Payment;

    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 = {
        params?: provenance_exchange_v1_params_pb.Params.AsObject,
        marketsList: Array<provenance_exchange_v1_market_pb.Market.AsObject>,
        ordersList: Array<provenance_exchange_v1_orders_pb.Order.AsObject>,
        lastMarketId: number,
        lastOrderId: number,
        commitmentsList: Array<provenance_exchange_v1_commitments_pb.Commitment.AsObject>,
        paymentsList: Array<provenance_exchange_v1_payments_pb.Payment.AsObject>,
    }
}
