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

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

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

export class Params extends jspb.Message { 
    getDefaultSplit(): number;
    setDefaultSplit(value: number): Params;
    clearDenomSplitsList(): void;
    getDenomSplitsList(): Array<DenomSplit>;
    setDenomSplitsList(value: Array<DenomSplit>): Params;
    addDenomSplits(value?: DenomSplit, index?: number): DenomSplit;
    clearFeeCreatePaymentFlatList(): void;
    getFeeCreatePaymentFlatList(): Array<cosmos_base_v1beta1_coin_pb.Coin>;
    setFeeCreatePaymentFlatList(value: Array<cosmos_base_v1beta1_coin_pb.Coin>): Params;
    addFeeCreatePaymentFlat(value?: cosmos_base_v1beta1_coin_pb.Coin, index?: number): cosmos_base_v1beta1_coin_pb.Coin;
    clearFeeAcceptPaymentFlatList(): void;
    getFeeAcceptPaymentFlatList(): Array<cosmos_base_v1beta1_coin_pb.Coin>;
    setFeeAcceptPaymentFlatList(value: Array<cosmos_base_v1beta1_coin_pb.Coin>): Params;
    addFeeAcceptPaymentFlat(value?: cosmos_base_v1beta1_coin_pb.Coin, index?: number): cosmos_base_v1beta1_coin_pb.Coin;

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

export namespace Params {
    export type AsObject = {
        defaultSplit: number,
        denomSplitsList: Array<DenomSplit.AsObject>,
        feeCreatePaymentFlatList: Array<cosmos_base_v1beta1_coin_pb.Coin.AsObject>,
        feeAcceptPaymentFlatList: Array<cosmos_base_v1beta1_coin_pb.Coin.AsObject>,
    }
}

export class DenomSplit extends jspb.Message { 
    getDenom(): string;
    setDenom(value: string): DenomSplit;
    getSplit(): number;
    setSplit(value: number): DenomSplit;

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

export namespace DenomSplit {
    export type AsObject = {
        denom: string,
        split: number,
    }
}
