// package: provenance.exchange.v1
// file: provenance/exchange/v1/payments.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 Payment extends jspb.Message { 
    getSource(): string;
    setSource(value: string): Payment;
    clearSourceAmountList(): void;
    getSourceAmountList(): Array<cosmos_base_v1beta1_coin_pb.Coin>;
    setSourceAmountList(value: Array<cosmos_base_v1beta1_coin_pb.Coin>): Payment;
    addSourceAmount(value?: cosmos_base_v1beta1_coin_pb.Coin, index?: number): cosmos_base_v1beta1_coin_pb.Coin;
    getTarget(): string;
    setTarget(value: string): Payment;
    clearTargetAmountList(): void;
    getTargetAmountList(): Array<cosmos_base_v1beta1_coin_pb.Coin>;
    setTargetAmountList(value: Array<cosmos_base_v1beta1_coin_pb.Coin>): Payment;
    addTargetAmount(value?: cosmos_base_v1beta1_coin_pb.Coin, index?: number): cosmos_base_v1beta1_coin_pb.Coin;
    getExternalId(): string;
    setExternalId(value: string): Payment;

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

export namespace Payment {
    export type AsObject = {
        source: string,
        sourceAmountList: Array<cosmos_base_v1beta1_coin_pb.Coin.AsObject>,
        target: string,
        targetAmountList: Array<cosmos_base_v1beta1_coin_pb.Coin.AsObject>,
        externalId: string,
    }
}
