/**
 * Generated by the protoc-gen-ts.  DO NOT EDIT!
 * compiler version: 3.20.3
 * source: ibc/core/connection/v1/tx.proto
 * git: https://github.com/thesayyn/protoc-gen-ts */
import * as dependency_1 from "./../../../../gogoproto/gogo";
import * as dependency_2 from "./../../../../cosmos/msg/v1/msg";
import * as dependency_3 from "./../../../../google/protobuf/any";
import * as dependency_4 from "./../../client/v1/client";
import * as dependency_5 from "./connection";
import * as pb_1 from "google-protobuf";
import * as grpc_1 from "@grpc/grpc-js";
export namespace ibc.core.connection.v1 {
    export class MsgConnectionOpenInit extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            client_id?: string;
            counterparty?: dependency_5.ibc.core.connection.v1.Counterparty;
            version?: dependency_5.ibc.core.connection.v1.Version;
            delay_period?: number;
            signer?: string;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("client_id" in data && data.client_id != undefined) {
                    this.client_id = data.client_id;
                }
                if ("counterparty" in data && data.counterparty != undefined) {
                    this.counterparty = data.counterparty;
                }
                if ("version" in data && data.version != undefined) {
                    this.version = data.version;
                }
                if ("delay_period" in data && data.delay_period != undefined) {
                    this.delay_period = data.delay_period;
                }
                if ("signer" in data && data.signer != undefined) {
                    this.signer = data.signer;
                }
            }
        }
        get client_id() {
            return pb_1.Message.getFieldWithDefault(this, 1, "") as string;
        }
        set client_id(value: string) {
            pb_1.Message.setField(this, 1, value);
        }
        get counterparty() {
            return pb_1.Message.getWrapperField(this, dependency_5.ibc.core.connection.v1.Counterparty, 2) as dependency_5.ibc.core.connection.v1.Counterparty;
        }
        set counterparty(value: dependency_5.ibc.core.connection.v1.Counterparty) {
            pb_1.Message.setWrapperField(this, 2, value);
        }
        get has_counterparty() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get version() {
            return pb_1.Message.getWrapperField(this, dependency_5.ibc.core.connection.v1.Version, 3) as dependency_5.ibc.core.connection.v1.Version;
        }
        set version(value: dependency_5.ibc.core.connection.v1.Version) {
            pb_1.Message.setWrapperField(this, 3, value);
        }
        get has_version() {
            return pb_1.Message.getField(this, 3) != null;
        }
        get delay_period() {
            return pb_1.Message.getFieldWithDefault(this, 4, 0) as number;
        }
        set delay_period(value: number) {
            pb_1.Message.setField(this, 4, value);
        }
        get signer() {
            return pb_1.Message.getFieldWithDefault(this, 5, "") as string;
        }
        set signer(value: string) {
            pb_1.Message.setField(this, 5, value);
        }
        static fromObject(data: {
            client_id?: string;
            counterparty?: ReturnType<typeof dependency_5.ibc.core.connection.v1.Counterparty.prototype.toObject>;
            version?: ReturnType<typeof dependency_5.ibc.core.connection.v1.Version.prototype.toObject>;
            delay_period?: number;
            signer?: string;
        }): MsgConnectionOpenInit {
            const message = new MsgConnectionOpenInit({});
            if (data.client_id != null) {
                message.client_id = data.client_id;
            }
            if (data.counterparty != null) {
                message.counterparty = dependency_5.ibc.core.connection.v1.Counterparty.fromObject(data.counterparty);
            }
            if (data.version != null) {
                message.version = dependency_5.ibc.core.connection.v1.Version.fromObject(data.version);
            }
            if (data.delay_period != null) {
                message.delay_period = data.delay_period;
            }
            if (data.signer != null) {
                message.signer = data.signer;
            }
            return message;
        }
        toObject() {
            const data: {
                client_id?: string;
                counterparty?: ReturnType<typeof dependency_5.ibc.core.connection.v1.Counterparty.prototype.toObject>;
                version?: ReturnType<typeof dependency_5.ibc.core.connection.v1.Version.prototype.toObject>;
                delay_period?: number;
                signer?: string;
            } = {};
            if (this.client_id != null) {
                data.client_id = this.client_id;
            }
            if (this.counterparty != null) {
                data.counterparty = this.counterparty.toObject();
            }
            if (this.version != null) {
                data.version = this.version.toObject();
            }
            if (this.delay_period != null) {
                data.delay_period = this.delay_period;
            }
            if (this.signer != null) {
                data.signer = this.signer;
            }
            return data;
        }
        serialize(): Uint8Array;
        serialize(w: pb_1.BinaryWriter): void;
        serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
            const writer = w || new pb_1.BinaryWriter();
            if (this.client_id.length)
                writer.writeString(1, this.client_id);
            if (this.has_counterparty)
                writer.writeMessage(2, this.counterparty, () => this.counterparty.serialize(writer));
            if (this.has_version)
                writer.writeMessage(3, this.version, () => this.version.serialize(writer));
            if (this.delay_period != 0)
                writer.writeUint64(4, this.delay_period);
            if (this.signer.length)
                writer.writeString(5, this.signer);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): MsgConnectionOpenInit {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new MsgConnectionOpenInit();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.client_id = reader.readString();
                        break;
                    case 2:
                        reader.readMessage(message.counterparty, () => message.counterparty = dependency_5.ibc.core.connection.v1.Counterparty.deserialize(reader));
                        break;
                    case 3:
                        reader.readMessage(message.version, () => message.version = dependency_5.ibc.core.connection.v1.Version.deserialize(reader));
                        break;
                    case 4:
                        message.delay_period = reader.readUint64();
                        break;
                    case 5:
                        message.signer = reader.readString();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): MsgConnectionOpenInit {
            return MsgConnectionOpenInit.deserialize(bytes);
        }
    }
    export class MsgConnectionOpenInitResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {}) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") { }
        }
        static fromObject(data: {}): MsgConnectionOpenInitResponse {
            const message = new MsgConnectionOpenInitResponse({});
            return message;
        }
        toObject() {
            const data: {} = {};
            return data;
        }
        serialize(): Uint8Array;
        serialize(w: pb_1.BinaryWriter): void;
        serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
            const writer = w || new pb_1.BinaryWriter();
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): MsgConnectionOpenInitResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new MsgConnectionOpenInitResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): MsgConnectionOpenInitResponse {
            return MsgConnectionOpenInitResponse.deserialize(bytes);
        }
    }
    export class MsgConnectionOpenTry extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            client_id?: string;
            /** @deprecated*/
            previous_connection_id?: string;
            /** @deprecated*/
            client_state?: dependency_3.google.protobuf.Any;
            counterparty?: dependency_5.ibc.core.connection.v1.Counterparty;
            delay_period?: number;
            counterparty_versions?: dependency_5.ibc.core.connection.v1.Version[];
            proof_height?: dependency_4.ibc.core.client.v1.Height;
            proof_init?: Uint8Array;
            /** @deprecated*/
            proof_client?: Uint8Array;
            /** @deprecated*/
            proof_consensus?: Uint8Array;
            /** @deprecated*/
            consensus_height?: dependency_4.ibc.core.client.v1.Height;
            signer?: string;
            /** @deprecated*/
            host_consensus_state_proof?: Uint8Array;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [6], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("client_id" in data && data.client_id != undefined) {
                    this.client_id = data.client_id;
                }
                if ("previous_connection_id" in data && data.previous_connection_id != undefined) {
                    this.previous_connection_id = data.previous_connection_id;
                }
                if ("client_state" in data && data.client_state != undefined) {
                    this.client_state = data.client_state;
                }
                if ("counterparty" in data && data.counterparty != undefined) {
                    this.counterparty = data.counterparty;
                }
                if ("delay_period" in data && data.delay_period != undefined) {
                    this.delay_period = data.delay_period;
                }
                if ("counterparty_versions" in data && data.counterparty_versions != undefined) {
                    this.counterparty_versions = data.counterparty_versions;
                }
                if ("proof_height" in data && data.proof_height != undefined) {
                    this.proof_height = data.proof_height;
                }
                if ("proof_init" in data && data.proof_init != undefined) {
                    this.proof_init = data.proof_init;
                }
                if ("proof_client" in data && data.proof_client != undefined) {
                    this.proof_client = data.proof_client;
                }
                if ("proof_consensus" in data && data.proof_consensus != undefined) {
                    this.proof_consensus = data.proof_consensus;
                }
                if ("consensus_height" in data && data.consensus_height != undefined) {
                    this.consensus_height = data.consensus_height;
                }
                if ("signer" in data && data.signer != undefined) {
                    this.signer = data.signer;
                }
                if ("host_consensus_state_proof" in data && data.host_consensus_state_proof != undefined) {
                    this.host_consensus_state_proof = data.host_consensus_state_proof;
                }
            }
        }
        get client_id() {
            return pb_1.Message.getFieldWithDefault(this, 1, "") as string;
        }
        set client_id(value: string) {
            pb_1.Message.setField(this, 1, value);
        }
        /** @deprecated*/
        get previous_connection_id() {
            return pb_1.Message.getFieldWithDefault(this, 2, "") as string;
        }
        /** @deprecated*/
        set previous_connection_id(value: string) {
            pb_1.Message.setField(this, 2, value);
        }
        /** @deprecated*/
        get client_state() {
            return pb_1.Message.getWrapperField(this, dependency_3.google.protobuf.Any, 3) as dependency_3.google.protobuf.Any;
        }
        /** @deprecated*/
        set client_state(value: dependency_3.google.protobuf.Any) {
            pb_1.Message.setWrapperField(this, 3, value);
        }
        /** @deprecated*/
        get has_client_state() {
            return pb_1.Message.getField(this, 3) != null;
        }
        get counterparty() {
            return pb_1.Message.getWrapperField(this, dependency_5.ibc.core.connection.v1.Counterparty, 4) as dependency_5.ibc.core.connection.v1.Counterparty;
        }
        set counterparty(value: dependency_5.ibc.core.connection.v1.Counterparty) {
            pb_1.Message.setWrapperField(this, 4, value);
        }
        get has_counterparty() {
            return pb_1.Message.getField(this, 4) != null;
        }
        get delay_period() {
            return pb_1.Message.getFieldWithDefault(this, 5, 0) as number;
        }
        set delay_period(value: number) {
            pb_1.Message.setField(this, 5, value);
        }
        get counterparty_versions() {
            return pb_1.Message.getRepeatedWrapperField(this, dependency_5.ibc.core.connection.v1.Version, 6) as dependency_5.ibc.core.connection.v1.Version[];
        }
        set counterparty_versions(value: dependency_5.ibc.core.connection.v1.Version[]) {
            pb_1.Message.setRepeatedWrapperField(this, 6, value);
        }
        get proof_height() {
            return pb_1.Message.getWrapperField(this, dependency_4.ibc.core.client.v1.Height, 7) as dependency_4.ibc.core.client.v1.Height;
        }
        set proof_height(value: dependency_4.ibc.core.client.v1.Height) {
            pb_1.Message.setWrapperField(this, 7, value);
        }
        get has_proof_height() {
            return pb_1.Message.getField(this, 7) != null;
        }
        get proof_init() {
            return pb_1.Message.getFieldWithDefault(this, 8, new Uint8Array(0)) as Uint8Array;
        }
        set proof_init(value: Uint8Array) {
            pb_1.Message.setField(this, 8, value);
        }
        /** @deprecated*/
        get proof_client() {
            return pb_1.Message.getFieldWithDefault(this, 9, new Uint8Array(0)) as Uint8Array;
        }
        /** @deprecated*/
        set proof_client(value: Uint8Array) {
            pb_1.Message.setField(this, 9, value);
        }
        /** @deprecated*/
        get proof_consensus() {
            return pb_1.Message.getFieldWithDefault(this, 10, new Uint8Array(0)) as Uint8Array;
        }
        /** @deprecated*/
        set proof_consensus(value: Uint8Array) {
            pb_1.Message.setField(this, 10, value);
        }
        /** @deprecated*/
        get consensus_height() {
            return pb_1.Message.getWrapperField(this, dependency_4.ibc.core.client.v1.Height, 11) as dependency_4.ibc.core.client.v1.Height;
        }
        /** @deprecated*/
        set consensus_height(value: dependency_4.ibc.core.client.v1.Height) {
            pb_1.Message.setWrapperField(this, 11, value);
        }
        /** @deprecated*/
        get has_consensus_height() {
            return pb_1.Message.getField(this, 11) != null;
        }
        get signer() {
            return pb_1.Message.getFieldWithDefault(this, 12, "") as string;
        }
        set signer(value: string) {
            pb_1.Message.setField(this, 12, value);
        }
        /** @deprecated*/
        get host_consensus_state_proof() {
            return pb_1.Message.getFieldWithDefault(this, 13, new Uint8Array(0)) as Uint8Array;
        }
        /** @deprecated*/
        set host_consensus_state_proof(value: Uint8Array) {
            pb_1.Message.setField(this, 13, value);
        }
        static fromObject(data: {
            client_id?: string;
            previous_connection_id?: string;
            client_state?: ReturnType<typeof dependency_3.google.protobuf.Any.prototype.toObject>;
            counterparty?: ReturnType<typeof dependency_5.ibc.core.connection.v1.Counterparty.prototype.toObject>;
            delay_period?: number;
            counterparty_versions?: ReturnType<typeof dependency_5.ibc.core.connection.v1.Version.prototype.toObject>[];
            proof_height?: ReturnType<typeof dependency_4.ibc.core.client.v1.Height.prototype.toObject>;
            proof_init?: Uint8Array;
            proof_client?: Uint8Array;
            proof_consensus?: Uint8Array;
            consensus_height?: ReturnType<typeof dependency_4.ibc.core.client.v1.Height.prototype.toObject>;
            signer?: string;
            host_consensus_state_proof?: Uint8Array;
        }): MsgConnectionOpenTry {
            const message = new MsgConnectionOpenTry({});
            if (data.client_id != null) {
                message.client_id = data.client_id;
            }
            if (data.previous_connection_id != null) {
                message.previous_connection_id = data.previous_connection_id;
            }
            if (data.client_state != null) {
                message.client_state = dependency_3.google.protobuf.Any.fromObject(data.client_state);
            }
            if (data.counterparty != null) {
                message.counterparty = dependency_5.ibc.core.connection.v1.Counterparty.fromObject(data.counterparty);
            }
            if (data.delay_period != null) {
                message.delay_period = data.delay_period;
            }
            if (data.counterparty_versions != null) {
                message.counterparty_versions = data.counterparty_versions.map(item => dependency_5.ibc.core.connection.v1.Version.fromObject(item));
            }
            if (data.proof_height != null) {
                message.proof_height = dependency_4.ibc.core.client.v1.Height.fromObject(data.proof_height);
            }
            if (data.proof_init != null) {
                message.proof_init = data.proof_init;
            }
            if (data.proof_client != null) {
                message.proof_client = data.proof_client;
            }
            if (data.proof_consensus != null) {
                message.proof_consensus = data.proof_consensus;
            }
            if (data.consensus_height != null) {
                message.consensus_height = dependency_4.ibc.core.client.v1.Height.fromObject(data.consensus_height);
            }
            if (data.signer != null) {
                message.signer = data.signer;
            }
            if (data.host_consensus_state_proof != null) {
                message.host_consensus_state_proof = data.host_consensus_state_proof;
            }
            return message;
        }
        toObject() {
            const data: {
                client_id?: string;
                previous_connection_id?: string;
                client_state?: ReturnType<typeof dependency_3.google.protobuf.Any.prototype.toObject>;
                counterparty?: ReturnType<typeof dependency_5.ibc.core.connection.v1.Counterparty.prototype.toObject>;
                delay_period?: number;
                counterparty_versions?: ReturnType<typeof dependency_5.ibc.core.connection.v1.Version.prototype.toObject>[];
                proof_height?: ReturnType<typeof dependency_4.ibc.core.client.v1.Height.prototype.toObject>;
                proof_init?: Uint8Array;
                proof_client?: Uint8Array;
                proof_consensus?: Uint8Array;
                consensus_height?: ReturnType<typeof dependency_4.ibc.core.client.v1.Height.prototype.toObject>;
                signer?: string;
                host_consensus_state_proof?: Uint8Array;
            } = {};
            if (this.client_id != null) {
                data.client_id = this.client_id;
            }
            if (this.previous_connection_id != null) {
                data.previous_connection_id = this.previous_connection_id;
            }
            if (this.client_state != null) {
                data.client_state = this.client_state.toObject();
            }
            if (this.counterparty != null) {
                data.counterparty = this.counterparty.toObject();
            }
            if (this.delay_period != null) {
                data.delay_period = this.delay_period;
            }
            if (this.counterparty_versions != null) {
                data.counterparty_versions = this.counterparty_versions.map((item: dependency_5.ibc.core.connection.v1.Version) => item.toObject());
            }
            if (this.proof_height != null) {
                data.proof_height = this.proof_height.toObject();
            }
            if (this.proof_init != null) {
                data.proof_init = this.proof_init;
            }
            if (this.proof_client != null) {
                data.proof_client = this.proof_client;
            }
            if (this.proof_consensus != null) {
                data.proof_consensus = this.proof_consensus;
            }
            if (this.consensus_height != null) {
                data.consensus_height = this.consensus_height.toObject();
            }
            if (this.signer != null) {
                data.signer = this.signer;
            }
            if (this.host_consensus_state_proof != null) {
                data.host_consensus_state_proof = this.host_consensus_state_proof;
            }
            return data;
        }
        serialize(): Uint8Array;
        serialize(w: pb_1.BinaryWriter): void;
        serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
            const writer = w || new pb_1.BinaryWriter();
            if (this.client_id.length)
                writer.writeString(1, this.client_id);
            if (this.previous_connection_id.length)
                writer.writeString(2, this.previous_connection_id);
            if (this.has_client_state)
                writer.writeMessage(3, this.client_state, () => this.client_state.serialize(writer));
            if (this.has_counterparty)
                writer.writeMessage(4, this.counterparty, () => this.counterparty.serialize(writer));
            if (this.delay_period != 0)
                writer.writeUint64(5, this.delay_period);
            if (this.counterparty_versions.length)
                writer.writeRepeatedMessage(6, this.counterparty_versions, (item: dependency_5.ibc.core.connection.v1.Version) => item.serialize(writer));
            if (this.has_proof_height)
                writer.writeMessage(7, this.proof_height, () => this.proof_height.serialize(writer));
            if (this.proof_init.length)
                writer.writeBytes(8, this.proof_init);
            if (this.proof_client.length)
                writer.writeBytes(9, this.proof_client);
            if (this.proof_consensus.length)
                writer.writeBytes(10, this.proof_consensus);
            if (this.has_consensus_height)
                writer.writeMessage(11, this.consensus_height, () => this.consensus_height.serialize(writer));
            if (this.signer.length)
                writer.writeString(12, this.signer);
            if (this.host_consensus_state_proof.length)
                writer.writeBytes(13, this.host_consensus_state_proof);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): MsgConnectionOpenTry {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new MsgConnectionOpenTry();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.client_id = reader.readString();
                        break;
                    case 2:
                        message.previous_connection_id = reader.readString();
                        break;
                    case 3:
                        reader.readMessage(message.client_state, () => message.client_state = dependency_3.google.protobuf.Any.deserialize(reader));
                        break;
                    case 4:
                        reader.readMessage(message.counterparty, () => message.counterparty = dependency_5.ibc.core.connection.v1.Counterparty.deserialize(reader));
                        break;
                    case 5:
                        message.delay_period = reader.readUint64();
                        break;
                    case 6:
                        reader.readMessage(message.counterparty_versions, () => pb_1.Message.addToRepeatedWrapperField(message, 6, dependency_5.ibc.core.connection.v1.Version.deserialize(reader), dependency_5.ibc.core.connection.v1.Version));
                        break;
                    case 7:
                        reader.readMessage(message.proof_height, () => message.proof_height = dependency_4.ibc.core.client.v1.Height.deserialize(reader));
                        break;
                    case 8:
                        message.proof_init = reader.readBytes();
                        break;
                    case 9:
                        message.proof_client = reader.readBytes();
                        break;
                    case 10:
                        message.proof_consensus = reader.readBytes();
                        break;
                    case 11:
                        reader.readMessage(message.consensus_height, () => message.consensus_height = dependency_4.ibc.core.client.v1.Height.deserialize(reader));
                        break;
                    case 12:
                        message.signer = reader.readString();
                        break;
                    case 13:
                        message.host_consensus_state_proof = reader.readBytes();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): MsgConnectionOpenTry {
            return MsgConnectionOpenTry.deserialize(bytes);
        }
    }
    export class MsgConnectionOpenTryResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {}) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") { }
        }
        static fromObject(data: {}): MsgConnectionOpenTryResponse {
            const message = new MsgConnectionOpenTryResponse({});
            return message;
        }
        toObject() {
            const data: {} = {};
            return data;
        }
        serialize(): Uint8Array;
        serialize(w: pb_1.BinaryWriter): void;
        serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
            const writer = w || new pb_1.BinaryWriter();
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): MsgConnectionOpenTryResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new MsgConnectionOpenTryResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): MsgConnectionOpenTryResponse {
            return MsgConnectionOpenTryResponse.deserialize(bytes);
        }
    }
    export class MsgConnectionOpenAck extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            connection_id?: string;
            counterparty_connection_id?: string;
            version?: dependency_5.ibc.core.connection.v1.Version;
            /** @deprecated*/
            client_state?: dependency_3.google.protobuf.Any;
            proof_height?: dependency_4.ibc.core.client.v1.Height;
            proof_try?: Uint8Array;
            /** @deprecated*/
            proof_client?: Uint8Array;
            /** @deprecated*/
            proof_consensus?: Uint8Array;
            /** @deprecated*/
            consensus_height?: dependency_4.ibc.core.client.v1.Height;
            signer?: string;
            /** @deprecated*/
            host_consensus_state_proof?: Uint8Array;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("connection_id" in data && data.connection_id != undefined) {
                    this.connection_id = data.connection_id;
                }
                if ("counterparty_connection_id" in data && data.counterparty_connection_id != undefined) {
                    this.counterparty_connection_id = data.counterparty_connection_id;
                }
                if ("version" in data && data.version != undefined) {
                    this.version = data.version;
                }
                if ("client_state" in data && data.client_state != undefined) {
                    this.client_state = data.client_state;
                }
                if ("proof_height" in data && data.proof_height != undefined) {
                    this.proof_height = data.proof_height;
                }
                if ("proof_try" in data && data.proof_try != undefined) {
                    this.proof_try = data.proof_try;
                }
                if ("proof_client" in data && data.proof_client != undefined) {
                    this.proof_client = data.proof_client;
                }
                if ("proof_consensus" in data && data.proof_consensus != undefined) {
                    this.proof_consensus = data.proof_consensus;
                }
                if ("consensus_height" in data && data.consensus_height != undefined) {
                    this.consensus_height = data.consensus_height;
                }
                if ("signer" in data && data.signer != undefined) {
                    this.signer = data.signer;
                }
                if ("host_consensus_state_proof" in data && data.host_consensus_state_proof != undefined) {
                    this.host_consensus_state_proof = data.host_consensus_state_proof;
                }
            }
        }
        get connection_id() {
            return pb_1.Message.getFieldWithDefault(this, 1, "") as string;
        }
        set connection_id(value: string) {
            pb_1.Message.setField(this, 1, value);
        }
        get counterparty_connection_id() {
            return pb_1.Message.getFieldWithDefault(this, 2, "") as string;
        }
        set counterparty_connection_id(value: string) {
            pb_1.Message.setField(this, 2, value);
        }
        get version() {
            return pb_1.Message.getWrapperField(this, dependency_5.ibc.core.connection.v1.Version, 3) as dependency_5.ibc.core.connection.v1.Version;
        }
        set version(value: dependency_5.ibc.core.connection.v1.Version) {
            pb_1.Message.setWrapperField(this, 3, value);
        }
        get has_version() {
            return pb_1.Message.getField(this, 3) != null;
        }
        /** @deprecated*/
        get client_state() {
            return pb_1.Message.getWrapperField(this, dependency_3.google.protobuf.Any, 4) as dependency_3.google.protobuf.Any;
        }
        /** @deprecated*/
        set client_state(value: dependency_3.google.protobuf.Any) {
            pb_1.Message.setWrapperField(this, 4, value);
        }
        /** @deprecated*/
        get has_client_state() {
            return pb_1.Message.getField(this, 4) != null;
        }
        get proof_height() {
            return pb_1.Message.getWrapperField(this, dependency_4.ibc.core.client.v1.Height, 5) as dependency_4.ibc.core.client.v1.Height;
        }
        set proof_height(value: dependency_4.ibc.core.client.v1.Height) {
            pb_1.Message.setWrapperField(this, 5, value);
        }
        get has_proof_height() {
            return pb_1.Message.getField(this, 5) != null;
        }
        get proof_try() {
            return pb_1.Message.getFieldWithDefault(this, 6, new Uint8Array(0)) as Uint8Array;
        }
        set proof_try(value: Uint8Array) {
            pb_1.Message.setField(this, 6, value);
        }
        /** @deprecated*/
        get proof_client() {
            return pb_1.Message.getFieldWithDefault(this, 7, new Uint8Array(0)) as Uint8Array;
        }
        /** @deprecated*/
        set proof_client(value: Uint8Array) {
            pb_1.Message.setField(this, 7, value);
        }
        /** @deprecated*/
        get proof_consensus() {
            return pb_1.Message.getFieldWithDefault(this, 8, new Uint8Array(0)) as Uint8Array;
        }
        /** @deprecated*/
        set proof_consensus(value: Uint8Array) {
            pb_1.Message.setField(this, 8, value);
        }
        /** @deprecated*/
        get consensus_height() {
            return pb_1.Message.getWrapperField(this, dependency_4.ibc.core.client.v1.Height, 9) as dependency_4.ibc.core.client.v1.Height;
        }
        /** @deprecated*/
        set consensus_height(value: dependency_4.ibc.core.client.v1.Height) {
            pb_1.Message.setWrapperField(this, 9, value);
        }
        /** @deprecated*/
        get has_consensus_height() {
            return pb_1.Message.getField(this, 9) != null;
        }
        get signer() {
            return pb_1.Message.getFieldWithDefault(this, 10, "") as string;
        }
        set signer(value: string) {
            pb_1.Message.setField(this, 10, value);
        }
        /** @deprecated*/
        get host_consensus_state_proof() {
            return pb_1.Message.getFieldWithDefault(this, 11, new Uint8Array(0)) as Uint8Array;
        }
        /** @deprecated*/
        set host_consensus_state_proof(value: Uint8Array) {
            pb_1.Message.setField(this, 11, value);
        }
        static fromObject(data: {
            connection_id?: string;
            counterparty_connection_id?: string;
            version?: ReturnType<typeof dependency_5.ibc.core.connection.v1.Version.prototype.toObject>;
            client_state?: ReturnType<typeof dependency_3.google.protobuf.Any.prototype.toObject>;
            proof_height?: ReturnType<typeof dependency_4.ibc.core.client.v1.Height.prototype.toObject>;
            proof_try?: Uint8Array;
            proof_client?: Uint8Array;
            proof_consensus?: Uint8Array;
            consensus_height?: ReturnType<typeof dependency_4.ibc.core.client.v1.Height.prototype.toObject>;
            signer?: string;
            host_consensus_state_proof?: Uint8Array;
        }): MsgConnectionOpenAck {
            const message = new MsgConnectionOpenAck({});
            if (data.connection_id != null) {
                message.connection_id = data.connection_id;
            }
            if (data.counterparty_connection_id != null) {
                message.counterparty_connection_id = data.counterparty_connection_id;
            }
            if (data.version != null) {
                message.version = dependency_5.ibc.core.connection.v1.Version.fromObject(data.version);
            }
            if (data.client_state != null) {
                message.client_state = dependency_3.google.protobuf.Any.fromObject(data.client_state);
            }
            if (data.proof_height != null) {
                message.proof_height = dependency_4.ibc.core.client.v1.Height.fromObject(data.proof_height);
            }
            if (data.proof_try != null) {
                message.proof_try = data.proof_try;
            }
            if (data.proof_client != null) {
                message.proof_client = data.proof_client;
            }
            if (data.proof_consensus != null) {
                message.proof_consensus = data.proof_consensus;
            }
            if (data.consensus_height != null) {
                message.consensus_height = dependency_4.ibc.core.client.v1.Height.fromObject(data.consensus_height);
            }
            if (data.signer != null) {
                message.signer = data.signer;
            }
            if (data.host_consensus_state_proof != null) {
                message.host_consensus_state_proof = data.host_consensus_state_proof;
            }
            return message;
        }
        toObject() {
            const data: {
                connection_id?: string;
                counterparty_connection_id?: string;
                version?: ReturnType<typeof dependency_5.ibc.core.connection.v1.Version.prototype.toObject>;
                client_state?: ReturnType<typeof dependency_3.google.protobuf.Any.prototype.toObject>;
                proof_height?: ReturnType<typeof dependency_4.ibc.core.client.v1.Height.prototype.toObject>;
                proof_try?: Uint8Array;
                proof_client?: Uint8Array;
                proof_consensus?: Uint8Array;
                consensus_height?: ReturnType<typeof dependency_4.ibc.core.client.v1.Height.prototype.toObject>;
                signer?: string;
                host_consensus_state_proof?: Uint8Array;
            } = {};
            if (this.connection_id != null) {
                data.connection_id = this.connection_id;
            }
            if (this.counterparty_connection_id != null) {
                data.counterparty_connection_id = this.counterparty_connection_id;
            }
            if (this.version != null) {
                data.version = this.version.toObject();
            }
            if (this.client_state != null) {
                data.client_state = this.client_state.toObject();
            }
            if (this.proof_height != null) {
                data.proof_height = this.proof_height.toObject();
            }
            if (this.proof_try != null) {
                data.proof_try = this.proof_try;
            }
            if (this.proof_client != null) {
                data.proof_client = this.proof_client;
            }
            if (this.proof_consensus != null) {
                data.proof_consensus = this.proof_consensus;
            }
            if (this.consensus_height != null) {
                data.consensus_height = this.consensus_height.toObject();
            }
            if (this.signer != null) {
                data.signer = this.signer;
            }
            if (this.host_consensus_state_proof != null) {
                data.host_consensus_state_proof = this.host_consensus_state_proof;
            }
            return data;
        }
        serialize(): Uint8Array;
        serialize(w: pb_1.BinaryWriter): void;
        serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
            const writer = w || new pb_1.BinaryWriter();
            if (this.connection_id.length)
                writer.writeString(1, this.connection_id);
            if (this.counterparty_connection_id.length)
                writer.writeString(2, this.counterparty_connection_id);
            if (this.has_version)
                writer.writeMessage(3, this.version, () => this.version.serialize(writer));
            if (this.has_client_state)
                writer.writeMessage(4, this.client_state, () => this.client_state.serialize(writer));
            if (this.has_proof_height)
                writer.writeMessage(5, this.proof_height, () => this.proof_height.serialize(writer));
            if (this.proof_try.length)
                writer.writeBytes(6, this.proof_try);
            if (this.proof_client.length)
                writer.writeBytes(7, this.proof_client);
            if (this.proof_consensus.length)
                writer.writeBytes(8, this.proof_consensus);
            if (this.has_consensus_height)
                writer.writeMessage(9, this.consensus_height, () => this.consensus_height.serialize(writer));
            if (this.signer.length)
                writer.writeString(10, this.signer);
            if (this.host_consensus_state_proof.length)
                writer.writeBytes(11, this.host_consensus_state_proof);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): MsgConnectionOpenAck {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new MsgConnectionOpenAck();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.connection_id = reader.readString();
                        break;
                    case 2:
                        message.counterparty_connection_id = reader.readString();
                        break;
                    case 3:
                        reader.readMessage(message.version, () => message.version = dependency_5.ibc.core.connection.v1.Version.deserialize(reader));
                        break;
                    case 4:
                        reader.readMessage(message.client_state, () => message.client_state = dependency_3.google.protobuf.Any.deserialize(reader));
                        break;
                    case 5:
                        reader.readMessage(message.proof_height, () => message.proof_height = dependency_4.ibc.core.client.v1.Height.deserialize(reader));
                        break;
                    case 6:
                        message.proof_try = reader.readBytes();
                        break;
                    case 7:
                        message.proof_client = reader.readBytes();
                        break;
                    case 8:
                        message.proof_consensus = reader.readBytes();
                        break;
                    case 9:
                        reader.readMessage(message.consensus_height, () => message.consensus_height = dependency_4.ibc.core.client.v1.Height.deserialize(reader));
                        break;
                    case 10:
                        message.signer = reader.readString();
                        break;
                    case 11:
                        message.host_consensus_state_proof = reader.readBytes();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): MsgConnectionOpenAck {
            return MsgConnectionOpenAck.deserialize(bytes);
        }
    }
    export class MsgConnectionOpenAckResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {}) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") { }
        }
        static fromObject(data: {}): MsgConnectionOpenAckResponse {
            const message = new MsgConnectionOpenAckResponse({});
            return message;
        }
        toObject() {
            const data: {} = {};
            return data;
        }
        serialize(): Uint8Array;
        serialize(w: pb_1.BinaryWriter): void;
        serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
            const writer = w || new pb_1.BinaryWriter();
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): MsgConnectionOpenAckResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new MsgConnectionOpenAckResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): MsgConnectionOpenAckResponse {
            return MsgConnectionOpenAckResponse.deserialize(bytes);
        }
    }
    export class MsgConnectionOpenConfirm extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            connection_id?: string;
            proof_ack?: Uint8Array;
            proof_height?: dependency_4.ibc.core.client.v1.Height;
            signer?: string;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("connection_id" in data && data.connection_id != undefined) {
                    this.connection_id = data.connection_id;
                }
                if ("proof_ack" in data && data.proof_ack != undefined) {
                    this.proof_ack = data.proof_ack;
                }
                if ("proof_height" in data && data.proof_height != undefined) {
                    this.proof_height = data.proof_height;
                }
                if ("signer" in data && data.signer != undefined) {
                    this.signer = data.signer;
                }
            }
        }
        get connection_id() {
            return pb_1.Message.getFieldWithDefault(this, 1, "") as string;
        }
        set connection_id(value: string) {
            pb_1.Message.setField(this, 1, value);
        }
        get proof_ack() {
            return pb_1.Message.getFieldWithDefault(this, 2, new Uint8Array(0)) as Uint8Array;
        }
        set proof_ack(value: Uint8Array) {
            pb_1.Message.setField(this, 2, value);
        }
        get proof_height() {
            return pb_1.Message.getWrapperField(this, dependency_4.ibc.core.client.v1.Height, 3) as dependency_4.ibc.core.client.v1.Height;
        }
        set proof_height(value: dependency_4.ibc.core.client.v1.Height) {
            pb_1.Message.setWrapperField(this, 3, value);
        }
        get has_proof_height() {
            return pb_1.Message.getField(this, 3) != null;
        }
        get signer() {
            return pb_1.Message.getFieldWithDefault(this, 4, "") as string;
        }
        set signer(value: string) {
            pb_1.Message.setField(this, 4, value);
        }
        static fromObject(data: {
            connection_id?: string;
            proof_ack?: Uint8Array;
            proof_height?: ReturnType<typeof dependency_4.ibc.core.client.v1.Height.prototype.toObject>;
            signer?: string;
        }): MsgConnectionOpenConfirm {
            const message = new MsgConnectionOpenConfirm({});
            if (data.connection_id != null) {
                message.connection_id = data.connection_id;
            }
            if (data.proof_ack != null) {
                message.proof_ack = data.proof_ack;
            }
            if (data.proof_height != null) {
                message.proof_height = dependency_4.ibc.core.client.v1.Height.fromObject(data.proof_height);
            }
            if (data.signer != null) {
                message.signer = data.signer;
            }
            return message;
        }
        toObject() {
            const data: {
                connection_id?: string;
                proof_ack?: Uint8Array;
                proof_height?: ReturnType<typeof dependency_4.ibc.core.client.v1.Height.prototype.toObject>;
                signer?: string;
            } = {};
            if (this.connection_id != null) {
                data.connection_id = this.connection_id;
            }
            if (this.proof_ack != null) {
                data.proof_ack = this.proof_ack;
            }
            if (this.proof_height != null) {
                data.proof_height = this.proof_height.toObject();
            }
            if (this.signer != null) {
                data.signer = this.signer;
            }
            return data;
        }
        serialize(): Uint8Array;
        serialize(w: pb_1.BinaryWriter): void;
        serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
            const writer = w || new pb_1.BinaryWriter();
            if (this.connection_id.length)
                writer.writeString(1, this.connection_id);
            if (this.proof_ack.length)
                writer.writeBytes(2, this.proof_ack);
            if (this.has_proof_height)
                writer.writeMessage(3, this.proof_height, () => this.proof_height.serialize(writer));
            if (this.signer.length)
                writer.writeString(4, this.signer);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): MsgConnectionOpenConfirm {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new MsgConnectionOpenConfirm();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.connection_id = reader.readString();
                        break;
                    case 2:
                        message.proof_ack = reader.readBytes();
                        break;
                    case 3:
                        reader.readMessage(message.proof_height, () => message.proof_height = dependency_4.ibc.core.client.v1.Height.deserialize(reader));
                        break;
                    case 4:
                        message.signer = reader.readString();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): MsgConnectionOpenConfirm {
            return MsgConnectionOpenConfirm.deserialize(bytes);
        }
    }
    export class MsgConnectionOpenConfirmResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {}) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") { }
        }
        static fromObject(data: {}): MsgConnectionOpenConfirmResponse {
            const message = new MsgConnectionOpenConfirmResponse({});
            return message;
        }
        toObject() {
            const data: {} = {};
            return data;
        }
        serialize(): Uint8Array;
        serialize(w: pb_1.BinaryWriter): void;
        serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
            const writer = w || new pb_1.BinaryWriter();
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): MsgConnectionOpenConfirmResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new MsgConnectionOpenConfirmResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): MsgConnectionOpenConfirmResponse {
            return MsgConnectionOpenConfirmResponse.deserialize(bytes);
        }
    }
    export class MsgUpdateParams extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            signer?: string;
            params?: dependency_5.ibc.core.connection.v1.Params;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("signer" in data && data.signer != undefined) {
                    this.signer = data.signer;
                }
                if ("params" in data && data.params != undefined) {
                    this.params = data.params;
                }
            }
        }
        get signer() {
            return pb_1.Message.getFieldWithDefault(this, 1, "") as string;
        }
        set signer(value: string) {
            pb_1.Message.setField(this, 1, value);
        }
        get params() {
            return pb_1.Message.getWrapperField(this, dependency_5.ibc.core.connection.v1.Params, 2) as dependency_5.ibc.core.connection.v1.Params;
        }
        set params(value: dependency_5.ibc.core.connection.v1.Params) {
            pb_1.Message.setWrapperField(this, 2, value);
        }
        get has_params() {
            return pb_1.Message.getField(this, 2) != null;
        }
        static fromObject(data: {
            signer?: string;
            params?: ReturnType<typeof dependency_5.ibc.core.connection.v1.Params.prototype.toObject>;
        }): MsgUpdateParams {
            const message = new MsgUpdateParams({});
            if (data.signer != null) {
                message.signer = data.signer;
            }
            if (data.params != null) {
                message.params = dependency_5.ibc.core.connection.v1.Params.fromObject(data.params);
            }
            return message;
        }
        toObject() {
            const data: {
                signer?: string;
                params?: ReturnType<typeof dependency_5.ibc.core.connection.v1.Params.prototype.toObject>;
            } = {};
            if (this.signer != null) {
                data.signer = this.signer;
            }
            if (this.params != null) {
                data.params = this.params.toObject();
            }
            return data;
        }
        serialize(): Uint8Array;
        serialize(w: pb_1.BinaryWriter): void;
        serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
            const writer = w || new pb_1.BinaryWriter();
            if (this.signer.length)
                writer.writeString(1, this.signer);
            if (this.has_params)
                writer.writeMessage(2, this.params, () => this.params.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): MsgUpdateParams {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new MsgUpdateParams();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.signer = reader.readString();
                        break;
                    case 2:
                        reader.readMessage(message.params, () => message.params = dependency_5.ibc.core.connection.v1.Params.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): MsgUpdateParams {
            return MsgUpdateParams.deserialize(bytes);
        }
    }
    export class MsgUpdateParamsResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {}) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") { }
        }
        static fromObject(data: {}): MsgUpdateParamsResponse {
            const message = new MsgUpdateParamsResponse({});
            return message;
        }
        toObject() {
            const data: {} = {};
            return data;
        }
        serialize(): Uint8Array;
        serialize(w: pb_1.BinaryWriter): void;
        serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
            const writer = w || new pb_1.BinaryWriter();
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): MsgUpdateParamsResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new MsgUpdateParamsResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): MsgUpdateParamsResponse {
            return MsgUpdateParamsResponse.deserialize(bytes);
        }
    }
    interface GrpcUnaryServiceInterface<P, R> {
        (message: P, metadata: grpc_1.Metadata, options: grpc_1.CallOptions, callback: grpc_1.requestCallback<R>): grpc_1.ClientUnaryCall;
        (message: P, metadata: grpc_1.Metadata, callback: grpc_1.requestCallback<R>): grpc_1.ClientUnaryCall;
        (message: P, options: grpc_1.CallOptions, callback: grpc_1.requestCallback<R>): grpc_1.ClientUnaryCall;
        (message: P, callback: grpc_1.requestCallback<R>): grpc_1.ClientUnaryCall;
    }
    interface GrpcStreamServiceInterface<P, R> {
        (message: P, metadata: grpc_1.Metadata, options?: grpc_1.CallOptions): grpc_1.ClientReadableStream<R>;
        (message: P, options?: grpc_1.CallOptions): grpc_1.ClientReadableStream<R>;
    }
    interface GrpWritableServiceInterface<P, R> {
        (metadata: grpc_1.Metadata, options: grpc_1.CallOptions, callback: grpc_1.requestCallback<R>): grpc_1.ClientWritableStream<P>;
        (metadata: grpc_1.Metadata, callback: grpc_1.requestCallback<R>): grpc_1.ClientWritableStream<P>;
        (options: grpc_1.CallOptions, callback: grpc_1.requestCallback<R>): grpc_1.ClientWritableStream<P>;
        (callback: grpc_1.requestCallback<R>): grpc_1.ClientWritableStream<P>;
    }
    interface GrpcChunkServiceInterface<P, R> {
        (metadata: grpc_1.Metadata, options?: grpc_1.CallOptions): grpc_1.ClientDuplexStream<P, R>;
        (options?: grpc_1.CallOptions): grpc_1.ClientDuplexStream<P, R>;
    }
    interface GrpcPromiseServiceInterface<P, R> {
        (message: P, metadata: grpc_1.Metadata, options?: grpc_1.CallOptions): Promise<R>;
        (message: P, options?: grpc_1.CallOptions): Promise<R>;
    }
    export abstract class UnimplementedMsgService {
        static definition = {
            ConnectionOpenInit: {
                path: "/ibc.core.connection.v1.Msg/ConnectionOpenInit",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: MsgConnectionOpenInit) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => MsgConnectionOpenInit.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: MsgConnectionOpenInitResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => MsgConnectionOpenInitResponse.deserialize(new Uint8Array(bytes))
            },
            ConnectionOpenTry: {
                path: "/ibc.core.connection.v1.Msg/ConnectionOpenTry",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: MsgConnectionOpenTry) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => MsgConnectionOpenTry.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: MsgConnectionOpenTryResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => MsgConnectionOpenTryResponse.deserialize(new Uint8Array(bytes))
            },
            ConnectionOpenAck: {
                path: "/ibc.core.connection.v1.Msg/ConnectionOpenAck",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: MsgConnectionOpenAck) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => MsgConnectionOpenAck.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: MsgConnectionOpenAckResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => MsgConnectionOpenAckResponse.deserialize(new Uint8Array(bytes))
            },
            ConnectionOpenConfirm: {
                path: "/ibc.core.connection.v1.Msg/ConnectionOpenConfirm",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: MsgConnectionOpenConfirm) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => MsgConnectionOpenConfirm.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: MsgConnectionOpenConfirmResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => MsgConnectionOpenConfirmResponse.deserialize(new Uint8Array(bytes))
            },
            UpdateConnectionParams: {
                path: "/ibc.core.connection.v1.Msg/UpdateConnectionParams",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: MsgUpdateParams) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => MsgUpdateParams.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: MsgUpdateParamsResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => MsgUpdateParamsResponse.deserialize(new Uint8Array(bytes))
            }
        };
        [method: string]: grpc_1.UntypedHandleCall;
        abstract ConnectionOpenInit(call: grpc_1.ServerUnaryCall<MsgConnectionOpenInit, MsgConnectionOpenInitResponse>, callback: grpc_1.sendUnaryData<MsgConnectionOpenInitResponse>): void;
        abstract ConnectionOpenTry(call: grpc_1.ServerUnaryCall<MsgConnectionOpenTry, MsgConnectionOpenTryResponse>, callback: grpc_1.sendUnaryData<MsgConnectionOpenTryResponse>): void;
        abstract ConnectionOpenAck(call: grpc_1.ServerUnaryCall<MsgConnectionOpenAck, MsgConnectionOpenAckResponse>, callback: grpc_1.sendUnaryData<MsgConnectionOpenAckResponse>): void;
        abstract ConnectionOpenConfirm(call: grpc_1.ServerUnaryCall<MsgConnectionOpenConfirm, MsgConnectionOpenConfirmResponse>, callback: grpc_1.sendUnaryData<MsgConnectionOpenConfirmResponse>): void;
        abstract UpdateConnectionParams(call: grpc_1.ServerUnaryCall<MsgUpdateParams, MsgUpdateParamsResponse>, callback: grpc_1.sendUnaryData<MsgUpdateParamsResponse>): void;
    }
    export class MsgClient extends grpc_1.makeGenericClientConstructor(UnimplementedMsgService.definition, "Msg", {}) {
        constructor(address: string, credentials: grpc_1.ChannelCredentials, options?: Partial<grpc_1.ChannelOptions>) {
            super(address, credentials, options);
        }
        ConnectionOpenInit: GrpcUnaryServiceInterface<MsgConnectionOpenInit, MsgConnectionOpenInitResponse> = (message: MsgConnectionOpenInit, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<MsgConnectionOpenInitResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<MsgConnectionOpenInitResponse>, callback?: grpc_1.requestCallback<MsgConnectionOpenInitResponse>): grpc_1.ClientUnaryCall => {
            return super.ConnectionOpenInit(message, metadata, options, callback);
        };
        ConnectionOpenTry: GrpcUnaryServiceInterface<MsgConnectionOpenTry, MsgConnectionOpenTryResponse> = (message: MsgConnectionOpenTry, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<MsgConnectionOpenTryResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<MsgConnectionOpenTryResponse>, callback?: grpc_1.requestCallback<MsgConnectionOpenTryResponse>): grpc_1.ClientUnaryCall => {
            return super.ConnectionOpenTry(message, metadata, options, callback);
        };
        ConnectionOpenAck: GrpcUnaryServiceInterface<MsgConnectionOpenAck, MsgConnectionOpenAckResponse> = (message: MsgConnectionOpenAck, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<MsgConnectionOpenAckResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<MsgConnectionOpenAckResponse>, callback?: grpc_1.requestCallback<MsgConnectionOpenAckResponse>): grpc_1.ClientUnaryCall => {
            return super.ConnectionOpenAck(message, metadata, options, callback);
        };
        ConnectionOpenConfirm: GrpcUnaryServiceInterface<MsgConnectionOpenConfirm, MsgConnectionOpenConfirmResponse> = (message: MsgConnectionOpenConfirm, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<MsgConnectionOpenConfirmResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<MsgConnectionOpenConfirmResponse>, callback?: grpc_1.requestCallback<MsgConnectionOpenConfirmResponse>): grpc_1.ClientUnaryCall => {
            return super.ConnectionOpenConfirm(message, metadata, options, callback);
        };
        UpdateConnectionParams: GrpcUnaryServiceInterface<MsgUpdateParams, MsgUpdateParamsResponse> = (message: MsgUpdateParams, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<MsgUpdateParamsResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<MsgUpdateParamsResponse>, callback?: grpc_1.requestCallback<MsgUpdateParamsResponse>): grpc_1.ClientUnaryCall => {
            return super.UpdateConnectionParams(message, metadata, options, callback);
        };
    }
}
