// package: provenance.exchange.v1
// file: provenance/exchange/v1/commitments.proto

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

import * as jspb from "google-protobuf";
import * as cosmos_base_v1beta1_coin_pb from "../../../cosmos/base/v1beta1/coin_pb";
import * as cosmos_proto_cosmos_pb from "../../../cosmos_proto/cosmos_pb";
import * as gogoproto_gogo_pb from "../../../gogoproto/gogo_pb";

export class Commitment extends jspb.Message { 
    getAccount(): string;
    setAccount(value: string): Commitment;
    getMarketId(): number;
    setMarketId(value: number): Commitment;
    clearAmountList(): void;
    getAmountList(): Array<cosmos_base_v1beta1_coin_pb.Coin>;
    setAmountList(value: Array<cosmos_base_v1beta1_coin_pb.Coin>): Commitment;
    addAmount(value?: cosmos_base_v1beta1_coin_pb.Coin, index?: number): cosmos_base_v1beta1_coin_pb.Coin;

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

export namespace Commitment {
    export type AsObject = {
        account: string,
        marketId: number,
        amountList: Array<cosmos_base_v1beta1_coin_pb.Coin.AsObject>,
    }
}

export class AccountAmount extends jspb.Message { 
    getAccount(): string;
    setAccount(value: string): AccountAmount;
    clearAmountList(): void;
    getAmountList(): Array<cosmos_base_v1beta1_coin_pb.Coin>;
    setAmountList(value: Array<cosmos_base_v1beta1_coin_pb.Coin>): AccountAmount;
    addAmount(value?: cosmos_base_v1beta1_coin_pb.Coin, index?: number): cosmos_base_v1beta1_coin_pb.Coin;

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

export namespace AccountAmount {
    export type AsObject = {
        account: string,
        amountList: Array<cosmos_base_v1beta1_coin_pb.Coin.AsObject>,
    }
}

export class MarketAmount extends jspb.Message { 
    getMarketId(): number;
    setMarketId(value: number): MarketAmount;
    clearAmountList(): void;
    getAmountList(): Array<cosmos_base_v1beta1_coin_pb.Coin>;
    setAmountList(value: Array<cosmos_base_v1beta1_coin_pb.Coin>): MarketAmount;
    addAmount(value?: cosmos_base_v1beta1_coin_pb.Coin, index?: number): cosmos_base_v1beta1_coin_pb.Coin;

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

export namespace MarketAmount {
    export type AsObject = {
        marketId: number,
        amountList: Array<cosmos_base_v1beta1_coin_pb.Coin.AsObject>,
    }
}

export class NetAssetPrice extends jspb.Message { 

    hasAssets(): boolean;
    clearAssets(): void;
    getAssets(): cosmos_base_v1beta1_coin_pb.Coin | undefined;
    setAssets(value?: cosmos_base_v1beta1_coin_pb.Coin): NetAssetPrice;

    hasPrice(): boolean;
    clearPrice(): void;
    getPrice(): cosmos_base_v1beta1_coin_pb.Coin | undefined;
    setPrice(value?: cosmos_base_v1beta1_coin_pb.Coin): NetAssetPrice;

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

export namespace NetAssetPrice {
    export type AsObject = {
        assets?: cosmos_base_v1beta1_coin_pb.Coin.AsObject,
        price?: cosmos_base_v1beta1_coin_pb.Coin.AsObject,
    }
}
