// package: ibc.applications.interchain_accounts.controller.v1
// file: ibc/applications/interchain_accounts/controller/v1/tx.proto

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

import * as jspb from "google-protobuf";
import * as gogoproto_gogo_pb from "../../../../../gogoproto/gogo_pb";
import * as ibc_applications_interchain_accounts_v1_packet_pb from "../../../../../ibc/applications/interchain_accounts/v1/packet_pb";

export class MsgRegisterInterchainAccount extends jspb.Message { 
    getOwner(): string;
    setOwner(value: string): MsgRegisterInterchainAccount;
    getConnectionId(): string;
    setConnectionId(value: string): MsgRegisterInterchainAccount;
    getVersion(): string;
    setVersion(value: string): MsgRegisterInterchainAccount;

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

export namespace MsgRegisterInterchainAccount {
    export type AsObject = {
        owner: string,
        connectionId: string,
        version: string,
    }
}

export class MsgRegisterInterchainAccountResponse extends jspb.Message { 
    getChannelId(): string;
    setChannelId(value: string): MsgRegisterInterchainAccountResponse;

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

export namespace MsgRegisterInterchainAccountResponse {
    export type AsObject = {
        channelId: string,
    }
}

export class MsgSendTx extends jspb.Message { 
    getOwner(): string;
    setOwner(value: string): MsgSendTx;
    getConnectionId(): string;
    setConnectionId(value: string): MsgSendTx;

    hasPacketData(): boolean;
    clearPacketData(): void;
    getPacketData(): ibc_applications_interchain_accounts_v1_packet_pb.InterchainAccountPacketData | undefined;
    setPacketData(value?: ibc_applications_interchain_accounts_v1_packet_pb.InterchainAccountPacketData): MsgSendTx;
    getRelativeTimeout(): number;
    setRelativeTimeout(value: number): MsgSendTx;

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

export namespace MsgSendTx {
    export type AsObject = {
        owner: string,
        connectionId: string,
        packetData?: ibc_applications_interchain_accounts_v1_packet_pb.InterchainAccountPacketData.AsObject,
        relativeTimeout: number,
    }
}

export class MsgSendTxResponse extends jspb.Message { 
    getSequence(): number;
    setSequence(value: number): MsgSendTxResponse;

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

export namespace MsgSendTxResponse {
    export type AsObject = {
        sequence: number,
    }
}
