/**
 * Generated by the protoc-gen-ts.  DO NOT EDIT!
 * compiler version: 3.20.3
 * source: ibc/core/channel/v1/query.proto
 * git: https://github.com/thesayyn/protoc-gen-ts */
import * as dependency_1 from "./../../client/v1/client";
import * as dependency_2 from "./../../../../cosmos/base/query/v1beta1/pagination";
import * as dependency_3 from "./channel";
import * as dependency_4 from "./../../../../google/api/annotations";
import * as dependency_5 from "./../../../../google/protobuf/any";
import * as dependency_6 from "./../../../../gogoproto/gogo";
import * as dependency_7 from "./upgrade";
import * as pb_1 from "google-protobuf";
import * as grpc_1 from "@grpc/grpc-js";
export namespace ibc.core.channel.v1 {
    export class QueryChannelRequest extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            port_id?: string;
            channel_id?: 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 ("port_id" in data && data.port_id != undefined) {
                    this.port_id = data.port_id;
                }
                if ("channel_id" in data && data.channel_id != undefined) {
                    this.channel_id = data.channel_id;
                }
            }
        }
        get port_id() {
            return pb_1.Message.getFieldWithDefault(this, 1, "") as string;
        }
        set port_id(value: string) {
            pb_1.Message.setField(this, 1, value);
        }
        get channel_id() {
            return pb_1.Message.getFieldWithDefault(this, 2, "") as string;
        }
        set channel_id(value: string) {
            pb_1.Message.setField(this, 2, value);
        }
        static fromObject(data: {
            port_id?: string;
            channel_id?: string;
        }): QueryChannelRequest {
            const message = new QueryChannelRequest({});
            if (data.port_id != null) {
                message.port_id = data.port_id;
            }
            if (data.channel_id != null) {
                message.channel_id = data.channel_id;
            }
            return message;
        }
        toObject() {
            const data: {
                port_id?: string;
                channel_id?: string;
            } = {};
            if (this.port_id != null) {
                data.port_id = this.port_id;
            }
            if (this.channel_id != null) {
                data.channel_id = this.channel_id;
            }
            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.port_id.length)
                writer.writeString(1, this.port_id);
            if (this.channel_id.length)
                writer.writeString(2, this.channel_id);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryChannelRequest {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryChannelRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.port_id = reader.readString();
                        break;
                    case 2:
                        message.channel_id = reader.readString();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryChannelRequest {
            return QueryChannelRequest.deserialize(bytes);
        }
    }
    export class QueryChannelResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            channel?: dependency_3.ibc.core.channel.v1.Channel;
            proof?: Uint8Array;
            proof_height?: dependency_1.ibc.core.client.v1.Height;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("channel" in data && data.channel != undefined) {
                    this.channel = data.channel;
                }
                if ("proof" in data && data.proof != undefined) {
                    this.proof = data.proof;
                }
                if ("proof_height" in data && data.proof_height != undefined) {
                    this.proof_height = data.proof_height;
                }
            }
        }
        get channel() {
            return pb_1.Message.getWrapperField(this, dependency_3.ibc.core.channel.v1.Channel, 1) as dependency_3.ibc.core.channel.v1.Channel;
        }
        set channel(value: dependency_3.ibc.core.channel.v1.Channel) {
            pb_1.Message.setWrapperField(this, 1, value);
        }
        get has_channel() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get proof() {
            return pb_1.Message.getFieldWithDefault(this, 2, new Uint8Array(0)) as Uint8Array;
        }
        set proof(value: Uint8Array) {
            pb_1.Message.setField(this, 2, value);
        }
        get proof_height() {
            return pb_1.Message.getWrapperField(this, dependency_1.ibc.core.client.v1.Height, 3) as dependency_1.ibc.core.client.v1.Height;
        }
        set proof_height(value: dependency_1.ibc.core.client.v1.Height) {
            pb_1.Message.setWrapperField(this, 3, value);
        }
        get has_proof_height() {
            return pb_1.Message.getField(this, 3) != null;
        }
        static fromObject(data: {
            channel?: ReturnType<typeof dependency_3.ibc.core.channel.v1.Channel.prototype.toObject>;
            proof?: Uint8Array;
            proof_height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
        }): QueryChannelResponse {
            const message = new QueryChannelResponse({});
            if (data.channel != null) {
                message.channel = dependency_3.ibc.core.channel.v1.Channel.fromObject(data.channel);
            }
            if (data.proof != null) {
                message.proof = data.proof;
            }
            if (data.proof_height != null) {
                message.proof_height = dependency_1.ibc.core.client.v1.Height.fromObject(data.proof_height);
            }
            return message;
        }
        toObject() {
            const data: {
                channel?: ReturnType<typeof dependency_3.ibc.core.channel.v1.Channel.prototype.toObject>;
                proof?: Uint8Array;
                proof_height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
            } = {};
            if (this.channel != null) {
                data.channel = this.channel.toObject();
            }
            if (this.proof != null) {
                data.proof = this.proof;
            }
            if (this.proof_height != null) {
                data.proof_height = this.proof_height.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.has_channel)
                writer.writeMessage(1, this.channel, () => this.channel.serialize(writer));
            if (this.proof.length)
                writer.writeBytes(2, this.proof);
            if (this.has_proof_height)
                writer.writeMessage(3, this.proof_height, () => this.proof_height.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryChannelResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryChannelResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.channel, () => message.channel = dependency_3.ibc.core.channel.v1.Channel.deserialize(reader));
                        break;
                    case 2:
                        message.proof = reader.readBytes();
                        break;
                    case 3:
                        reader.readMessage(message.proof_height, () => message.proof_height = dependency_1.ibc.core.client.v1.Height.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryChannelResponse {
            return QueryChannelResponse.deserialize(bytes);
        }
    }
    export class QueryChannelsRequest extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            pagination?: dependency_2.cosmos.base.query.v1beta1.PageRequest;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("pagination" in data && data.pagination != undefined) {
                    this.pagination = data.pagination;
                }
            }
        }
        get pagination() {
            return pb_1.Message.getWrapperField(this, dependency_2.cosmos.base.query.v1beta1.PageRequest, 1) as dependency_2.cosmos.base.query.v1beta1.PageRequest;
        }
        set pagination(value: dependency_2.cosmos.base.query.v1beta1.PageRequest) {
            pb_1.Message.setWrapperField(this, 1, value);
        }
        get has_pagination() {
            return pb_1.Message.getField(this, 1) != null;
        }
        static fromObject(data: {
            pagination?: ReturnType<typeof dependency_2.cosmos.base.query.v1beta1.PageRequest.prototype.toObject>;
        }): QueryChannelsRequest {
            const message = new QueryChannelsRequest({});
            if (data.pagination != null) {
                message.pagination = dependency_2.cosmos.base.query.v1beta1.PageRequest.fromObject(data.pagination);
            }
            return message;
        }
        toObject() {
            const data: {
                pagination?: ReturnType<typeof dependency_2.cosmos.base.query.v1beta1.PageRequest.prototype.toObject>;
            } = {};
            if (this.pagination != null) {
                data.pagination = this.pagination.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.has_pagination)
                writer.writeMessage(1, this.pagination, () => this.pagination.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryChannelsRequest {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryChannelsRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.pagination, () => message.pagination = dependency_2.cosmos.base.query.v1beta1.PageRequest.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryChannelsRequest {
            return QueryChannelsRequest.deserialize(bytes);
        }
    }
    export class QueryChannelsResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            channels?: dependency_3.ibc.core.channel.v1.IdentifiedChannel[];
            pagination?: dependency_2.cosmos.base.query.v1beta1.PageResponse;
            height?: dependency_1.ibc.core.client.v1.Height;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("channels" in data && data.channels != undefined) {
                    this.channels = data.channels;
                }
                if ("pagination" in data && data.pagination != undefined) {
                    this.pagination = data.pagination;
                }
                if ("height" in data && data.height != undefined) {
                    this.height = data.height;
                }
            }
        }
        get channels() {
            return pb_1.Message.getRepeatedWrapperField(this, dependency_3.ibc.core.channel.v1.IdentifiedChannel, 1) as dependency_3.ibc.core.channel.v1.IdentifiedChannel[];
        }
        set channels(value: dependency_3.ibc.core.channel.v1.IdentifiedChannel[]) {
            pb_1.Message.setRepeatedWrapperField(this, 1, value);
        }
        get pagination() {
            return pb_1.Message.getWrapperField(this, dependency_2.cosmos.base.query.v1beta1.PageResponse, 2) as dependency_2.cosmos.base.query.v1beta1.PageResponse;
        }
        set pagination(value: dependency_2.cosmos.base.query.v1beta1.PageResponse) {
            pb_1.Message.setWrapperField(this, 2, value);
        }
        get has_pagination() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get height() {
            return pb_1.Message.getWrapperField(this, dependency_1.ibc.core.client.v1.Height, 3) as dependency_1.ibc.core.client.v1.Height;
        }
        set height(value: dependency_1.ibc.core.client.v1.Height) {
            pb_1.Message.setWrapperField(this, 3, value);
        }
        get has_height() {
            return pb_1.Message.getField(this, 3) != null;
        }
        static fromObject(data: {
            channels?: ReturnType<typeof dependency_3.ibc.core.channel.v1.IdentifiedChannel.prototype.toObject>[];
            pagination?: ReturnType<typeof dependency_2.cosmos.base.query.v1beta1.PageResponse.prototype.toObject>;
            height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
        }): QueryChannelsResponse {
            const message = new QueryChannelsResponse({});
            if (data.channels != null) {
                message.channels = data.channels.map(item => dependency_3.ibc.core.channel.v1.IdentifiedChannel.fromObject(item));
            }
            if (data.pagination != null) {
                message.pagination = dependency_2.cosmos.base.query.v1beta1.PageResponse.fromObject(data.pagination);
            }
            if (data.height != null) {
                message.height = dependency_1.ibc.core.client.v1.Height.fromObject(data.height);
            }
            return message;
        }
        toObject() {
            const data: {
                channels?: ReturnType<typeof dependency_3.ibc.core.channel.v1.IdentifiedChannel.prototype.toObject>[];
                pagination?: ReturnType<typeof dependency_2.cosmos.base.query.v1beta1.PageResponse.prototype.toObject>;
                height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
            } = {};
            if (this.channels != null) {
                data.channels = this.channels.map((item: dependency_3.ibc.core.channel.v1.IdentifiedChannel) => item.toObject());
            }
            if (this.pagination != null) {
                data.pagination = this.pagination.toObject();
            }
            if (this.height != null) {
                data.height = this.height.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.channels.length)
                writer.writeRepeatedMessage(1, this.channels, (item: dependency_3.ibc.core.channel.v1.IdentifiedChannel) => item.serialize(writer));
            if (this.has_pagination)
                writer.writeMessage(2, this.pagination, () => this.pagination.serialize(writer));
            if (this.has_height)
                writer.writeMessage(3, this.height, () => this.height.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryChannelsResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryChannelsResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.channels, () => pb_1.Message.addToRepeatedWrapperField(message, 1, dependency_3.ibc.core.channel.v1.IdentifiedChannel.deserialize(reader), dependency_3.ibc.core.channel.v1.IdentifiedChannel));
                        break;
                    case 2:
                        reader.readMessage(message.pagination, () => message.pagination = dependency_2.cosmos.base.query.v1beta1.PageResponse.deserialize(reader));
                        break;
                    case 3:
                        reader.readMessage(message.height, () => message.height = dependency_1.ibc.core.client.v1.Height.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryChannelsResponse {
            return QueryChannelsResponse.deserialize(bytes);
        }
    }
    export class QueryConnectionChannelsRequest extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            connection?: string;
            pagination?: dependency_2.cosmos.base.query.v1beta1.PageRequest;
        }) {
            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" in data && data.connection != undefined) {
                    this.connection = data.connection;
                }
                if ("pagination" in data && data.pagination != undefined) {
                    this.pagination = data.pagination;
                }
            }
        }
        get connection() {
            return pb_1.Message.getFieldWithDefault(this, 1, "") as string;
        }
        set connection(value: string) {
            pb_1.Message.setField(this, 1, value);
        }
        get pagination() {
            return pb_1.Message.getWrapperField(this, dependency_2.cosmos.base.query.v1beta1.PageRequest, 2) as dependency_2.cosmos.base.query.v1beta1.PageRequest;
        }
        set pagination(value: dependency_2.cosmos.base.query.v1beta1.PageRequest) {
            pb_1.Message.setWrapperField(this, 2, value);
        }
        get has_pagination() {
            return pb_1.Message.getField(this, 2) != null;
        }
        static fromObject(data: {
            connection?: string;
            pagination?: ReturnType<typeof dependency_2.cosmos.base.query.v1beta1.PageRequest.prototype.toObject>;
        }): QueryConnectionChannelsRequest {
            const message = new QueryConnectionChannelsRequest({});
            if (data.connection != null) {
                message.connection = data.connection;
            }
            if (data.pagination != null) {
                message.pagination = dependency_2.cosmos.base.query.v1beta1.PageRequest.fromObject(data.pagination);
            }
            return message;
        }
        toObject() {
            const data: {
                connection?: string;
                pagination?: ReturnType<typeof dependency_2.cosmos.base.query.v1beta1.PageRequest.prototype.toObject>;
            } = {};
            if (this.connection != null) {
                data.connection = this.connection;
            }
            if (this.pagination != null) {
                data.pagination = this.pagination.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.connection.length)
                writer.writeString(1, this.connection);
            if (this.has_pagination)
                writer.writeMessage(2, this.pagination, () => this.pagination.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryConnectionChannelsRequest {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryConnectionChannelsRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.connection = reader.readString();
                        break;
                    case 2:
                        reader.readMessage(message.pagination, () => message.pagination = dependency_2.cosmos.base.query.v1beta1.PageRequest.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryConnectionChannelsRequest {
            return QueryConnectionChannelsRequest.deserialize(bytes);
        }
    }
    export class QueryConnectionChannelsResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            channels?: dependency_3.ibc.core.channel.v1.IdentifiedChannel[];
            pagination?: dependency_2.cosmos.base.query.v1beta1.PageResponse;
            height?: dependency_1.ibc.core.client.v1.Height;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("channels" in data && data.channels != undefined) {
                    this.channels = data.channels;
                }
                if ("pagination" in data && data.pagination != undefined) {
                    this.pagination = data.pagination;
                }
                if ("height" in data && data.height != undefined) {
                    this.height = data.height;
                }
            }
        }
        get channels() {
            return pb_1.Message.getRepeatedWrapperField(this, dependency_3.ibc.core.channel.v1.IdentifiedChannel, 1) as dependency_3.ibc.core.channel.v1.IdentifiedChannel[];
        }
        set channels(value: dependency_3.ibc.core.channel.v1.IdentifiedChannel[]) {
            pb_1.Message.setRepeatedWrapperField(this, 1, value);
        }
        get pagination() {
            return pb_1.Message.getWrapperField(this, dependency_2.cosmos.base.query.v1beta1.PageResponse, 2) as dependency_2.cosmos.base.query.v1beta1.PageResponse;
        }
        set pagination(value: dependency_2.cosmos.base.query.v1beta1.PageResponse) {
            pb_1.Message.setWrapperField(this, 2, value);
        }
        get has_pagination() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get height() {
            return pb_1.Message.getWrapperField(this, dependency_1.ibc.core.client.v1.Height, 3) as dependency_1.ibc.core.client.v1.Height;
        }
        set height(value: dependency_1.ibc.core.client.v1.Height) {
            pb_1.Message.setWrapperField(this, 3, value);
        }
        get has_height() {
            return pb_1.Message.getField(this, 3) != null;
        }
        static fromObject(data: {
            channels?: ReturnType<typeof dependency_3.ibc.core.channel.v1.IdentifiedChannel.prototype.toObject>[];
            pagination?: ReturnType<typeof dependency_2.cosmos.base.query.v1beta1.PageResponse.prototype.toObject>;
            height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
        }): QueryConnectionChannelsResponse {
            const message = new QueryConnectionChannelsResponse({});
            if (data.channels != null) {
                message.channels = data.channels.map(item => dependency_3.ibc.core.channel.v1.IdentifiedChannel.fromObject(item));
            }
            if (data.pagination != null) {
                message.pagination = dependency_2.cosmos.base.query.v1beta1.PageResponse.fromObject(data.pagination);
            }
            if (data.height != null) {
                message.height = dependency_1.ibc.core.client.v1.Height.fromObject(data.height);
            }
            return message;
        }
        toObject() {
            const data: {
                channels?: ReturnType<typeof dependency_3.ibc.core.channel.v1.IdentifiedChannel.prototype.toObject>[];
                pagination?: ReturnType<typeof dependency_2.cosmos.base.query.v1beta1.PageResponse.prototype.toObject>;
                height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
            } = {};
            if (this.channels != null) {
                data.channels = this.channels.map((item: dependency_3.ibc.core.channel.v1.IdentifiedChannel) => item.toObject());
            }
            if (this.pagination != null) {
                data.pagination = this.pagination.toObject();
            }
            if (this.height != null) {
                data.height = this.height.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.channels.length)
                writer.writeRepeatedMessage(1, this.channels, (item: dependency_3.ibc.core.channel.v1.IdentifiedChannel) => item.serialize(writer));
            if (this.has_pagination)
                writer.writeMessage(2, this.pagination, () => this.pagination.serialize(writer));
            if (this.has_height)
                writer.writeMessage(3, this.height, () => this.height.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryConnectionChannelsResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryConnectionChannelsResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.channels, () => pb_1.Message.addToRepeatedWrapperField(message, 1, dependency_3.ibc.core.channel.v1.IdentifiedChannel.deserialize(reader), dependency_3.ibc.core.channel.v1.IdentifiedChannel));
                        break;
                    case 2:
                        reader.readMessage(message.pagination, () => message.pagination = dependency_2.cosmos.base.query.v1beta1.PageResponse.deserialize(reader));
                        break;
                    case 3:
                        reader.readMessage(message.height, () => message.height = dependency_1.ibc.core.client.v1.Height.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryConnectionChannelsResponse {
            return QueryConnectionChannelsResponse.deserialize(bytes);
        }
    }
    export class QueryChannelClientStateRequest extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            port_id?: string;
            channel_id?: 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 ("port_id" in data && data.port_id != undefined) {
                    this.port_id = data.port_id;
                }
                if ("channel_id" in data && data.channel_id != undefined) {
                    this.channel_id = data.channel_id;
                }
            }
        }
        get port_id() {
            return pb_1.Message.getFieldWithDefault(this, 1, "") as string;
        }
        set port_id(value: string) {
            pb_1.Message.setField(this, 1, value);
        }
        get channel_id() {
            return pb_1.Message.getFieldWithDefault(this, 2, "") as string;
        }
        set channel_id(value: string) {
            pb_1.Message.setField(this, 2, value);
        }
        static fromObject(data: {
            port_id?: string;
            channel_id?: string;
        }): QueryChannelClientStateRequest {
            const message = new QueryChannelClientStateRequest({});
            if (data.port_id != null) {
                message.port_id = data.port_id;
            }
            if (data.channel_id != null) {
                message.channel_id = data.channel_id;
            }
            return message;
        }
        toObject() {
            const data: {
                port_id?: string;
                channel_id?: string;
            } = {};
            if (this.port_id != null) {
                data.port_id = this.port_id;
            }
            if (this.channel_id != null) {
                data.channel_id = this.channel_id;
            }
            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.port_id.length)
                writer.writeString(1, this.port_id);
            if (this.channel_id.length)
                writer.writeString(2, this.channel_id);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryChannelClientStateRequest {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryChannelClientStateRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.port_id = reader.readString();
                        break;
                    case 2:
                        message.channel_id = reader.readString();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryChannelClientStateRequest {
            return QueryChannelClientStateRequest.deserialize(bytes);
        }
    }
    export class QueryChannelClientStateResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            identified_client_state?: dependency_1.ibc.core.client.v1.IdentifiedClientState;
            proof?: Uint8Array;
            proof_height?: dependency_1.ibc.core.client.v1.Height;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("identified_client_state" in data && data.identified_client_state != undefined) {
                    this.identified_client_state = data.identified_client_state;
                }
                if ("proof" in data && data.proof != undefined) {
                    this.proof = data.proof;
                }
                if ("proof_height" in data && data.proof_height != undefined) {
                    this.proof_height = data.proof_height;
                }
            }
        }
        get identified_client_state() {
            return pb_1.Message.getWrapperField(this, dependency_1.ibc.core.client.v1.IdentifiedClientState, 1) as dependency_1.ibc.core.client.v1.IdentifiedClientState;
        }
        set identified_client_state(value: dependency_1.ibc.core.client.v1.IdentifiedClientState) {
            pb_1.Message.setWrapperField(this, 1, value);
        }
        get has_identified_client_state() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get proof() {
            return pb_1.Message.getFieldWithDefault(this, 2, new Uint8Array(0)) as Uint8Array;
        }
        set proof(value: Uint8Array) {
            pb_1.Message.setField(this, 2, value);
        }
        get proof_height() {
            return pb_1.Message.getWrapperField(this, dependency_1.ibc.core.client.v1.Height, 3) as dependency_1.ibc.core.client.v1.Height;
        }
        set proof_height(value: dependency_1.ibc.core.client.v1.Height) {
            pb_1.Message.setWrapperField(this, 3, value);
        }
        get has_proof_height() {
            return pb_1.Message.getField(this, 3) != null;
        }
        static fromObject(data: {
            identified_client_state?: ReturnType<typeof dependency_1.ibc.core.client.v1.IdentifiedClientState.prototype.toObject>;
            proof?: Uint8Array;
            proof_height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
        }): QueryChannelClientStateResponse {
            const message = new QueryChannelClientStateResponse({});
            if (data.identified_client_state != null) {
                message.identified_client_state = dependency_1.ibc.core.client.v1.IdentifiedClientState.fromObject(data.identified_client_state);
            }
            if (data.proof != null) {
                message.proof = data.proof;
            }
            if (data.proof_height != null) {
                message.proof_height = dependency_1.ibc.core.client.v1.Height.fromObject(data.proof_height);
            }
            return message;
        }
        toObject() {
            const data: {
                identified_client_state?: ReturnType<typeof dependency_1.ibc.core.client.v1.IdentifiedClientState.prototype.toObject>;
                proof?: Uint8Array;
                proof_height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
            } = {};
            if (this.identified_client_state != null) {
                data.identified_client_state = this.identified_client_state.toObject();
            }
            if (this.proof != null) {
                data.proof = this.proof;
            }
            if (this.proof_height != null) {
                data.proof_height = this.proof_height.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.has_identified_client_state)
                writer.writeMessage(1, this.identified_client_state, () => this.identified_client_state.serialize(writer));
            if (this.proof.length)
                writer.writeBytes(2, this.proof);
            if (this.has_proof_height)
                writer.writeMessage(3, this.proof_height, () => this.proof_height.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryChannelClientStateResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryChannelClientStateResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.identified_client_state, () => message.identified_client_state = dependency_1.ibc.core.client.v1.IdentifiedClientState.deserialize(reader));
                        break;
                    case 2:
                        message.proof = reader.readBytes();
                        break;
                    case 3:
                        reader.readMessage(message.proof_height, () => message.proof_height = dependency_1.ibc.core.client.v1.Height.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryChannelClientStateResponse {
            return QueryChannelClientStateResponse.deserialize(bytes);
        }
    }
    export class QueryChannelConsensusStateRequest extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            port_id?: string;
            channel_id?: string;
            revision_number?: number;
            revision_height?: number;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("port_id" in data && data.port_id != undefined) {
                    this.port_id = data.port_id;
                }
                if ("channel_id" in data && data.channel_id != undefined) {
                    this.channel_id = data.channel_id;
                }
                if ("revision_number" in data && data.revision_number != undefined) {
                    this.revision_number = data.revision_number;
                }
                if ("revision_height" in data && data.revision_height != undefined) {
                    this.revision_height = data.revision_height;
                }
            }
        }
        get port_id() {
            return pb_1.Message.getFieldWithDefault(this, 1, "") as string;
        }
        set port_id(value: string) {
            pb_1.Message.setField(this, 1, value);
        }
        get channel_id() {
            return pb_1.Message.getFieldWithDefault(this, 2, "") as string;
        }
        set channel_id(value: string) {
            pb_1.Message.setField(this, 2, value);
        }
        get revision_number() {
            return pb_1.Message.getFieldWithDefault(this, 3, 0) as number;
        }
        set revision_number(value: number) {
            pb_1.Message.setField(this, 3, value);
        }
        get revision_height() {
            return pb_1.Message.getFieldWithDefault(this, 4, 0) as number;
        }
        set revision_height(value: number) {
            pb_1.Message.setField(this, 4, value);
        }
        static fromObject(data: {
            port_id?: string;
            channel_id?: string;
            revision_number?: number;
            revision_height?: number;
        }): QueryChannelConsensusStateRequest {
            const message = new QueryChannelConsensusStateRequest({});
            if (data.port_id != null) {
                message.port_id = data.port_id;
            }
            if (data.channel_id != null) {
                message.channel_id = data.channel_id;
            }
            if (data.revision_number != null) {
                message.revision_number = data.revision_number;
            }
            if (data.revision_height != null) {
                message.revision_height = data.revision_height;
            }
            return message;
        }
        toObject() {
            const data: {
                port_id?: string;
                channel_id?: string;
                revision_number?: number;
                revision_height?: number;
            } = {};
            if (this.port_id != null) {
                data.port_id = this.port_id;
            }
            if (this.channel_id != null) {
                data.channel_id = this.channel_id;
            }
            if (this.revision_number != null) {
                data.revision_number = this.revision_number;
            }
            if (this.revision_height != null) {
                data.revision_height = this.revision_height;
            }
            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.port_id.length)
                writer.writeString(1, this.port_id);
            if (this.channel_id.length)
                writer.writeString(2, this.channel_id);
            if (this.revision_number != 0)
                writer.writeUint64(3, this.revision_number);
            if (this.revision_height != 0)
                writer.writeUint64(4, this.revision_height);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryChannelConsensusStateRequest {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryChannelConsensusStateRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.port_id = reader.readString();
                        break;
                    case 2:
                        message.channel_id = reader.readString();
                        break;
                    case 3:
                        message.revision_number = reader.readUint64();
                        break;
                    case 4:
                        message.revision_height = reader.readUint64();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryChannelConsensusStateRequest {
            return QueryChannelConsensusStateRequest.deserialize(bytes);
        }
    }
    export class QueryChannelConsensusStateResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            consensus_state?: dependency_5.google.protobuf.Any;
            client_id?: string;
            proof?: Uint8Array;
            proof_height?: dependency_1.ibc.core.client.v1.Height;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("consensus_state" in data && data.consensus_state != undefined) {
                    this.consensus_state = data.consensus_state;
                }
                if ("client_id" in data && data.client_id != undefined) {
                    this.client_id = data.client_id;
                }
                if ("proof" in data && data.proof != undefined) {
                    this.proof = data.proof;
                }
                if ("proof_height" in data && data.proof_height != undefined) {
                    this.proof_height = data.proof_height;
                }
            }
        }
        get consensus_state() {
            return pb_1.Message.getWrapperField(this, dependency_5.google.protobuf.Any, 1) as dependency_5.google.protobuf.Any;
        }
        set consensus_state(value: dependency_5.google.protobuf.Any) {
            pb_1.Message.setWrapperField(this, 1, value);
        }
        get has_consensus_state() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get client_id() {
            return pb_1.Message.getFieldWithDefault(this, 2, "") as string;
        }
        set client_id(value: string) {
            pb_1.Message.setField(this, 2, value);
        }
        get proof() {
            return pb_1.Message.getFieldWithDefault(this, 3, new Uint8Array(0)) as Uint8Array;
        }
        set proof(value: Uint8Array) {
            pb_1.Message.setField(this, 3, value);
        }
        get proof_height() {
            return pb_1.Message.getWrapperField(this, dependency_1.ibc.core.client.v1.Height, 4) as dependency_1.ibc.core.client.v1.Height;
        }
        set proof_height(value: dependency_1.ibc.core.client.v1.Height) {
            pb_1.Message.setWrapperField(this, 4, value);
        }
        get has_proof_height() {
            return pb_1.Message.getField(this, 4) != null;
        }
        static fromObject(data: {
            consensus_state?: ReturnType<typeof dependency_5.google.protobuf.Any.prototype.toObject>;
            client_id?: string;
            proof?: Uint8Array;
            proof_height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
        }): QueryChannelConsensusStateResponse {
            const message = new QueryChannelConsensusStateResponse({});
            if (data.consensus_state != null) {
                message.consensus_state = dependency_5.google.protobuf.Any.fromObject(data.consensus_state);
            }
            if (data.client_id != null) {
                message.client_id = data.client_id;
            }
            if (data.proof != null) {
                message.proof = data.proof;
            }
            if (data.proof_height != null) {
                message.proof_height = dependency_1.ibc.core.client.v1.Height.fromObject(data.proof_height);
            }
            return message;
        }
        toObject() {
            const data: {
                consensus_state?: ReturnType<typeof dependency_5.google.protobuf.Any.prototype.toObject>;
                client_id?: string;
                proof?: Uint8Array;
                proof_height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
            } = {};
            if (this.consensus_state != null) {
                data.consensus_state = this.consensus_state.toObject();
            }
            if (this.client_id != null) {
                data.client_id = this.client_id;
            }
            if (this.proof != null) {
                data.proof = this.proof;
            }
            if (this.proof_height != null) {
                data.proof_height = this.proof_height.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.has_consensus_state)
                writer.writeMessage(1, this.consensus_state, () => this.consensus_state.serialize(writer));
            if (this.client_id.length)
                writer.writeString(2, this.client_id);
            if (this.proof.length)
                writer.writeBytes(3, this.proof);
            if (this.has_proof_height)
                writer.writeMessage(4, this.proof_height, () => this.proof_height.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryChannelConsensusStateResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryChannelConsensusStateResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.consensus_state, () => message.consensus_state = dependency_5.google.protobuf.Any.deserialize(reader));
                        break;
                    case 2:
                        message.client_id = reader.readString();
                        break;
                    case 3:
                        message.proof = reader.readBytes();
                        break;
                    case 4:
                        reader.readMessage(message.proof_height, () => message.proof_height = dependency_1.ibc.core.client.v1.Height.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryChannelConsensusStateResponse {
            return QueryChannelConsensusStateResponse.deserialize(bytes);
        }
    }
    export class QueryPacketCommitmentRequest extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            port_id?: string;
            channel_id?: string;
            sequence?: number;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("port_id" in data && data.port_id != undefined) {
                    this.port_id = data.port_id;
                }
                if ("channel_id" in data && data.channel_id != undefined) {
                    this.channel_id = data.channel_id;
                }
                if ("sequence" in data && data.sequence != undefined) {
                    this.sequence = data.sequence;
                }
            }
        }
        get port_id() {
            return pb_1.Message.getFieldWithDefault(this, 1, "") as string;
        }
        set port_id(value: string) {
            pb_1.Message.setField(this, 1, value);
        }
        get channel_id() {
            return pb_1.Message.getFieldWithDefault(this, 2, "") as string;
        }
        set channel_id(value: string) {
            pb_1.Message.setField(this, 2, value);
        }
        get sequence() {
            return pb_1.Message.getFieldWithDefault(this, 3, 0) as number;
        }
        set sequence(value: number) {
            pb_1.Message.setField(this, 3, value);
        }
        static fromObject(data: {
            port_id?: string;
            channel_id?: string;
            sequence?: number;
        }): QueryPacketCommitmentRequest {
            const message = new QueryPacketCommitmentRequest({});
            if (data.port_id != null) {
                message.port_id = data.port_id;
            }
            if (data.channel_id != null) {
                message.channel_id = data.channel_id;
            }
            if (data.sequence != null) {
                message.sequence = data.sequence;
            }
            return message;
        }
        toObject() {
            const data: {
                port_id?: string;
                channel_id?: string;
                sequence?: number;
            } = {};
            if (this.port_id != null) {
                data.port_id = this.port_id;
            }
            if (this.channel_id != null) {
                data.channel_id = this.channel_id;
            }
            if (this.sequence != null) {
                data.sequence = this.sequence;
            }
            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.port_id.length)
                writer.writeString(1, this.port_id);
            if (this.channel_id.length)
                writer.writeString(2, this.channel_id);
            if (this.sequence != 0)
                writer.writeUint64(3, this.sequence);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryPacketCommitmentRequest {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryPacketCommitmentRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.port_id = reader.readString();
                        break;
                    case 2:
                        message.channel_id = reader.readString();
                        break;
                    case 3:
                        message.sequence = reader.readUint64();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryPacketCommitmentRequest {
            return QueryPacketCommitmentRequest.deserialize(bytes);
        }
    }
    export class QueryPacketCommitmentResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            commitment?: Uint8Array;
            proof?: Uint8Array;
            proof_height?: dependency_1.ibc.core.client.v1.Height;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("commitment" in data && data.commitment != undefined) {
                    this.commitment = data.commitment;
                }
                if ("proof" in data && data.proof != undefined) {
                    this.proof = data.proof;
                }
                if ("proof_height" in data && data.proof_height != undefined) {
                    this.proof_height = data.proof_height;
                }
            }
        }
        get commitment() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0)) as Uint8Array;
        }
        set commitment(value: Uint8Array) {
            pb_1.Message.setField(this, 1, value);
        }
        get proof() {
            return pb_1.Message.getFieldWithDefault(this, 2, new Uint8Array(0)) as Uint8Array;
        }
        set proof(value: Uint8Array) {
            pb_1.Message.setField(this, 2, value);
        }
        get proof_height() {
            return pb_1.Message.getWrapperField(this, dependency_1.ibc.core.client.v1.Height, 3) as dependency_1.ibc.core.client.v1.Height;
        }
        set proof_height(value: dependency_1.ibc.core.client.v1.Height) {
            pb_1.Message.setWrapperField(this, 3, value);
        }
        get has_proof_height() {
            return pb_1.Message.getField(this, 3) != null;
        }
        static fromObject(data: {
            commitment?: Uint8Array;
            proof?: Uint8Array;
            proof_height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
        }): QueryPacketCommitmentResponse {
            const message = new QueryPacketCommitmentResponse({});
            if (data.commitment != null) {
                message.commitment = data.commitment;
            }
            if (data.proof != null) {
                message.proof = data.proof;
            }
            if (data.proof_height != null) {
                message.proof_height = dependency_1.ibc.core.client.v1.Height.fromObject(data.proof_height);
            }
            return message;
        }
        toObject() {
            const data: {
                commitment?: Uint8Array;
                proof?: Uint8Array;
                proof_height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
            } = {};
            if (this.commitment != null) {
                data.commitment = this.commitment;
            }
            if (this.proof != null) {
                data.proof = this.proof;
            }
            if (this.proof_height != null) {
                data.proof_height = this.proof_height.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.commitment.length)
                writer.writeBytes(1, this.commitment);
            if (this.proof.length)
                writer.writeBytes(2, this.proof);
            if (this.has_proof_height)
                writer.writeMessage(3, this.proof_height, () => this.proof_height.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryPacketCommitmentResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryPacketCommitmentResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.commitment = reader.readBytes();
                        break;
                    case 2:
                        message.proof = reader.readBytes();
                        break;
                    case 3:
                        reader.readMessage(message.proof_height, () => message.proof_height = dependency_1.ibc.core.client.v1.Height.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryPacketCommitmentResponse {
            return QueryPacketCommitmentResponse.deserialize(bytes);
        }
    }
    export class QueryPacketCommitmentsRequest extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            port_id?: string;
            channel_id?: string;
            pagination?: dependency_2.cosmos.base.query.v1beta1.PageRequest;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("port_id" in data && data.port_id != undefined) {
                    this.port_id = data.port_id;
                }
                if ("channel_id" in data && data.channel_id != undefined) {
                    this.channel_id = data.channel_id;
                }
                if ("pagination" in data && data.pagination != undefined) {
                    this.pagination = data.pagination;
                }
            }
        }
        get port_id() {
            return pb_1.Message.getFieldWithDefault(this, 1, "") as string;
        }
        set port_id(value: string) {
            pb_1.Message.setField(this, 1, value);
        }
        get channel_id() {
            return pb_1.Message.getFieldWithDefault(this, 2, "") as string;
        }
        set channel_id(value: string) {
            pb_1.Message.setField(this, 2, value);
        }
        get pagination() {
            return pb_1.Message.getWrapperField(this, dependency_2.cosmos.base.query.v1beta1.PageRequest, 3) as dependency_2.cosmos.base.query.v1beta1.PageRequest;
        }
        set pagination(value: dependency_2.cosmos.base.query.v1beta1.PageRequest) {
            pb_1.Message.setWrapperField(this, 3, value);
        }
        get has_pagination() {
            return pb_1.Message.getField(this, 3) != null;
        }
        static fromObject(data: {
            port_id?: string;
            channel_id?: string;
            pagination?: ReturnType<typeof dependency_2.cosmos.base.query.v1beta1.PageRequest.prototype.toObject>;
        }): QueryPacketCommitmentsRequest {
            const message = new QueryPacketCommitmentsRequest({});
            if (data.port_id != null) {
                message.port_id = data.port_id;
            }
            if (data.channel_id != null) {
                message.channel_id = data.channel_id;
            }
            if (data.pagination != null) {
                message.pagination = dependency_2.cosmos.base.query.v1beta1.PageRequest.fromObject(data.pagination);
            }
            return message;
        }
        toObject() {
            const data: {
                port_id?: string;
                channel_id?: string;
                pagination?: ReturnType<typeof dependency_2.cosmos.base.query.v1beta1.PageRequest.prototype.toObject>;
            } = {};
            if (this.port_id != null) {
                data.port_id = this.port_id;
            }
            if (this.channel_id != null) {
                data.channel_id = this.channel_id;
            }
            if (this.pagination != null) {
                data.pagination = this.pagination.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.port_id.length)
                writer.writeString(1, this.port_id);
            if (this.channel_id.length)
                writer.writeString(2, this.channel_id);
            if (this.has_pagination)
                writer.writeMessage(3, this.pagination, () => this.pagination.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryPacketCommitmentsRequest {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryPacketCommitmentsRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.port_id = reader.readString();
                        break;
                    case 2:
                        message.channel_id = reader.readString();
                        break;
                    case 3:
                        reader.readMessage(message.pagination, () => message.pagination = dependency_2.cosmos.base.query.v1beta1.PageRequest.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryPacketCommitmentsRequest {
            return QueryPacketCommitmentsRequest.deserialize(bytes);
        }
    }
    export class QueryPacketCommitmentsResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            commitments?: dependency_3.ibc.core.channel.v1.PacketState[];
            pagination?: dependency_2.cosmos.base.query.v1beta1.PageResponse;
            height?: dependency_1.ibc.core.client.v1.Height;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("commitments" in data && data.commitments != undefined) {
                    this.commitments = data.commitments;
                }
                if ("pagination" in data && data.pagination != undefined) {
                    this.pagination = data.pagination;
                }
                if ("height" in data && data.height != undefined) {
                    this.height = data.height;
                }
            }
        }
        get commitments() {
            return pb_1.Message.getRepeatedWrapperField(this, dependency_3.ibc.core.channel.v1.PacketState, 1) as dependency_3.ibc.core.channel.v1.PacketState[];
        }
        set commitments(value: dependency_3.ibc.core.channel.v1.PacketState[]) {
            pb_1.Message.setRepeatedWrapperField(this, 1, value);
        }
        get pagination() {
            return pb_1.Message.getWrapperField(this, dependency_2.cosmos.base.query.v1beta1.PageResponse, 2) as dependency_2.cosmos.base.query.v1beta1.PageResponse;
        }
        set pagination(value: dependency_2.cosmos.base.query.v1beta1.PageResponse) {
            pb_1.Message.setWrapperField(this, 2, value);
        }
        get has_pagination() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get height() {
            return pb_1.Message.getWrapperField(this, dependency_1.ibc.core.client.v1.Height, 3) as dependency_1.ibc.core.client.v1.Height;
        }
        set height(value: dependency_1.ibc.core.client.v1.Height) {
            pb_1.Message.setWrapperField(this, 3, value);
        }
        get has_height() {
            return pb_1.Message.getField(this, 3) != null;
        }
        static fromObject(data: {
            commitments?: ReturnType<typeof dependency_3.ibc.core.channel.v1.PacketState.prototype.toObject>[];
            pagination?: ReturnType<typeof dependency_2.cosmos.base.query.v1beta1.PageResponse.prototype.toObject>;
            height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
        }): QueryPacketCommitmentsResponse {
            const message = new QueryPacketCommitmentsResponse({});
            if (data.commitments != null) {
                message.commitments = data.commitments.map(item => dependency_3.ibc.core.channel.v1.PacketState.fromObject(item));
            }
            if (data.pagination != null) {
                message.pagination = dependency_2.cosmos.base.query.v1beta1.PageResponse.fromObject(data.pagination);
            }
            if (data.height != null) {
                message.height = dependency_1.ibc.core.client.v1.Height.fromObject(data.height);
            }
            return message;
        }
        toObject() {
            const data: {
                commitments?: ReturnType<typeof dependency_3.ibc.core.channel.v1.PacketState.prototype.toObject>[];
                pagination?: ReturnType<typeof dependency_2.cosmos.base.query.v1beta1.PageResponse.prototype.toObject>;
                height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
            } = {};
            if (this.commitments != null) {
                data.commitments = this.commitments.map((item: dependency_3.ibc.core.channel.v1.PacketState) => item.toObject());
            }
            if (this.pagination != null) {
                data.pagination = this.pagination.toObject();
            }
            if (this.height != null) {
                data.height = this.height.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.commitments.length)
                writer.writeRepeatedMessage(1, this.commitments, (item: dependency_3.ibc.core.channel.v1.PacketState) => item.serialize(writer));
            if (this.has_pagination)
                writer.writeMessage(2, this.pagination, () => this.pagination.serialize(writer));
            if (this.has_height)
                writer.writeMessage(3, this.height, () => this.height.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryPacketCommitmentsResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryPacketCommitmentsResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.commitments, () => pb_1.Message.addToRepeatedWrapperField(message, 1, dependency_3.ibc.core.channel.v1.PacketState.deserialize(reader), dependency_3.ibc.core.channel.v1.PacketState));
                        break;
                    case 2:
                        reader.readMessage(message.pagination, () => message.pagination = dependency_2.cosmos.base.query.v1beta1.PageResponse.deserialize(reader));
                        break;
                    case 3:
                        reader.readMessage(message.height, () => message.height = dependency_1.ibc.core.client.v1.Height.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryPacketCommitmentsResponse {
            return QueryPacketCommitmentsResponse.deserialize(bytes);
        }
    }
    export class QueryPacketReceiptRequest extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            port_id?: string;
            channel_id?: string;
            sequence?: number;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("port_id" in data && data.port_id != undefined) {
                    this.port_id = data.port_id;
                }
                if ("channel_id" in data && data.channel_id != undefined) {
                    this.channel_id = data.channel_id;
                }
                if ("sequence" in data && data.sequence != undefined) {
                    this.sequence = data.sequence;
                }
            }
        }
        get port_id() {
            return pb_1.Message.getFieldWithDefault(this, 1, "") as string;
        }
        set port_id(value: string) {
            pb_1.Message.setField(this, 1, value);
        }
        get channel_id() {
            return pb_1.Message.getFieldWithDefault(this, 2, "") as string;
        }
        set channel_id(value: string) {
            pb_1.Message.setField(this, 2, value);
        }
        get sequence() {
            return pb_1.Message.getFieldWithDefault(this, 3, 0) as number;
        }
        set sequence(value: number) {
            pb_1.Message.setField(this, 3, value);
        }
        static fromObject(data: {
            port_id?: string;
            channel_id?: string;
            sequence?: number;
        }): QueryPacketReceiptRequest {
            const message = new QueryPacketReceiptRequest({});
            if (data.port_id != null) {
                message.port_id = data.port_id;
            }
            if (data.channel_id != null) {
                message.channel_id = data.channel_id;
            }
            if (data.sequence != null) {
                message.sequence = data.sequence;
            }
            return message;
        }
        toObject() {
            const data: {
                port_id?: string;
                channel_id?: string;
                sequence?: number;
            } = {};
            if (this.port_id != null) {
                data.port_id = this.port_id;
            }
            if (this.channel_id != null) {
                data.channel_id = this.channel_id;
            }
            if (this.sequence != null) {
                data.sequence = this.sequence;
            }
            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.port_id.length)
                writer.writeString(1, this.port_id);
            if (this.channel_id.length)
                writer.writeString(2, this.channel_id);
            if (this.sequence != 0)
                writer.writeUint64(3, this.sequence);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryPacketReceiptRequest {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryPacketReceiptRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.port_id = reader.readString();
                        break;
                    case 2:
                        message.channel_id = reader.readString();
                        break;
                    case 3:
                        message.sequence = reader.readUint64();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryPacketReceiptRequest {
            return QueryPacketReceiptRequest.deserialize(bytes);
        }
    }
    export class QueryPacketReceiptResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            received?: boolean;
            proof?: Uint8Array;
            proof_height?: dependency_1.ibc.core.client.v1.Height;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("received" in data && data.received != undefined) {
                    this.received = data.received;
                }
                if ("proof" in data && data.proof != undefined) {
                    this.proof = data.proof;
                }
                if ("proof_height" in data && data.proof_height != undefined) {
                    this.proof_height = data.proof_height;
                }
            }
        }
        get received() {
            return pb_1.Message.getFieldWithDefault(this, 2, false) as boolean;
        }
        set received(value: boolean) {
            pb_1.Message.setField(this, 2, value);
        }
        get proof() {
            return pb_1.Message.getFieldWithDefault(this, 3, new Uint8Array(0)) as Uint8Array;
        }
        set proof(value: Uint8Array) {
            pb_1.Message.setField(this, 3, value);
        }
        get proof_height() {
            return pb_1.Message.getWrapperField(this, dependency_1.ibc.core.client.v1.Height, 4) as dependency_1.ibc.core.client.v1.Height;
        }
        set proof_height(value: dependency_1.ibc.core.client.v1.Height) {
            pb_1.Message.setWrapperField(this, 4, value);
        }
        get has_proof_height() {
            return pb_1.Message.getField(this, 4) != null;
        }
        static fromObject(data: {
            received?: boolean;
            proof?: Uint8Array;
            proof_height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
        }): QueryPacketReceiptResponse {
            const message = new QueryPacketReceiptResponse({});
            if (data.received != null) {
                message.received = data.received;
            }
            if (data.proof != null) {
                message.proof = data.proof;
            }
            if (data.proof_height != null) {
                message.proof_height = dependency_1.ibc.core.client.v1.Height.fromObject(data.proof_height);
            }
            return message;
        }
        toObject() {
            const data: {
                received?: boolean;
                proof?: Uint8Array;
                proof_height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
            } = {};
            if (this.received != null) {
                data.received = this.received;
            }
            if (this.proof != null) {
                data.proof = this.proof;
            }
            if (this.proof_height != null) {
                data.proof_height = this.proof_height.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.received != false)
                writer.writeBool(2, this.received);
            if (this.proof.length)
                writer.writeBytes(3, this.proof);
            if (this.has_proof_height)
                writer.writeMessage(4, this.proof_height, () => this.proof_height.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryPacketReceiptResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryPacketReceiptResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 2:
                        message.received = reader.readBool();
                        break;
                    case 3:
                        message.proof = reader.readBytes();
                        break;
                    case 4:
                        reader.readMessage(message.proof_height, () => message.proof_height = dependency_1.ibc.core.client.v1.Height.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryPacketReceiptResponse {
            return QueryPacketReceiptResponse.deserialize(bytes);
        }
    }
    export class QueryPacketAcknowledgementRequest extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            port_id?: string;
            channel_id?: string;
            sequence?: number;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("port_id" in data && data.port_id != undefined) {
                    this.port_id = data.port_id;
                }
                if ("channel_id" in data && data.channel_id != undefined) {
                    this.channel_id = data.channel_id;
                }
                if ("sequence" in data && data.sequence != undefined) {
                    this.sequence = data.sequence;
                }
            }
        }
        get port_id() {
            return pb_1.Message.getFieldWithDefault(this, 1, "") as string;
        }
        set port_id(value: string) {
            pb_1.Message.setField(this, 1, value);
        }
        get channel_id() {
            return pb_1.Message.getFieldWithDefault(this, 2, "") as string;
        }
        set channel_id(value: string) {
            pb_1.Message.setField(this, 2, value);
        }
        get sequence() {
            return pb_1.Message.getFieldWithDefault(this, 3, 0) as number;
        }
        set sequence(value: number) {
            pb_1.Message.setField(this, 3, value);
        }
        static fromObject(data: {
            port_id?: string;
            channel_id?: string;
            sequence?: number;
        }): QueryPacketAcknowledgementRequest {
            const message = new QueryPacketAcknowledgementRequest({});
            if (data.port_id != null) {
                message.port_id = data.port_id;
            }
            if (data.channel_id != null) {
                message.channel_id = data.channel_id;
            }
            if (data.sequence != null) {
                message.sequence = data.sequence;
            }
            return message;
        }
        toObject() {
            const data: {
                port_id?: string;
                channel_id?: string;
                sequence?: number;
            } = {};
            if (this.port_id != null) {
                data.port_id = this.port_id;
            }
            if (this.channel_id != null) {
                data.channel_id = this.channel_id;
            }
            if (this.sequence != null) {
                data.sequence = this.sequence;
            }
            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.port_id.length)
                writer.writeString(1, this.port_id);
            if (this.channel_id.length)
                writer.writeString(2, this.channel_id);
            if (this.sequence != 0)
                writer.writeUint64(3, this.sequence);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryPacketAcknowledgementRequest {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryPacketAcknowledgementRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.port_id = reader.readString();
                        break;
                    case 2:
                        message.channel_id = reader.readString();
                        break;
                    case 3:
                        message.sequence = reader.readUint64();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryPacketAcknowledgementRequest {
            return QueryPacketAcknowledgementRequest.deserialize(bytes);
        }
    }
    export class QueryPacketAcknowledgementResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            acknowledgement?: Uint8Array;
            proof?: Uint8Array;
            proof_height?: dependency_1.ibc.core.client.v1.Height;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("acknowledgement" in data && data.acknowledgement != undefined) {
                    this.acknowledgement = data.acknowledgement;
                }
                if ("proof" in data && data.proof != undefined) {
                    this.proof = data.proof;
                }
                if ("proof_height" in data && data.proof_height != undefined) {
                    this.proof_height = data.proof_height;
                }
            }
        }
        get acknowledgement() {
            return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0)) as Uint8Array;
        }
        set acknowledgement(value: Uint8Array) {
            pb_1.Message.setField(this, 1, value);
        }
        get proof() {
            return pb_1.Message.getFieldWithDefault(this, 2, new Uint8Array(0)) as Uint8Array;
        }
        set proof(value: Uint8Array) {
            pb_1.Message.setField(this, 2, value);
        }
        get proof_height() {
            return pb_1.Message.getWrapperField(this, dependency_1.ibc.core.client.v1.Height, 3) as dependency_1.ibc.core.client.v1.Height;
        }
        set proof_height(value: dependency_1.ibc.core.client.v1.Height) {
            pb_1.Message.setWrapperField(this, 3, value);
        }
        get has_proof_height() {
            return pb_1.Message.getField(this, 3) != null;
        }
        static fromObject(data: {
            acknowledgement?: Uint8Array;
            proof?: Uint8Array;
            proof_height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
        }): QueryPacketAcknowledgementResponse {
            const message = new QueryPacketAcknowledgementResponse({});
            if (data.acknowledgement != null) {
                message.acknowledgement = data.acknowledgement;
            }
            if (data.proof != null) {
                message.proof = data.proof;
            }
            if (data.proof_height != null) {
                message.proof_height = dependency_1.ibc.core.client.v1.Height.fromObject(data.proof_height);
            }
            return message;
        }
        toObject() {
            const data: {
                acknowledgement?: Uint8Array;
                proof?: Uint8Array;
                proof_height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
            } = {};
            if (this.acknowledgement != null) {
                data.acknowledgement = this.acknowledgement;
            }
            if (this.proof != null) {
                data.proof = this.proof;
            }
            if (this.proof_height != null) {
                data.proof_height = this.proof_height.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.acknowledgement.length)
                writer.writeBytes(1, this.acknowledgement);
            if (this.proof.length)
                writer.writeBytes(2, this.proof);
            if (this.has_proof_height)
                writer.writeMessage(3, this.proof_height, () => this.proof_height.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryPacketAcknowledgementResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryPacketAcknowledgementResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.acknowledgement = reader.readBytes();
                        break;
                    case 2:
                        message.proof = reader.readBytes();
                        break;
                    case 3:
                        reader.readMessage(message.proof_height, () => message.proof_height = dependency_1.ibc.core.client.v1.Height.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryPacketAcknowledgementResponse {
            return QueryPacketAcknowledgementResponse.deserialize(bytes);
        }
    }
    export class QueryPacketAcknowledgementsRequest extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            port_id?: string;
            channel_id?: string;
            pagination?: dependency_2.cosmos.base.query.v1beta1.PageRequest;
            packet_commitment_sequences?: number[];
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [4], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("port_id" in data && data.port_id != undefined) {
                    this.port_id = data.port_id;
                }
                if ("channel_id" in data && data.channel_id != undefined) {
                    this.channel_id = data.channel_id;
                }
                if ("pagination" in data && data.pagination != undefined) {
                    this.pagination = data.pagination;
                }
                if ("packet_commitment_sequences" in data && data.packet_commitment_sequences != undefined) {
                    this.packet_commitment_sequences = data.packet_commitment_sequences;
                }
            }
        }
        get port_id() {
            return pb_1.Message.getFieldWithDefault(this, 1, "") as string;
        }
        set port_id(value: string) {
            pb_1.Message.setField(this, 1, value);
        }
        get channel_id() {
            return pb_1.Message.getFieldWithDefault(this, 2, "") as string;
        }
        set channel_id(value: string) {
            pb_1.Message.setField(this, 2, value);
        }
        get pagination() {
            return pb_1.Message.getWrapperField(this, dependency_2.cosmos.base.query.v1beta1.PageRequest, 3) as dependency_2.cosmos.base.query.v1beta1.PageRequest;
        }
        set pagination(value: dependency_2.cosmos.base.query.v1beta1.PageRequest) {
            pb_1.Message.setWrapperField(this, 3, value);
        }
        get has_pagination() {
            return pb_1.Message.getField(this, 3) != null;
        }
        get packet_commitment_sequences() {
            return pb_1.Message.getFieldWithDefault(this, 4, []) as number[];
        }
        set packet_commitment_sequences(value: number[]) {
            pb_1.Message.setField(this, 4, value);
        }
        static fromObject(data: {
            port_id?: string;
            channel_id?: string;
            pagination?: ReturnType<typeof dependency_2.cosmos.base.query.v1beta1.PageRequest.prototype.toObject>;
            packet_commitment_sequences?: number[];
        }): QueryPacketAcknowledgementsRequest {
            const message = new QueryPacketAcknowledgementsRequest({});
            if (data.port_id != null) {
                message.port_id = data.port_id;
            }
            if (data.channel_id != null) {
                message.channel_id = data.channel_id;
            }
            if (data.pagination != null) {
                message.pagination = dependency_2.cosmos.base.query.v1beta1.PageRequest.fromObject(data.pagination);
            }
            if (data.packet_commitment_sequences != null) {
                message.packet_commitment_sequences = data.packet_commitment_sequences;
            }
            return message;
        }
        toObject() {
            const data: {
                port_id?: string;
                channel_id?: string;
                pagination?: ReturnType<typeof dependency_2.cosmos.base.query.v1beta1.PageRequest.prototype.toObject>;
                packet_commitment_sequences?: number[];
            } = {};
            if (this.port_id != null) {
                data.port_id = this.port_id;
            }
            if (this.channel_id != null) {
                data.channel_id = this.channel_id;
            }
            if (this.pagination != null) {
                data.pagination = this.pagination.toObject();
            }
            if (this.packet_commitment_sequences != null) {
                data.packet_commitment_sequences = this.packet_commitment_sequences;
            }
            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.port_id.length)
                writer.writeString(1, this.port_id);
            if (this.channel_id.length)
                writer.writeString(2, this.channel_id);
            if (this.has_pagination)
                writer.writeMessage(3, this.pagination, () => this.pagination.serialize(writer));
            if (this.packet_commitment_sequences.length)
                writer.writePackedUint64(4, this.packet_commitment_sequences);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryPacketAcknowledgementsRequest {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryPacketAcknowledgementsRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.port_id = reader.readString();
                        break;
                    case 2:
                        message.channel_id = reader.readString();
                        break;
                    case 3:
                        reader.readMessage(message.pagination, () => message.pagination = dependency_2.cosmos.base.query.v1beta1.PageRequest.deserialize(reader));
                        break;
                    case 4:
                        message.packet_commitment_sequences = reader.readPackedUint64();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryPacketAcknowledgementsRequest {
            return QueryPacketAcknowledgementsRequest.deserialize(bytes);
        }
    }
    export class QueryPacketAcknowledgementsResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            acknowledgements?: dependency_3.ibc.core.channel.v1.PacketState[];
            pagination?: dependency_2.cosmos.base.query.v1beta1.PageResponse;
            height?: dependency_1.ibc.core.client.v1.Height;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("acknowledgements" in data && data.acknowledgements != undefined) {
                    this.acknowledgements = data.acknowledgements;
                }
                if ("pagination" in data && data.pagination != undefined) {
                    this.pagination = data.pagination;
                }
                if ("height" in data && data.height != undefined) {
                    this.height = data.height;
                }
            }
        }
        get acknowledgements() {
            return pb_1.Message.getRepeatedWrapperField(this, dependency_3.ibc.core.channel.v1.PacketState, 1) as dependency_3.ibc.core.channel.v1.PacketState[];
        }
        set acknowledgements(value: dependency_3.ibc.core.channel.v1.PacketState[]) {
            pb_1.Message.setRepeatedWrapperField(this, 1, value);
        }
        get pagination() {
            return pb_1.Message.getWrapperField(this, dependency_2.cosmos.base.query.v1beta1.PageResponse, 2) as dependency_2.cosmos.base.query.v1beta1.PageResponse;
        }
        set pagination(value: dependency_2.cosmos.base.query.v1beta1.PageResponse) {
            pb_1.Message.setWrapperField(this, 2, value);
        }
        get has_pagination() {
            return pb_1.Message.getField(this, 2) != null;
        }
        get height() {
            return pb_1.Message.getWrapperField(this, dependency_1.ibc.core.client.v1.Height, 3) as dependency_1.ibc.core.client.v1.Height;
        }
        set height(value: dependency_1.ibc.core.client.v1.Height) {
            pb_1.Message.setWrapperField(this, 3, value);
        }
        get has_height() {
            return pb_1.Message.getField(this, 3) != null;
        }
        static fromObject(data: {
            acknowledgements?: ReturnType<typeof dependency_3.ibc.core.channel.v1.PacketState.prototype.toObject>[];
            pagination?: ReturnType<typeof dependency_2.cosmos.base.query.v1beta1.PageResponse.prototype.toObject>;
            height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
        }): QueryPacketAcknowledgementsResponse {
            const message = new QueryPacketAcknowledgementsResponse({});
            if (data.acknowledgements != null) {
                message.acknowledgements = data.acknowledgements.map(item => dependency_3.ibc.core.channel.v1.PacketState.fromObject(item));
            }
            if (data.pagination != null) {
                message.pagination = dependency_2.cosmos.base.query.v1beta1.PageResponse.fromObject(data.pagination);
            }
            if (data.height != null) {
                message.height = dependency_1.ibc.core.client.v1.Height.fromObject(data.height);
            }
            return message;
        }
        toObject() {
            const data: {
                acknowledgements?: ReturnType<typeof dependency_3.ibc.core.channel.v1.PacketState.prototype.toObject>[];
                pagination?: ReturnType<typeof dependency_2.cosmos.base.query.v1beta1.PageResponse.prototype.toObject>;
                height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
            } = {};
            if (this.acknowledgements != null) {
                data.acknowledgements = this.acknowledgements.map((item: dependency_3.ibc.core.channel.v1.PacketState) => item.toObject());
            }
            if (this.pagination != null) {
                data.pagination = this.pagination.toObject();
            }
            if (this.height != null) {
                data.height = this.height.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.acknowledgements.length)
                writer.writeRepeatedMessage(1, this.acknowledgements, (item: dependency_3.ibc.core.channel.v1.PacketState) => item.serialize(writer));
            if (this.has_pagination)
                writer.writeMessage(2, this.pagination, () => this.pagination.serialize(writer));
            if (this.has_height)
                writer.writeMessage(3, this.height, () => this.height.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryPacketAcknowledgementsResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryPacketAcknowledgementsResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.acknowledgements, () => pb_1.Message.addToRepeatedWrapperField(message, 1, dependency_3.ibc.core.channel.v1.PacketState.deserialize(reader), dependency_3.ibc.core.channel.v1.PacketState));
                        break;
                    case 2:
                        reader.readMessage(message.pagination, () => message.pagination = dependency_2.cosmos.base.query.v1beta1.PageResponse.deserialize(reader));
                        break;
                    case 3:
                        reader.readMessage(message.height, () => message.height = dependency_1.ibc.core.client.v1.Height.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryPacketAcknowledgementsResponse {
            return QueryPacketAcknowledgementsResponse.deserialize(bytes);
        }
    }
    export class QueryUnreceivedPacketsRequest extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            port_id?: string;
            channel_id?: string;
            packet_commitment_sequences?: number[];
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [3], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("port_id" in data && data.port_id != undefined) {
                    this.port_id = data.port_id;
                }
                if ("channel_id" in data && data.channel_id != undefined) {
                    this.channel_id = data.channel_id;
                }
                if ("packet_commitment_sequences" in data && data.packet_commitment_sequences != undefined) {
                    this.packet_commitment_sequences = data.packet_commitment_sequences;
                }
            }
        }
        get port_id() {
            return pb_1.Message.getFieldWithDefault(this, 1, "") as string;
        }
        set port_id(value: string) {
            pb_1.Message.setField(this, 1, value);
        }
        get channel_id() {
            return pb_1.Message.getFieldWithDefault(this, 2, "") as string;
        }
        set channel_id(value: string) {
            pb_1.Message.setField(this, 2, value);
        }
        get packet_commitment_sequences() {
            return pb_1.Message.getFieldWithDefault(this, 3, []) as number[];
        }
        set packet_commitment_sequences(value: number[]) {
            pb_1.Message.setField(this, 3, value);
        }
        static fromObject(data: {
            port_id?: string;
            channel_id?: string;
            packet_commitment_sequences?: number[];
        }): QueryUnreceivedPacketsRequest {
            const message = new QueryUnreceivedPacketsRequest({});
            if (data.port_id != null) {
                message.port_id = data.port_id;
            }
            if (data.channel_id != null) {
                message.channel_id = data.channel_id;
            }
            if (data.packet_commitment_sequences != null) {
                message.packet_commitment_sequences = data.packet_commitment_sequences;
            }
            return message;
        }
        toObject() {
            const data: {
                port_id?: string;
                channel_id?: string;
                packet_commitment_sequences?: number[];
            } = {};
            if (this.port_id != null) {
                data.port_id = this.port_id;
            }
            if (this.channel_id != null) {
                data.channel_id = this.channel_id;
            }
            if (this.packet_commitment_sequences != null) {
                data.packet_commitment_sequences = this.packet_commitment_sequences;
            }
            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.port_id.length)
                writer.writeString(1, this.port_id);
            if (this.channel_id.length)
                writer.writeString(2, this.channel_id);
            if (this.packet_commitment_sequences.length)
                writer.writePackedUint64(3, this.packet_commitment_sequences);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryUnreceivedPacketsRequest {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryUnreceivedPacketsRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.port_id = reader.readString();
                        break;
                    case 2:
                        message.channel_id = reader.readString();
                        break;
                    case 3:
                        message.packet_commitment_sequences = reader.readPackedUint64();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryUnreceivedPacketsRequest {
            return QueryUnreceivedPacketsRequest.deserialize(bytes);
        }
    }
    export class QueryUnreceivedPacketsResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            sequences?: number[];
            height?: dependency_1.ibc.core.client.v1.Height;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("sequences" in data && data.sequences != undefined) {
                    this.sequences = data.sequences;
                }
                if ("height" in data && data.height != undefined) {
                    this.height = data.height;
                }
            }
        }
        get sequences() {
            return pb_1.Message.getFieldWithDefault(this, 1, []) as number[];
        }
        set sequences(value: number[]) {
            pb_1.Message.setField(this, 1, value);
        }
        get height() {
            return pb_1.Message.getWrapperField(this, dependency_1.ibc.core.client.v1.Height, 2) as dependency_1.ibc.core.client.v1.Height;
        }
        set height(value: dependency_1.ibc.core.client.v1.Height) {
            pb_1.Message.setWrapperField(this, 2, value);
        }
        get has_height() {
            return pb_1.Message.getField(this, 2) != null;
        }
        static fromObject(data: {
            sequences?: number[];
            height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
        }): QueryUnreceivedPacketsResponse {
            const message = new QueryUnreceivedPacketsResponse({});
            if (data.sequences != null) {
                message.sequences = data.sequences;
            }
            if (data.height != null) {
                message.height = dependency_1.ibc.core.client.v1.Height.fromObject(data.height);
            }
            return message;
        }
        toObject() {
            const data: {
                sequences?: number[];
                height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
            } = {};
            if (this.sequences != null) {
                data.sequences = this.sequences;
            }
            if (this.height != null) {
                data.height = this.height.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.sequences.length)
                writer.writePackedUint64(1, this.sequences);
            if (this.has_height)
                writer.writeMessage(2, this.height, () => this.height.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryUnreceivedPacketsResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryUnreceivedPacketsResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.sequences = reader.readPackedUint64();
                        break;
                    case 2:
                        reader.readMessage(message.height, () => message.height = dependency_1.ibc.core.client.v1.Height.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryUnreceivedPacketsResponse {
            return QueryUnreceivedPacketsResponse.deserialize(bytes);
        }
    }
    export class QueryUnreceivedAcksRequest extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            port_id?: string;
            channel_id?: string;
            packet_ack_sequences?: number[];
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [3], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("port_id" in data && data.port_id != undefined) {
                    this.port_id = data.port_id;
                }
                if ("channel_id" in data && data.channel_id != undefined) {
                    this.channel_id = data.channel_id;
                }
                if ("packet_ack_sequences" in data && data.packet_ack_sequences != undefined) {
                    this.packet_ack_sequences = data.packet_ack_sequences;
                }
            }
        }
        get port_id() {
            return pb_1.Message.getFieldWithDefault(this, 1, "") as string;
        }
        set port_id(value: string) {
            pb_1.Message.setField(this, 1, value);
        }
        get channel_id() {
            return pb_1.Message.getFieldWithDefault(this, 2, "") as string;
        }
        set channel_id(value: string) {
            pb_1.Message.setField(this, 2, value);
        }
        get packet_ack_sequences() {
            return pb_1.Message.getFieldWithDefault(this, 3, []) as number[];
        }
        set packet_ack_sequences(value: number[]) {
            pb_1.Message.setField(this, 3, value);
        }
        static fromObject(data: {
            port_id?: string;
            channel_id?: string;
            packet_ack_sequences?: number[];
        }): QueryUnreceivedAcksRequest {
            const message = new QueryUnreceivedAcksRequest({});
            if (data.port_id != null) {
                message.port_id = data.port_id;
            }
            if (data.channel_id != null) {
                message.channel_id = data.channel_id;
            }
            if (data.packet_ack_sequences != null) {
                message.packet_ack_sequences = data.packet_ack_sequences;
            }
            return message;
        }
        toObject() {
            const data: {
                port_id?: string;
                channel_id?: string;
                packet_ack_sequences?: number[];
            } = {};
            if (this.port_id != null) {
                data.port_id = this.port_id;
            }
            if (this.channel_id != null) {
                data.channel_id = this.channel_id;
            }
            if (this.packet_ack_sequences != null) {
                data.packet_ack_sequences = this.packet_ack_sequences;
            }
            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.port_id.length)
                writer.writeString(1, this.port_id);
            if (this.channel_id.length)
                writer.writeString(2, this.channel_id);
            if (this.packet_ack_sequences.length)
                writer.writePackedUint64(3, this.packet_ack_sequences);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryUnreceivedAcksRequest {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryUnreceivedAcksRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.port_id = reader.readString();
                        break;
                    case 2:
                        message.channel_id = reader.readString();
                        break;
                    case 3:
                        message.packet_ack_sequences = reader.readPackedUint64();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryUnreceivedAcksRequest {
            return QueryUnreceivedAcksRequest.deserialize(bytes);
        }
    }
    export class QueryUnreceivedAcksResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            sequences?: number[];
            height?: dependency_1.ibc.core.client.v1.Height;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("sequences" in data && data.sequences != undefined) {
                    this.sequences = data.sequences;
                }
                if ("height" in data && data.height != undefined) {
                    this.height = data.height;
                }
            }
        }
        get sequences() {
            return pb_1.Message.getFieldWithDefault(this, 1, []) as number[];
        }
        set sequences(value: number[]) {
            pb_1.Message.setField(this, 1, value);
        }
        get height() {
            return pb_1.Message.getWrapperField(this, dependency_1.ibc.core.client.v1.Height, 2) as dependency_1.ibc.core.client.v1.Height;
        }
        set height(value: dependency_1.ibc.core.client.v1.Height) {
            pb_1.Message.setWrapperField(this, 2, value);
        }
        get has_height() {
            return pb_1.Message.getField(this, 2) != null;
        }
        static fromObject(data: {
            sequences?: number[];
            height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
        }): QueryUnreceivedAcksResponse {
            const message = new QueryUnreceivedAcksResponse({});
            if (data.sequences != null) {
                message.sequences = data.sequences;
            }
            if (data.height != null) {
                message.height = dependency_1.ibc.core.client.v1.Height.fromObject(data.height);
            }
            return message;
        }
        toObject() {
            const data: {
                sequences?: number[];
                height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
            } = {};
            if (this.sequences != null) {
                data.sequences = this.sequences;
            }
            if (this.height != null) {
                data.height = this.height.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.sequences.length)
                writer.writePackedUint64(1, this.sequences);
            if (this.has_height)
                writer.writeMessage(2, this.height, () => this.height.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryUnreceivedAcksResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryUnreceivedAcksResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.sequences = reader.readPackedUint64();
                        break;
                    case 2:
                        reader.readMessage(message.height, () => message.height = dependency_1.ibc.core.client.v1.Height.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryUnreceivedAcksResponse {
            return QueryUnreceivedAcksResponse.deserialize(bytes);
        }
    }
    export class QueryNextSequenceReceiveRequest extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            port_id?: string;
            channel_id?: 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 ("port_id" in data && data.port_id != undefined) {
                    this.port_id = data.port_id;
                }
                if ("channel_id" in data && data.channel_id != undefined) {
                    this.channel_id = data.channel_id;
                }
            }
        }
        get port_id() {
            return pb_1.Message.getFieldWithDefault(this, 1, "") as string;
        }
        set port_id(value: string) {
            pb_1.Message.setField(this, 1, value);
        }
        get channel_id() {
            return pb_1.Message.getFieldWithDefault(this, 2, "") as string;
        }
        set channel_id(value: string) {
            pb_1.Message.setField(this, 2, value);
        }
        static fromObject(data: {
            port_id?: string;
            channel_id?: string;
        }): QueryNextSequenceReceiveRequest {
            const message = new QueryNextSequenceReceiveRequest({});
            if (data.port_id != null) {
                message.port_id = data.port_id;
            }
            if (data.channel_id != null) {
                message.channel_id = data.channel_id;
            }
            return message;
        }
        toObject() {
            const data: {
                port_id?: string;
                channel_id?: string;
            } = {};
            if (this.port_id != null) {
                data.port_id = this.port_id;
            }
            if (this.channel_id != null) {
                data.channel_id = this.channel_id;
            }
            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.port_id.length)
                writer.writeString(1, this.port_id);
            if (this.channel_id.length)
                writer.writeString(2, this.channel_id);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryNextSequenceReceiveRequest {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryNextSequenceReceiveRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.port_id = reader.readString();
                        break;
                    case 2:
                        message.channel_id = reader.readString();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryNextSequenceReceiveRequest {
            return QueryNextSequenceReceiveRequest.deserialize(bytes);
        }
    }
    export class QueryNextSequenceReceiveResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            next_sequence_receive?: number;
            proof?: Uint8Array;
            proof_height?: dependency_1.ibc.core.client.v1.Height;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("next_sequence_receive" in data && data.next_sequence_receive != undefined) {
                    this.next_sequence_receive = data.next_sequence_receive;
                }
                if ("proof" in data && data.proof != undefined) {
                    this.proof = data.proof;
                }
                if ("proof_height" in data && data.proof_height != undefined) {
                    this.proof_height = data.proof_height;
                }
            }
        }
        get next_sequence_receive() {
            return pb_1.Message.getFieldWithDefault(this, 1, 0) as number;
        }
        set next_sequence_receive(value: number) {
            pb_1.Message.setField(this, 1, value);
        }
        get proof() {
            return pb_1.Message.getFieldWithDefault(this, 2, new Uint8Array(0)) as Uint8Array;
        }
        set proof(value: Uint8Array) {
            pb_1.Message.setField(this, 2, value);
        }
        get proof_height() {
            return pb_1.Message.getWrapperField(this, dependency_1.ibc.core.client.v1.Height, 3) as dependency_1.ibc.core.client.v1.Height;
        }
        set proof_height(value: dependency_1.ibc.core.client.v1.Height) {
            pb_1.Message.setWrapperField(this, 3, value);
        }
        get has_proof_height() {
            return pb_1.Message.getField(this, 3) != null;
        }
        static fromObject(data: {
            next_sequence_receive?: number;
            proof?: Uint8Array;
            proof_height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
        }): QueryNextSequenceReceiveResponse {
            const message = new QueryNextSequenceReceiveResponse({});
            if (data.next_sequence_receive != null) {
                message.next_sequence_receive = data.next_sequence_receive;
            }
            if (data.proof != null) {
                message.proof = data.proof;
            }
            if (data.proof_height != null) {
                message.proof_height = dependency_1.ibc.core.client.v1.Height.fromObject(data.proof_height);
            }
            return message;
        }
        toObject() {
            const data: {
                next_sequence_receive?: number;
                proof?: Uint8Array;
                proof_height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
            } = {};
            if (this.next_sequence_receive != null) {
                data.next_sequence_receive = this.next_sequence_receive;
            }
            if (this.proof != null) {
                data.proof = this.proof;
            }
            if (this.proof_height != null) {
                data.proof_height = this.proof_height.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.next_sequence_receive != 0)
                writer.writeUint64(1, this.next_sequence_receive);
            if (this.proof.length)
                writer.writeBytes(2, this.proof);
            if (this.has_proof_height)
                writer.writeMessage(3, this.proof_height, () => this.proof_height.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryNextSequenceReceiveResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryNextSequenceReceiveResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.next_sequence_receive = reader.readUint64();
                        break;
                    case 2:
                        message.proof = reader.readBytes();
                        break;
                    case 3:
                        reader.readMessage(message.proof_height, () => message.proof_height = dependency_1.ibc.core.client.v1.Height.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryNextSequenceReceiveResponse {
            return QueryNextSequenceReceiveResponse.deserialize(bytes);
        }
    }
    export class QueryNextSequenceSendRequest extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            port_id?: string;
            channel_id?: 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 ("port_id" in data && data.port_id != undefined) {
                    this.port_id = data.port_id;
                }
                if ("channel_id" in data && data.channel_id != undefined) {
                    this.channel_id = data.channel_id;
                }
            }
        }
        get port_id() {
            return pb_1.Message.getFieldWithDefault(this, 1, "") as string;
        }
        set port_id(value: string) {
            pb_1.Message.setField(this, 1, value);
        }
        get channel_id() {
            return pb_1.Message.getFieldWithDefault(this, 2, "") as string;
        }
        set channel_id(value: string) {
            pb_1.Message.setField(this, 2, value);
        }
        static fromObject(data: {
            port_id?: string;
            channel_id?: string;
        }): QueryNextSequenceSendRequest {
            const message = new QueryNextSequenceSendRequest({});
            if (data.port_id != null) {
                message.port_id = data.port_id;
            }
            if (data.channel_id != null) {
                message.channel_id = data.channel_id;
            }
            return message;
        }
        toObject() {
            const data: {
                port_id?: string;
                channel_id?: string;
            } = {};
            if (this.port_id != null) {
                data.port_id = this.port_id;
            }
            if (this.channel_id != null) {
                data.channel_id = this.channel_id;
            }
            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.port_id.length)
                writer.writeString(1, this.port_id);
            if (this.channel_id.length)
                writer.writeString(2, this.channel_id);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryNextSequenceSendRequest {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryNextSequenceSendRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.port_id = reader.readString();
                        break;
                    case 2:
                        message.channel_id = reader.readString();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryNextSequenceSendRequest {
            return QueryNextSequenceSendRequest.deserialize(bytes);
        }
    }
    export class QueryNextSequenceSendResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            next_sequence_send?: number;
            proof?: Uint8Array;
            proof_height?: dependency_1.ibc.core.client.v1.Height;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("next_sequence_send" in data && data.next_sequence_send != undefined) {
                    this.next_sequence_send = data.next_sequence_send;
                }
                if ("proof" in data && data.proof != undefined) {
                    this.proof = data.proof;
                }
                if ("proof_height" in data && data.proof_height != undefined) {
                    this.proof_height = data.proof_height;
                }
            }
        }
        get next_sequence_send() {
            return pb_1.Message.getFieldWithDefault(this, 1, 0) as number;
        }
        set next_sequence_send(value: number) {
            pb_1.Message.setField(this, 1, value);
        }
        get proof() {
            return pb_1.Message.getFieldWithDefault(this, 2, new Uint8Array(0)) as Uint8Array;
        }
        set proof(value: Uint8Array) {
            pb_1.Message.setField(this, 2, value);
        }
        get proof_height() {
            return pb_1.Message.getWrapperField(this, dependency_1.ibc.core.client.v1.Height, 3) as dependency_1.ibc.core.client.v1.Height;
        }
        set proof_height(value: dependency_1.ibc.core.client.v1.Height) {
            pb_1.Message.setWrapperField(this, 3, value);
        }
        get has_proof_height() {
            return pb_1.Message.getField(this, 3) != null;
        }
        static fromObject(data: {
            next_sequence_send?: number;
            proof?: Uint8Array;
            proof_height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
        }): QueryNextSequenceSendResponse {
            const message = new QueryNextSequenceSendResponse({});
            if (data.next_sequence_send != null) {
                message.next_sequence_send = data.next_sequence_send;
            }
            if (data.proof != null) {
                message.proof = data.proof;
            }
            if (data.proof_height != null) {
                message.proof_height = dependency_1.ibc.core.client.v1.Height.fromObject(data.proof_height);
            }
            return message;
        }
        toObject() {
            const data: {
                next_sequence_send?: number;
                proof?: Uint8Array;
                proof_height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
            } = {};
            if (this.next_sequence_send != null) {
                data.next_sequence_send = this.next_sequence_send;
            }
            if (this.proof != null) {
                data.proof = this.proof;
            }
            if (this.proof_height != null) {
                data.proof_height = this.proof_height.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.next_sequence_send != 0)
                writer.writeUint64(1, this.next_sequence_send);
            if (this.proof.length)
                writer.writeBytes(2, this.proof);
            if (this.has_proof_height)
                writer.writeMessage(3, this.proof_height, () => this.proof_height.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryNextSequenceSendResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryNextSequenceSendResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.next_sequence_send = reader.readUint64();
                        break;
                    case 2:
                        message.proof = reader.readBytes();
                        break;
                    case 3:
                        reader.readMessage(message.proof_height, () => message.proof_height = dependency_1.ibc.core.client.v1.Height.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryNextSequenceSendResponse {
            return QueryNextSequenceSendResponse.deserialize(bytes);
        }
    }
    export class QueryUpgradeErrorRequest extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            port_id?: string;
            channel_id?: 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 ("port_id" in data && data.port_id != undefined) {
                    this.port_id = data.port_id;
                }
                if ("channel_id" in data && data.channel_id != undefined) {
                    this.channel_id = data.channel_id;
                }
            }
        }
        get port_id() {
            return pb_1.Message.getFieldWithDefault(this, 1, "") as string;
        }
        set port_id(value: string) {
            pb_1.Message.setField(this, 1, value);
        }
        get channel_id() {
            return pb_1.Message.getFieldWithDefault(this, 2, "") as string;
        }
        set channel_id(value: string) {
            pb_1.Message.setField(this, 2, value);
        }
        static fromObject(data: {
            port_id?: string;
            channel_id?: string;
        }): QueryUpgradeErrorRequest {
            const message = new QueryUpgradeErrorRequest({});
            if (data.port_id != null) {
                message.port_id = data.port_id;
            }
            if (data.channel_id != null) {
                message.channel_id = data.channel_id;
            }
            return message;
        }
        toObject() {
            const data: {
                port_id?: string;
                channel_id?: string;
            } = {};
            if (this.port_id != null) {
                data.port_id = this.port_id;
            }
            if (this.channel_id != null) {
                data.channel_id = this.channel_id;
            }
            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.port_id.length)
                writer.writeString(1, this.port_id);
            if (this.channel_id.length)
                writer.writeString(2, this.channel_id);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryUpgradeErrorRequest {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryUpgradeErrorRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.port_id = reader.readString();
                        break;
                    case 2:
                        message.channel_id = reader.readString();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryUpgradeErrorRequest {
            return QueryUpgradeErrorRequest.deserialize(bytes);
        }
    }
    export class QueryUpgradeErrorResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            error_receipt?: dependency_7.ibc.core.channel.v1.ErrorReceipt;
            proof?: Uint8Array;
            proof_height?: dependency_1.ibc.core.client.v1.Height;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("error_receipt" in data && data.error_receipt != undefined) {
                    this.error_receipt = data.error_receipt;
                }
                if ("proof" in data && data.proof != undefined) {
                    this.proof = data.proof;
                }
                if ("proof_height" in data && data.proof_height != undefined) {
                    this.proof_height = data.proof_height;
                }
            }
        }
        get error_receipt() {
            return pb_1.Message.getWrapperField(this, dependency_7.ibc.core.channel.v1.ErrorReceipt, 1) as dependency_7.ibc.core.channel.v1.ErrorReceipt;
        }
        set error_receipt(value: dependency_7.ibc.core.channel.v1.ErrorReceipt) {
            pb_1.Message.setWrapperField(this, 1, value);
        }
        get has_error_receipt() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get proof() {
            return pb_1.Message.getFieldWithDefault(this, 2, new Uint8Array(0)) as Uint8Array;
        }
        set proof(value: Uint8Array) {
            pb_1.Message.setField(this, 2, value);
        }
        get proof_height() {
            return pb_1.Message.getWrapperField(this, dependency_1.ibc.core.client.v1.Height, 3) as dependency_1.ibc.core.client.v1.Height;
        }
        set proof_height(value: dependency_1.ibc.core.client.v1.Height) {
            pb_1.Message.setWrapperField(this, 3, value);
        }
        get has_proof_height() {
            return pb_1.Message.getField(this, 3) != null;
        }
        static fromObject(data: {
            error_receipt?: ReturnType<typeof dependency_7.ibc.core.channel.v1.ErrorReceipt.prototype.toObject>;
            proof?: Uint8Array;
            proof_height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
        }): QueryUpgradeErrorResponse {
            const message = new QueryUpgradeErrorResponse({});
            if (data.error_receipt != null) {
                message.error_receipt = dependency_7.ibc.core.channel.v1.ErrorReceipt.fromObject(data.error_receipt);
            }
            if (data.proof != null) {
                message.proof = data.proof;
            }
            if (data.proof_height != null) {
                message.proof_height = dependency_1.ibc.core.client.v1.Height.fromObject(data.proof_height);
            }
            return message;
        }
        toObject() {
            const data: {
                error_receipt?: ReturnType<typeof dependency_7.ibc.core.channel.v1.ErrorReceipt.prototype.toObject>;
                proof?: Uint8Array;
                proof_height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
            } = {};
            if (this.error_receipt != null) {
                data.error_receipt = this.error_receipt.toObject();
            }
            if (this.proof != null) {
                data.proof = this.proof;
            }
            if (this.proof_height != null) {
                data.proof_height = this.proof_height.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.has_error_receipt)
                writer.writeMessage(1, this.error_receipt, () => this.error_receipt.serialize(writer));
            if (this.proof.length)
                writer.writeBytes(2, this.proof);
            if (this.has_proof_height)
                writer.writeMessage(3, this.proof_height, () => this.proof_height.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryUpgradeErrorResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryUpgradeErrorResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.error_receipt, () => message.error_receipt = dependency_7.ibc.core.channel.v1.ErrorReceipt.deserialize(reader));
                        break;
                    case 2:
                        message.proof = reader.readBytes();
                        break;
                    case 3:
                        reader.readMessage(message.proof_height, () => message.proof_height = dependency_1.ibc.core.client.v1.Height.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryUpgradeErrorResponse {
            return QueryUpgradeErrorResponse.deserialize(bytes);
        }
    }
    export class QueryUpgradeRequest extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            port_id?: string;
            channel_id?: 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 ("port_id" in data && data.port_id != undefined) {
                    this.port_id = data.port_id;
                }
                if ("channel_id" in data && data.channel_id != undefined) {
                    this.channel_id = data.channel_id;
                }
            }
        }
        get port_id() {
            return pb_1.Message.getFieldWithDefault(this, 1, "") as string;
        }
        set port_id(value: string) {
            pb_1.Message.setField(this, 1, value);
        }
        get channel_id() {
            return pb_1.Message.getFieldWithDefault(this, 2, "") as string;
        }
        set channel_id(value: string) {
            pb_1.Message.setField(this, 2, value);
        }
        static fromObject(data: {
            port_id?: string;
            channel_id?: string;
        }): QueryUpgradeRequest {
            const message = new QueryUpgradeRequest({});
            if (data.port_id != null) {
                message.port_id = data.port_id;
            }
            if (data.channel_id != null) {
                message.channel_id = data.channel_id;
            }
            return message;
        }
        toObject() {
            const data: {
                port_id?: string;
                channel_id?: string;
            } = {};
            if (this.port_id != null) {
                data.port_id = this.port_id;
            }
            if (this.channel_id != null) {
                data.channel_id = this.channel_id;
            }
            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.port_id.length)
                writer.writeString(1, this.port_id);
            if (this.channel_id.length)
                writer.writeString(2, this.channel_id);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryUpgradeRequest {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryUpgradeRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.port_id = reader.readString();
                        break;
                    case 2:
                        message.channel_id = reader.readString();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryUpgradeRequest {
            return QueryUpgradeRequest.deserialize(bytes);
        }
    }
    export class QueryUpgradeResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            upgrade?: dependency_7.ibc.core.channel.v1.Upgrade;
            proof?: Uint8Array;
            proof_height?: dependency_1.ibc.core.client.v1.Height;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("upgrade" in data && data.upgrade != undefined) {
                    this.upgrade = data.upgrade;
                }
                if ("proof" in data && data.proof != undefined) {
                    this.proof = data.proof;
                }
                if ("proof_height" in data && data.proof_height != undefined) {
                    this.proof_height = data.proof_height;
                }
            }
        }
        get upgrade() {
            return pb_1.Message.getWrapperField(this, dependency_7.ibc.core.channel.v1.Upgrade, 1) as dependency_7.ibc.core.channel.v1.Upgrade;
        }
        set upgrade(value: dependency_7.ibc.core.channel.v1.Upgrade) {
            pb_1.Message.setWrapperField(this, 1, value);
        }
        get has_upgrade() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get proof() {
            return pb_1.Message.getFieldWithDefault(this, 2, new Uint8Array(0)) as Uint8Array;
        }
        set proof(value: Uint8Array) {
            pb_1.Message.setField(this, 2, value);
        }
        get proof_height() {
            return pb_1.Message.getWrapperField(this, dependency_1.ibc.core.client.v1.Height, 3) as dependency_1.ibc.core.client.v1.Height;
        }
        set proof_height(value: dependency_1.ibc.core.client.v1.Height) {
            pb_1.Message.setWrapperField(this, 3, value);
        }
        get has_proof_height() {
            return pb_1.Message.getField(this, 3) != null;
        }
        static fromObject(data: {
            upgrade?: ReturnType<typeof dependency_7.ibc.core.channel.v1.Upgrade.prototype.toObject>;
            proof?: Uint8Array;
            proof_height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
        }): QueryUpgradeResponse {
            const message = new QueryUpgradeResponse({});
            if (data.upgrade != null) {
                message.upgrade = dependency_7.ibc.core.channel.v1.Upgrade.fromObject(data.upgrade);
            }
            if (data.proof != null) {
                message.proof = data.proof;
            }
            if (data.proof_height != null) {
                message.proof_height = dependency_1.ibc.core.client.v1.Height.fromObject(data.proof_height);
            }
            return message;
        }
        toObject() {
            const data: {
                upgrade?: ReturnType<typeof dependency_7.ibc.core.channel.v1.Upgrade.prototype.toObject>;
                proof?: Uint8Array;
                proof_height?: ReturnType<typeof dependency_1.ibc.core.client.v1.Height.prototype.toObject>;
            } = {};
            if (this.upgrade != null) {
                data.upgrade = this.upgrade.toObject();
            }
            if (this.proof != null) {
                data.proof = this.proof;
            }
            if (this.proof_height != null) {
                data.proof_height = this.proof_height.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.has_upgrade)
                writer.writeMessage(1, this.upgrade, () => this.upgrade.serialize(writer));
            if (this.proof.length)
                writer.writeBytes(2, this.proof);
            if (this.has_proof_height)
                writer.writeMessage(3, this.proof_height, () => this.proof_height.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryUpgradeResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryUpgradeResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.upgrade, () => message.upgrade = dependency_7.ibc.core.channel.v1.Upgrade.deserialize(reader));
                        break;
                    case 2:
                        message.proof = reader.readBytes();
                        break;
                    case 3:
                        reader.readMessage(message.proof_height, () => message.proof_height = dependency_1.ibc.core.client.v1.Height.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryUpgradeResponse {
            return QueryUpgradeResponse.deserialize(bytes);
        }
    }
    export class QueryChannelParamsRequest 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: {}): QueryChannelParamsRequest {
            const message = new QueryChannelParamsRequest({});
            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): QueryChannelParamsRequest {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryChannelParamsRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryChannelParamsRequest {
            return QueryChannelParamsRequest.deserialize(bytes);
        }
    }
    export class QueryChannelParamsResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            params?: dependency_3.ibc.core.channel.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 ("params" in data && data.params != undefined) {
                    this.params = data.params;
                }
            }
        }
        get params() {
            return pb_1.Message.getWrapperField(this, dependency_3.ibc.core.channel.v1.Params, 1) as dependency_3.ibc.core.channel.v1.Params;
        }
        set params(value: dependency_3.ibc.core.channel.v1.Params) {
            pb_1.Message.setWrapperField(this, 1, value);
        }
        get has_params() {
            return pb_1.Message.getField(this, 1) != null;
        }
        static fromObject(data: {
            params?: ReturnType<typeof dependency_3.ibc.core.channel.v1.Params.prototype.toObject>;
        }): QueryChannelParamsResponse {
            const message = new QueryChannelParamsResponse({});
            if (data.params != null) {
                message.params = dependency_3.ibc.core.channel.v1.Params.fromObject(data.params);
            }
            return message;
        }
        toObject() {
            const data: {
                params?: ReturnType<typeof dependency_3.ibc.core.channel.v1.Params.prototype.toObject>;
            } = {};
            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.has_params)
                writer.writeMessage(1, this.params, () => this.params.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryChannelParamsResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryChannelParamsResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.params, () => message.params = dependency_3.ibc.core.channel.v1.Params.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryChannelParamsResponse {
            return QueryChannelParamsResponse.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 UnimplementedQueryService {
        static definition = {
            Channel: {
                path: "/ibc.core.channel.v1.Query/Channel",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: QueryChannelRequest) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => QueryChannelRequest.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: QueryChannelResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => QueryChannelResponse.deserialize(new Uint8Array(bytes))
            },
            Channels: {
                path: "/ibc.core.channel.v1.Query/Channels",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: QueryChannelsRequest) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => QueryChannelsRequest.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: QueryChannelsResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => QueryChannelsResponse.deserialize(new Uint8Array(bytes))
            },
            ConnectionChannels: {
                path: "/ibc.core.channel.v1.Query/ConnectionChannels",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: QueryConnectionChannelsRequest) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => QueryConnectionChannelsRequest.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: QueryConnectionChannelsResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => QueryConnectionChannelsResponse.deserialize(new Uint8Array(bytes))
            },
            ChannelClientState: {
                path: "/ibc.core.channel.v1.Query/ChannelClientState",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: QueryChannelClientStateRequest) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => QueryChannelClientStateRequest.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: QueryChannelClientStateResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => QueryChannelClientStateResponse.deserialize(new Uint8Array(bytes))
            },
            ChannelConsensusState: {
                path: "/ibc.core.channel.v1.Query/ChannelConsensusState",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: QueryChannelConsensusStateRequest) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => QueryChannelConsensusStateRequest.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: QueryChannelConsensusStateResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => QueryChannelConsensusStateResponse.deserialize(new Uint8Array(bytes))
            },
            PacketCommitment: {
                path: "/ibc.core.channel.v1.Query/PacketCommitment",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: QueryPacketCommitmentRequest) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => QueryPacketCommitmentRequest.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: QueryPacketCommitmentResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => QueryPacketCommitmentResponse.deserialize(new Uint8Array(bytes))
            },
            PacketCommitments: {
                path: "/ibc.core.channel.v1.Query/PacketCommitments",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: QueryPacketCommitmentsRequest) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => QueryPacketCommitmentsRequest.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: QueryPacketCommitmentsResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => QueryPacketCommitmentsResponse.deserialize(new Uint8Array(bytes))
            },
            PacketReceipt: {
                path: "/ibc.core.channel.v1.Query/PacketReceipt",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: QueryPacketReceiptRequest) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => QueryPacketReceiptRequest.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: QueryPacketReceiptResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => QueryPacketReceiptResponse.deserialize(new Uint8Array(bytes))
            },
            PacketAcknowledgement: {
                path: "/ibc.core.channel.v1.Query/PacketAcknowledgement",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: QueryPacketAcknowledgementRequest) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => QueryPacketAcknowledgementRequest.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: QueryPacketAcknowledgementResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => QueryPacketAcknowledgementResponse.deserialize(new Uint8Array(bytes))
            },
            PacketAcknowledgements: {
                path: "/ibc.core.channel.v1.Query/PacketAcknowledgements",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: QueryPacketAcknowledgementsRequest) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => QueryPacketAcknowledgementsRequest.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: QueryPacketAcknowledgementsResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => QueryPacketAcknowledgementsResponse.deserialize(new Uint8Array(bytes))
            },
            UnreceivedPackets: {
                path: "/ibc.core.channel.v1.Query/UnreceivedPackets",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: QueryUnreceivedPacketsRequest) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => QueryUnreceivedPacketsRequest.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: QueryUnreceivedPacketsResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => QueryUnreceivedPacketsResponse.deserialize(new Uint8Array(bytes))
            },
            UnreceivedAcks: {
                path: "/ibc.core.channel.v1.Query/UnreceivedAcks",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: QueryUnreceivedAcksRequest) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => QueryUnreceivedAcksRequest.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: QueryUnreceivedAcksResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => QueryUnreceivedAcksResponse.deserialize(new Uint8Array(bytes))
            },
            NextSequenceReceive: {
                path: "/ibc.core.channel.v1.Query/NextSequenceReceive",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: QueryNextSequenceReceiveRequest) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => QueryNextSequenceReceiveRequest.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: QueryNextSequenceReceiveResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => QueryNextSequenceReceiveResponse.deserialize(new Uint8Array(bytes))
            },
            NextSequenceSend: {
                path: "/ibc.core.channel.v1.Query/NextSequenceSend",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: QueryNextSequenceSendRequest) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => QueryNextSequenceSendRequest.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: QueryNextSequenceSendResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => QueryNextSequenceSendResponse.deserialize(new Uint8Array(bytes))
            },
            UpgradeError: {
                path: "/ibc.core.channel.v1.Query/UpgradeError",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: QueryUpgradeErrorRequest) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => QueryUpgradeErrorRequest.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: QueryUpgradeErrorResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => QueryUpgradeErrorResponse.deserialize(new Uint8Array(bytes))
            },
            Upgrade: {
                path: "/ibc.core.channel.v1.Query/Upgrade",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: QueryUpgradeRequest) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => QueryUpgradeRequest.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: QueryUpgradeResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => QueryUpgradeResponse.deserialize(new Uint8Array(bytes))
            },
            ChannelParams: {
                path: "/ibc.core.channel.v1.Query/ChannelParams",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: QueryChannelParamsRequest) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => QueryChannelParamsRequest.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: QueryChannelParamsResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => QueryChannelParamsResponse.deserialize(new Uint8Array(bytes))
            }
        };
        [method: string]: grpc_1.UntypedHandleCall;
        abstract Channel(call: grpc_1.ServerUnaryCall<QueryChannelRequest, QueryChannelResponse>, callback: grpc_1.sendUnaryData<QueryChannelResponse>): void;
        abstract Channels(call: grpc_1.ServerUnaryCall<QueryChannelsRequest, QueryChannelsResponse>, callback: grpc_1.sendUnaryData<QueryChannelsResponse>): void;
        abstract ConnectionChannels(call: grpc_1.ServerUnaryCall<QueryConnectionChannelsRequest, QueryConnectionChannelsResponse>, callback: grpc_1.sendUnaryData<QueryConnectionChannelsResponse>): void;
        abstract ChannelClientState(call: grpc_1.ServerUnaryCall<QueryChannelClientStateRequest, QueryChannelClientStateResponse>, callback: grpc_1.sendUnaryData<QueryChannelClientStateResponse>): void;
        abstract ChannelConsensusState(call: grpc_1.ServerUnaryCall<QueryChannelConsensusStateRequest, QueryChannelConsensusStateResponse>, callback: grpc_1.sendUnaryData<QueryChannelConsensusStateResponse>): void;
        abstract PacketCommitment(call: grpc_1.ServerUnaryCall<QueryPacketCommitmentRequest, QueryPacketCommitmentResponse>, callback: grpc_1.sendUnaryData<QueryPacketCommitmentResponse>): void;
        abstract PacketCommitments(call: grpc_1.ServerUnaryCall<QueryPacketCommitmentsRequest, QueryPacketCommitmentsResponse>, callback: grpc_1.sendUnaryData<QueryPacketCommitmentsResponse>): void;
        abstract PacketReceipt(call: grpc_1.ServerUnaryCall<QueryPacketReceiptRequest, QueryPacketReceiptResponse>, callback: grpc_1.sendUnaryData<QueryPacketReceiptResponse>): void;
        abstract PacketAcknowledgement(call: grpc_1.ServerUnaryCall<QueryPacketAcknowledgementRequest, QueryPacketAcknowledgementResponse>, callback: grpc_1.sendUnaryData<QueryPacketAcknowledgementResponse>): void;
        abstract PacketAcknowledgements(call: grpc_1.ServerUnaryCall<QueryPacketAcknowledgementsRequest, QueryPacketAcknowledgementsResponse>, callback: grpc_1.sendUnaryData<QueryPacketAcknowledgementsResponse>): void;
        abstract UnreceivedPackets(call: grpc_1.ServerUnaryCall<QueryUnreceivedPacketsRequest, QueryUnreceivedPacketsResponse>, callback: grpc_1.sendUnaryData<QueryUnreceivedPacketsResponse>): void;
        abstract UnreceivedAcks(call: grpc_1.ServerUnaryCall<QueryUnreceivedAcksRequest, QueryUnreceivedAcksResponse>, callback: grpc_1.sendUnaryData<QueryUnreceivedAcksResponse>): void;
        abstract NextSequenceReceive(call: grpc_1.ServerUnaryCall<QueryNextSequenceReceiveRequest, QueryNextSequenceReceiveResponse>, callback: grpc_1.sendUnaryData<QueryNextSequenceReceiveResponse>): void;
        abstract NextSequenceSend(call: grpc_1.ServerUnaryCall<QueryNextSequenceSendRequest, QueryNextSequenceSendResponse>, callback: grpc_1.sendUnaryData<QueryNextSequenceSendResponse>): void;
        abstract UpgradeError(call: grpc_1.ServerUnaryCall<QueryUpgradeErrorRequest, QueryUpgradeErrorResponse>, callback: grpc_1.sendUnaryData<QueryUpgradeErrorResponse>): void;
        abstract Upgrade(call: grpc_1.ServerUnaryCall<QueryUpgradeRequest, QueryUpgradeResponse>, callback: grpc_1.sendUnaryData<QueryUpgradeResponse>): void;
        abstract ChannelParams(call: grpc_1.ServerUnaryCall<QueryChannelParamsRequest, QueryChannelParamsResponse>, callback: grpc_1.sendUnaryData<QueryChannelParamsResponse>): void;
    }
    export class QueryClient extends grpc_1.makeGenericClientConstructor(UnimplementedQueryService.definition, "Query", {}) {
        constructor(address: string, credentials: grpc_1.ChannelCredentials, options?: Partial<grpc_1.ChannelOptions>) {
            super(address, credentials, options);
        }
        Channel: GrpcUnaryServiceInterface<QueryChannelRequest, QueryChannelResponse> = (message: QueryChannelRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<QueryChannelResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<QueryChannelResponse>, callback?: grpc_1.requestCallback<QueryChannelResponse>): grpc_1.ClientUnaryCall => {
            return super.Channel(message, metadata, options, callback);
        };
        Channels: GrpcUnaryServiceInterface<QueryChannelsRequest, QueryChannelsResponse> = (message: QueryChannelsRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<QueryChannelsResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<QueryChannelsResponse>, callback?: grpc_1.requestCallback<QueryChannelsResponse>): grpc_1.ClientUnaryCall => {
            return super.Channels(message, metadata, options, callback);
        };
        ConnectionChannels: GrpcUnaryServiceInterface<QueryConnectionChannelsRequest, QueryConnectionChannelsResponse> = (message: QueryConnectionChannelsRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<QueryConnectionChannelsResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<QueryConnectionChannelsResponse>, callback?: grpc_1.requestCallback<QueryConnectionChannelsResponse>): grpc_1.ClientUnaryCall => {
            return super.ConnectionChannels(message, metadata, options, callback);
        };
        ChannelClientState: GrpcUnaryServiceInterface<QueryChannelClientStateRequest, QueryChannelClientStateResponse> = (message: QueryChannelClientStateRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<QueryChannelClientStateResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<QueryChannelClientStateResponse>, callback?: grpc_1.requestCallback<QueryChannelClientStateResponse>): grpc_1.ClientUnaryCall => {
            return super.ChannelClientState(message, metadata, options, callback);
        };
        ChannelConsensusState: GrpcUnaryServiceInterface<QueryChannelConsensusStateRequest, QueryChannelConsensusStateResponse> = (message: QueryChannelConsensusStateRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<QueryChannelConsensusStateResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<QueryChannelConsensusStateResponse>, callback?: grpc_1.requestCallback<QueryChannelConsensusStateResponse>): grpc_1.ClientUnaryCall => {
            return super.ChannelConsensusState(message, metadata, options, callback);
        };
        PacketCommitment: GrpcUnaryServiceInterface<QueryPacketCommitmentRequest, QueryPacketCommitmentResponse> = (message: QueryPacketCommitmentRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<QueryPacketCommitmentResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<QueryPacketCommitmentResponse>, callback?: grpc_1.requestCallback<QueryPacketCommitmentResponse>): grpc_1.ClientUnaryCall => {
            return super.PacketCommitment(message, metadata, options, callback);
        };
        PacketCommitments: GrpcUnaryServiceInterface<QueryPacketCommitmentsRequest, QueryPacketCommitmentsResponse> = (message: QueryPacketCommitmentsRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<QueryPacketCommitmentsResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<QueryPacketCommitmentsResponse>, callback?: grpc_1.requestCallback<QueryPacketCommitmentsResponse>): grpc_1.ClientUnaryCall => {
            return super.PacketCommitments(message, metadata, options, callback);
        };
        PacketReceipt: GrpcUnaryServiceInterface<QueryPacketReceiptRequest, QueryPacketReceiptResponse> = (message: QueryPacketReceiptRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<QueryPacketReceiptResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<QueryPacketReceiptResponse>, callback?: grpc_1.requestCallback<QueryPacketReceiptResponse>): grpc_1.ClientUnaryCall => {
            return super.PacketReceipt(message, metadata, options, callback);
        };
        PacketAcknowledgement: GrpcUnaryServiceInterface<QueryPacketAcknowledgementRequest, QueryPacketAcknowledgementResponse> = (message: QueryPacketAcknowledgementRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<QueryPacketAcknowledgementResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<QueryPacketAcknowledgementResponse>, callback?: grpc_1.requestCallback<QueryPacketAcknowledgementResponse>): grpc_1.ClientUnaryCall => {
            return super.PacketAcknowledgement(message, metadata, options, callback);
        };
        PacketAcknowledgements: GrpcUnaryServiceInterface<QueryPacketAcknowledgementsRequest, QueryPacketAcknowledgementsResponse> = (message: QueryPacketAcknowledgementsRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<QueryPacketAcknowledgementsResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<QueryPacketAcknowledgementsResponse>, callback?: grpc_1.requestCallback<QueryPacketAcknowledgementsResponse>): grpc_1.ClientUnaryCall => {
            return super.PacketAcknowledgements(message, metadata, options, callback);
        };
        UnreceivedPackets: GrpcUnaryServiceInterface<QueryUnreceivedPacketsRequest, QueryUnreceivedPacketsResponse> = (message: QueryUnreceivedPacketsRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<QueryUnreceivedPacketsResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<QueryUnreceivedPacketsResponse>, callback?: grpc_1.requestCallback<QueryUnreceivedPacketsResponse>): grpc_1.ClientUnaryCall => {
            return super.UnreceivedPackets(message, metadata, options, callback);
        };
        UnreceivedAcks: GrpcUnaryServiceInterface<QueryUnreceivedAcksRequest, QueryUnreceivedAcksResponse> = (message: QueryUnreceivedAcksRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<QueryUnreceivedAcksResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<QueryUnreceivedAcksResponse>, callback?: grpc_1.requestCallback<QueryUnreceivedAcksResponse>): grpc_1.ClientUnaryCall => {
            return super.UnreceivedAcks(message, metadata, options, callback);
        };
        NextSequenceReceive: GrpcUnaryServiceInterface<QueryNextSequenceReceiveRequest, QueryNextSequenceReceiveResponse> = (message: QueryNextSequenceReceiveRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<QueryNextSequenceReceiveResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<QueryNextSequenceReceiveResponse>, callback?: grpc_1.requestCallback<QueryNextSequenceReceiveResponse>): grpc_1.ClientUnaryCall => {
            return super.NextSequenceReceive(message, metadata, options, callback);
        };
        NextSequenceSend: GrpcUnaryServiceInterface<QueryNextSequenceSendRequest, QueryNextSequenceSendResponse> = (message: QueryNextSequenceSendRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<QueryNextSequenceSendResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<QueryNextSequenceSendResponse>, callback?: grpc_1.requestCallback<QueryNextSequenceSendResponse>): grpc_1.ClientUnaryCall => {
            return super.NextSequenceSend(message, metadata, options, callback);
        };
        UpgradeError: GrpcUnaryServiceInterface<QueryUpgradeErrorRequest, QueryUpgradeErrorResponse> = (message: QueryUpgradeErrorRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<QueryUpgradeErrorResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<QueryUpgradeErrorResponse>, callback?: grpc_1.requestCallback<QueryUpgradeErrorResponse>): grpc_1.ClientUnaryCall => {
            return super.UpgradeError(message, metadata, options, callback);
        };
        Upgrade: GrpcUnaryServiceInterface<QueryUpgradeRequest, QueryUpgradeResponse> = (message: QueryUpgradeRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<QueryUpgradeResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<QueryUpgradeResponse>, callback?: grpc_1.requestCallback<QueryUpgradeResponse>): grpc_1.ClientUnaryCall => {
            return super.Upgrade(message, metadata, options, callback);
        };
        ChannelParams: GrpcUnaryServiceInterface<QueryChannelParamsRequest, QueryChannelParamsResponse> = (message: QueryChannelParamsRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<QueryChannelParamsResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<QueryChannelParamsResponse>, callback?: grpc_1.requestCallback<QueryChannelParamsResponse>): grpc_1.ClientUnaryCall => {
            return super.ChannelParams(message, metadata, options, callback);
        };
    }
}
