/**
 * Generated by the protoc-gen-ts.  DO NOT EDIT!
 * compiler version: 3.20.3
 * source: ibc/applications/fee/v1/query.proto
 * git: https://github.com/thesayyn/protoc-gen-ts */
import * as dependency_1 from "./../../../../gogoproto/gogo";
import * as dependency_2 from "./../../../../google/api/annotations";
import * as dependency_3 from "./../../../../cosmos/base/v1beta1/coin";
import * as dependency_4 from "./../../../../cosmos/base/query/v1beta1/pagination";
import * as dependency_5 from "./fee";
import * as dependency_6 from "./genesis";
import * as dependency_7 from "./../../../core/channel/v1/channel";
import * as pb_1 from "google-protobuf";
import * as grpc_1 from "@grpc/grpc-js";
export namespace ibc.applications.fee.v1 {
    export class QueryIncentivizedPacketsRequest extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            pagination?: dependency_4.cosmos.base.query.v1beta1.PageRequest;
            query_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 ("pagination" in data && data.pagination != undefined) {
                    this.pagination = data.pagination;
                }
                if ("query_height" in data && data.query_height != undefined) {
                    this.query_height = data.query_height;
                }
            }
        }
        get pagination() {
            return pb_1.Message.getWrapperField(this, dependency_4.cosmos.base.query.v1beta1.PageRequest, 1) as dependency_4.cosmos.base.query.v1beta1.PageRequest;
        }
        set pagination(value: dependency_4.cosmos.base.query.v1beta1.PageRequest) {
            pb_1.Message.setWrapperField(this, 1, value);
        }
        get has_pagination() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get query_height() {
            return pb_1.Message.getFieldWithDefault(this, 2, 0) as number;
        }
        set query_height(value: number) {
            pb_1.Message.setField(this, 2, value);
        }
        static fromObject(data: {
            pagination?: ReturnType<typeof dependency_4.cosmos.base.query.v1beta1.PageRequest.prototype.toObject>;
            query_height?: number;
        }): QueryIncentivizedPacketsRequest {
            const message = new QueryIncentivizedPacketsRequest({});
            if (data.pagination != null) {
                message.pagination = dependency_4.cosmos.base.query.v1beta1.PageRequest.fromObject(data.pagination);
            }
            if (data.query_height != null) {
                message.query_height = data.query_height;
            }
            return message;
        }
        toObject() {
            const data: {
                pagination?: ReturnType<typeof dependency_4.cosmos.base.query.v1beta1.PageRequest.prototype.toObject>;
                query_height?: number;
            } = {};
            if (this.pagination != null) {
                data.pagination = this.pagination.toObject();
            }
            if (this.query_height != null) {
                data.query_height = this.query_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.has_pagination)
                writer.writeMessage(1, this.pagination, () => this.pagination.serialize(writer));
            if (this.query_height != 0)
                writer.writeUint64(2, this.query_height);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryIncentivizedPacketsRequest {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryIncentivizedPacketsRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.pagination, () => message.pagination = dependency_4.cosmos.base.query.v1beta1.PageRequest.deserialize(reader));
                        break;
                    case 2:
                        message.query_height = reader.readUint64();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryIncentivizedPacketsRequest {
            return QueryIncentivizedPacketsRequest.deserialize(bytes);
        }
    }
    export class QueryIncentivizedPacketsResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            incentivized_packets?: dependency_5.ibc.applications.fee.v1.IdentifiedPacketFees[];
            pagination?: dependency_4.cosmos.base.query.v1beta1.PageResponse;
        }) {
            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 ("incentivized_packets" in data && data.incentivized_packets != undefined) {
                    this.incentivized_packets = data.incentivized_packets;
                }
                if ("pagination" in data && data.pagination != undefined) {
                    this.pagination = data.pagination;
                }
            }
        }
        get incentivized_packets() {
            return pb_1.Message.getRepeatedWrapperField(this, dependency_5.ibc.applications.fee.v1.IdentifiedPacketFees, 1) as dependency_5.ibc.applications.fee.v1.IdentifiedPacketFees[];
        }
        set incentivized_packets(value: dependency_5.ibc.applications.fee.v1.IdentifiedPacketFees[]) {
            pb_1.Message.setRepeatedWrapperField(this, 1, value);
        }
        get pagination() {
            return pb_1.Message.getWrapperField(this, dependency_4.cosmos.base.query.v1beta1.PageResponse, 2) as dependency_4.cosmos.base.query.v1beta1.PageResponse;
        }
        set pagination(value: dependency_4.cosmos.base.query.v1beta1.PageResponse) {
            pb_1.Message.setWrapperField(this, 2, value);
        }
        get has_pagination() {
            return pb_1.Message.getField(this, 2) != null;
        }
        static fromObject(data: {
            incentivized_packets?: ReturnType<typeof dependency_5.ibc.applications.fee.v1.IdentifiedPacketFees.prototype.toObject>[];
            pagination?: ReturnType<typeof dependency_4.cosmos.base.query.v1beta1.PageResponse.prototype.toObject>;
        }): QueryIncentivizedPacketsResponse {
            const message = new QueryIncentivizedPacketsResponse({});
            if (data.incentivized_packets != null) {
                message.incentivized_packets = data.incentivized_packets.map(item => dependency_5.ibc.applications.fee.v1.IdentifiedPacketFees.fromObject(item));
            }
            if (data.pagination != null) {
                message.pagination = dependency_4.cosmos.base.query.v1beta1.PageResponse.fromObject(data.pagination);
            }
            return message;
        }
        toObject() {
            const data: {
                incentivized_packets?: ReturnType<typeof dependency_5.ibc.applications.fee.v1.IdentifiedPacketFees.prototype.toObject>[];
                pagination?: ReturnType<typeof dependency_4.cosmos.base.query.v1beta1.PageResponse.prototype.toObject>;
            } = {};
            if (this.incentivized_packets != null) {
                data.incentivized_packets = this.incentivized_packets.map((item: dependency_5.ibc.applications.fee.v1.IdentifiedPacketFees) => item.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.incentivized_packets.length)
                writer.writeRepeatedMessage(1, this.incentivized_packets, (item: dependency_5.ibc.applications.fee.v1.IdentifiedPacketFees) => item.serialize(writer));
            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): QueryIncentivizedPacketsResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryIncentivizedPacketsResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.incentivized_packets, () => pb_1.Message.addToRepeatedWrapperField(message, 1, dependency_5.ibc.applications.fee.v1.IdentifiedPacketFees.deserialize(reader), dependency_5.ibc.applications.fee.v1.IdentifiedPacketFees));
                        break;
                    case 2:
                        reader.readMessage(message.pagination, () => message.pagination = dependency_4.cosmos.base.query.v1beta1.PageResponse.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryIncentivizedPacketsResponse {
            return QueryIncentivizedPacketsResponse.deserialize(bytes);
        }
    }
    export class QueryIncentivizedPacketRequest extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            packet_id?: dependency_7.ibc.core.channel.v1.PacketId;
            query_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 ("packet_id" in data && data.packet_id != undefined) {
                    this.packet_id = data.packet_id;
                }
                if ("query_height" in data && data.query_height != undefined) {
                    this.query_height = data.query_height;
                }
            }
        }
        get packet_id() {
            return pb_1.Message.getWrapperField(this, dependency_7.ibc.core.channel.v1.PacketId, 1) as dependency_7.ibc.core.channel.v1.PacketId;
        }
        set packet_id(value: dependency_7.ibc.core.channel.v1.PacketId) {
            pb_1.Message.setWrapperField(this, 1, value);
        }
        get has_packet_id() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get query_height() {
            return pb_1.Message.getFieldWithDefault(this, 2, 0) as number;
        }
        set query_height(value: number) {
            pb_1.Message.setField(this, 2, value);
        }
        static fromObject(data: {
            packet_id?: ReturnType<typeof dependency_7.ibc.core.channel.v1.PacketId.prototype.toObject>;
            query_height?: number;
        }): QueryIncentivizedPacketRequest {
            const message = new QueryIncentivizedPacketRequest({});
            if (data.packet_id != null) {
                message.packet_id = dependency_7.ibc.core.channel.v1.PacketId.fromObject(data.packet_id);
            }
            if (data.query_height != null) {
                message.query_height = data.query_height;
            }
            return message;
        }
        toObject() {
            const data: {
                packet_id?: ReturnType<typeof dependency_7.ibc.core.channel.v1.PacketId.prototype.toObject>;
                query_height?: number;
            } = {};
            if (this.packet_id != null) {
                data.packet_id = this.packet_id.toObject();
            }
            if (this.query_height != null) {
                data.query_height = this.query_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.has_packet_id)
                writer.writeMessage(1, this.packet_id, () => this.packet_id.serialize(writer));
            if (this.query_height != 0)
                writer.writeUint64(2, this.query_height);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryIncentivizedPacketRequest {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryIncentivizedPacketRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.packet_id, () => message.packet_id = dependency_7.ibc.core.channel.v1.PacketId.deserialize(reader));
                        break;
                    case 2:
                        message.query_height = reader.readUint64();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryIncentivizedPacketRequest {
            return QueryIncentivizedPacketRequest.deserialize(bytes);
        }
    }
    export class QueryIncentivizedPacketResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            incentivized_packet?: dependency_5.ibc.applications.fee.v1.IdentifiedPacketFees;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("incentivized_packet" in data && data.incentivized_packet != undefined) {
                    this.incentivized_packet = data.incentivized_packet;
                }
            }
        }
        get incentivized_packet() {
            return pb_1.Message.getWrapperField(this, dependency_5.ibc.applications.fee.v1.IdentifiedPacketFees, 1) as dependency_5.ibc.applications.fee.v1.IdentifiedPacketFees;
        }
        set incentivized_packet(value: dependency_5.ibc.applications.fee.v1.IdentifiedPacketFees) {
            pb_1.Message.setWrapperField(this, 1, value);
        }
        get has_incentivized_packet() {
            return pb_1.Message.getField(this, 1) != null;
        }
        static fromObject(data: {
            incentivized_packet?: ReturnType<typeof dependency_5.ibc.applications.fee.v1.IdentifiedPacketFees.prototype.toObject>;
        }): QueryIncentivizedPacketResponse {
            const message = new QueryIncentivizedPacketResponse({});
            if (data.incentivized_packet != null) {
                message.incentivized_packet = dependency_5.ibc.applications.fee.v1.IdentifiedPacketFees.fromObject(data.incentivized_packet);
            }
            return message;
        }
        toObject() {
            const data: {
                incentivized_packet?: ReturnType<typeof dependency_5.ibc.applications.fee.v1.IdentifiedPacketFees.prototype.toObject>;
            } = {};
            if (this.incentivized_packet != null) {
                data.incentivized_packet = this.incentivized_packet.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_incentivized_packet)
                writer.writeMessage(1, this.incentivized_packet, () => this.incentivized_packet.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryIncentivizedPacketResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryIncentivizedPacketResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.incentivized_packet, () => message.incentivized_packet = dependency_5.ibc.applications.fee.v1.IdentifiedPacketFees.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryIncentivizedPacketResponse {
            return QueryIncentivizedPacketResponse.deserialize(bytes);
        }
    }
    export class QueryIncentivizedPacketsForChannelRequest extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            pagination?: dependency_4.cosmos.base.query.v1beta1.PageRequest;
            port_id?: string;
            channel_id?: string;
            query_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 ("pagination" in data && data.pagination != undefined) {
                    this.pagination = data.pagination;
                }
                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 ("query_height" in data && data.query_height != undefined) {
                    this.query_height = data.query_height;
                }
            }
        }
        get pagination() {
            return pb_1.Message.getWrapperField(this, dependency_4.cosmos.base.query.v1beta1.PageRequest, 1) as dependency_4.cosmos.base.query.v1beta1.PageRequest;
        }
        set pagination(value: dependency_4.cosmos.base.query.v1beta1.PageRequest) {
            pb_1.Message.setWrapperField(this, 1, value);
        }
        get has_pagination() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get port_id() {
            return pb_1.Message.getFieldWithDefault(this, 2, "") as string;
        }
        set port_id(value: string) {
            pb_1.Message.setField(this, 2, value);
        }
        get channel_id() {
            return pb_1.Message.getFieldWithDefault(this, 3, "") as string;
        }
        set channel_id(value: string) {
            pb_1.Message.setField(this, 3, value);
        }
        get query_height() {
            return pb_1.Message.getFieldWithDefault(this, 4, 0) as number;
        }
        set query_height(value: number) {
            pb_1.Message.setField(this, 4, value);
        }
        static fromObject(data: {
            pagination?: ReturnType<typeof dependency_4.cosmos.base.query.v1beta1.PageRequest.prototype.toObject>;
            port_id?: string;
            channel_id?: string;
            query_height?: number;
        }): QueryIncentivizedPacketsForChannelRequest {
            const message = new QueryIncentivizedPacketsForChannelRequest({});
            if (data.pagination != null) {
                message.pagination = dependency_4.cosmos.base.query.v1beta1.PageRequest.fromObject(data.pagination);
            }
            if (data.port_id != null) {
                message.port_id = data.port_id;
            }
            if (data.channel_id != null) {
                message.channel_id = data.channel_id;
            }
            if (data.query_height != null) {
                message.query_height = data.query_height;
            }
            return message;
        }
        toObject() {
            const data: {
                pagination?: ReturnType<typeof dependency_4.cosmos.base.query.v1beta1.PageRequest.prototype.toObject>;
                port_id?: string;
                channel_id?: string;
                query_height?: number;
            } = {};
            if (this.pagination != null) {
                data.pagination = this.pagination.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.query_height != null) {
                data.query_height = this.query_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.has_pagination)
                writer.writeMessage(1, this.pagination, () => this.pagination.serialize(writer));
            if (this.port_id.length)
                writer.writeString(2, this.port_id);
            if (this.channel_id.length)
                writer.writeString(3, this.channel_id);
            if (this.query_height != 0)
                writer.writeUint64(4, this.query_height);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryIncentivizedPacketsForChannelRequest {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryIncentivizedPacketsForChannelRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.pagination, () => message.pagination = dependency_4.cosmos.base.query.v1beta1.PageRequest.deserialize(reader));
                        break;
                    case 2:
                        message.port_id = reader.readString();
                        break;
                    case 3:
                        message.channel_id = reader.readString();
                        break;
                    case 4:
                        message.query_height = reader.readUint64();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryIncentivizedPacketsForChannelRequest {
            return QueryIncentivizedPacketsForChannelRequest.deserialize(bytes);
        }
    }
    export class QueryIncentivizedPacketsForChannelResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            incentivized_packets?: dependency_5.ibc.applications.fee.v1.IdentifiedPacketFees[];
            pagination?: dependency_4.cosmos.base.query.v1beta1.PageResponse;
        }) {
            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 ("incentivized_packets" in data && data.incentivized_packets != undefined) {
                    this.incentivized_packets = data.incentivized_packets;
                }
                if ("pagination" in data && data.pagination != undefined) {
                    this.pagination = data.pagination;
                }
            }
        }
        get incentivized_packets() {
            return pb_1.Message.getRepeatedWrapperField(this, dependency_5.ibc.applications.fee.v1.IdentifiedPacketFees, 1) as dependency_5.ibc.applications.fee.v1.IdentifiedPacketFees[];
        }
        set incentivized_packets(value: dependency_5.ibc.applications.fee.v1.IdentifiedPacketFees[]) {
            pb_1.Message.setRepeatedWrapperField(this, 1, value);
        }
        get pagination() {
            return pb_1.Message.getWrapperField(this, dependency_4.cosmos.base.query.v1beta1.PageResponse, 2) as dependency_4.cosmos.base.query.v1beta1.PageResponse;
        }
        set pagination(value: dependency_4.cosmos.base.query.v1beta1.PageResponse) {
            pb_1.Message.setWrapperField(this, 2, value);
        }
        get has_pagination() {
            return pb_1.Message.getField(this, 2) != null;
        }
        static fromObject(data: {
            incentivized_packets?: ReturnType<typeof dependency_5.ibc.applications.fee.v1.IdentifiedPacketFees.prototype.toObject>[];
            pagination?: ReturnType<typeof dependency_4.cosmos.base.query.v1beta1.PageResponse.prototype.toObject>;
        }): QueryIncentivizedPacketsForChannelResponse {
            const message = new QueryIncentivizedPacketsForChannelResponse({});
            if (data.incentivized_packets != null) {
                message.incentivized_packets = data.incentivized_packets.map(item => dependency_5.ibc.applications.fee.v1.IdentifiedPacketFees.fromObject(item));
            }
            if (data.pagination != null) {
                message.pagination = dependency_4.cosmos.base.query.v1beta1.PageResponse.fromObject(data.pagination);
            }
            return message;
        }
        toObject() {
            const data: {
                incentivized_packets?: ReturnType<typeof dependency_5.ibc.applications.fee.v1.IdentifiedPacketFees.prototype.toObject>[];
                pagination?: ReturnType<typeof dependency_4.cosmos.base.query.v1beta1.PageResponse.prototype.toObject>;
            } = {};
            if (this.incentivized_packets != null) {
                data.incentivized_packets = this.incentivized_packets.map((item: dependency_5.ibc.applications.fee.v1.IdentifiedPacketFees) => item.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.incentivized_packets.length)
                writer.writeRepeatedMessage(1, this.incentivized_packets, (item: dependency_5.ibc.applications.fee.v1.IdentifiedPacketFees) => item.serialize(writer));
            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): QueryIncentivizedPacketsForChannelResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryIncentivizedPacketsForChannelResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.incentivized_packets, () => pb_1.Message.addToRepeatedWrapperField(message, 1, dependency_5.ibc.applications.fee.v1.IdentifiedPacketFees.deserialize(reader), dependency_5.ibc.applications.fee.v1.IdentifiedPacketFees));
                        break;
                    case 2:
                        reader.readMessage(message.pagination, () => message.pagination = dependency_4.cosmos.base.query.v1beta1.PageResponse.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryIncentivizedPacketsForChannelResponse {
            return QueryIncentivizedPacketsForChannelResponse.deserialize(bytes);
        }
    }
    export class QueryTotalRecvFeesRequest extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            packet_id?: dependency_7.ibc.core.channel.v1.PacketId;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("packet_id" in data && data.packet_id != undefined) {
                    this.packet_id = data.packet_id;
                }
            }
        }
        get packet_id() {
            return pb_1.Message.getWrapperField(this, dependency_7.ibc.core.channel.v1.PacketId, 1) as dependency_7.ibc.core.channel.v1.PacketId;
        }
        set packet_id(value: dependency_7.ibc.core.channel.v1.PacketId) {
            pb_1.Message.setWrapperField(this, 1, value);
        }
        get has_packet_id() {
            return pb_1.Message.getField(this, 1) != null;
        }
        static fromObject(data: {
            packet_id?: ReturnType<typeof dependency_7.ibc.core.channel.v1.PacketId.prototype.toObject>;
        }): QueryTotalRecvFeesRequest {
            const message = new QueryTotalRecvFeesRequest({});
            if (data.packet_id != null) {
                message.packet_id = dependency_7.ibc.core.channel.v1.PacketId.fromObject(data.packet_id);
            }
            return message;
        }
        toObject() {
            const data: {
                packet_id?: ReturnType<typeof dependency_7.ibc.core.channel.v1.PacketId.prototype.toObject>;
            } = {};
            if (this.packet_id != null) {
                data.packet_id = this.packet_id.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_packet_id)
                writer.writeMessage(1, this.packet_id, () => this.packet_id.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryTotalRecvFeesRequest {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryTotalRecvFeesRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.packet_id, () => message.packet_id = dependency_7.ibc.core.channel.v1.PacketId.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryTotalRecvFeesRequest {
            return QueryTotalRecvFeesRequest.deserialize(bytes);
        }
    }
    export class QueryTotalRecvFeesResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            recv_fees?: dependency_3.cosmos.base.v1beta1.Coin[];
        }) {
            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 ("recv_fees" in data && data.recv_fees != undefined) {
                    this.recv_fees = data.recv_fees;
                }
            }
        }
        get recv_fees() {
            return pb_1.Message.getRepeatedWrapperField(this, dependency_3.cosmos.base.v1beta1.Coin, 1) as dependency_3.cosmos.base.v1beta1.Coin[];
        }
        set recv_fees(value: dependency_3.cosmos.base.v1beta1.Coin[]) {
            pb_1.Message.setRepeatedWrapperField(this, 1, value);
        }
        static fromObject(data: {
            recv_fees?: ReturnType<typeof dependency_3.cosmos.base.v1beta1.Coin.prototype.toObject>[];
        }): QueryTotalRecvFeesResponse {
            const message = new QueryTotalRecvFeesResponse({});
            if (data.recv_fees != null) {
                message.recv_fees = data.recv_fees.map(item => dependency_3.cosmos.base.v1beta1.Coin.fromObject(item));
            }
            return message;
        }
        toObject() {
            const data: {
                recv_fees?: ReturnType<typeof dependency_3.cosmos.base.v1beta1.Coin.prototype.toObject>[];
            } = {};
            if (this.recv_fees != null) {
                data.recv_fees = this.recv_fees.map((item: dependency_3.cosmos.base.v1beta1.Coin) => item.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.recv_fees.length)
                writer.writeRepeatedMessage(1, this.recv_fees, (item: dependency_3.cosmos.base.v1beta1.Coin) => item.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryTotalRecvFeesResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryTotalRecvFeesResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.recv_fees, () => pb_1.Message.addToRepeatedWrapperField(message, 1, dependency_3.cosmos.base.v1beta1.Coin.deserialize(reader), dependency_3.cosmos.base.v1beta1.Coin));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryTotalRecvFeesResponse {
            return QueryTotalRecvFeesResponse.deserialize(bytes);
        }
    }
    export class QueryTotalAckFeesRequest extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            packet_id?: dependency_7.ibc.core.channel.v1.PacketId;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("packet_id" in data && data.packet_id != undefined) {
                    this.packet_id = data.packet_id;
                }
            }
        }
        get packet_id() {
            return pb_1.Message.getWrapperField(this, dependency_7.ibc.core.channel.v1.PacketId, 1) as dependency_7.ibc.core.channel.v1.PacketId;
        }
        set packet_id(value: dependency_7.ibc.core.channel.v1.PacketId) {
            pb_1.Message.setWrapperField(this, 1, value);
        }
        get has_packet_id() {
            return pb_1.Message.getField(this, 1) != null;
        }
        static fromObject(data: {
            packet_id?: ReturnType<typeof dependency_7.ibc.core.channel.v1.PacketId.prototype.toObject>;
        }): QueryTotalAckFeesRequest {
            const message = new QueryTotalAckFeesRequest({});
            if (data.packet_id != null) {
                message.packet_id = dependency_7.ibc.core.channel.v1.PacketId.fromObject(data.packet_id);
            }
            return message;
        }
        toObject() {
            const data: {
                packet_id?: ReturnType<typeof dependency_7.ibc.core.channel.v1.PacketId.prototype.toObject>;
            } = {};
            if (this.packet_id != null) {
                data.packet_id = this.packet_id.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_packet_id)
                writer.writeMessage(1, this.packet_id, () => this.packet_id.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryTotalAckFeesRequest {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryTotalAckFeesRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.packet_id, () => message.packet_id = dependency_7.ibc.core.channel.v1.PacketId.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryTotalAckFeesRequest {
            return QueryTotalAckFeesRequest.deserialize(bytes);
        }
    }
    export class QueryTotalAckFeesResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            ack_fees?: dependency_3.cosmos.base.v1beta1.Coin[];
        }) {
            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 ("ack_fees" in data && data.ack_fees != undefined) {
                    this.ack_fees = data.ack_fees;
                }
            }
        }
        get ack_fees() {
            return pb_1.Message.getRepeatedWrapperField(this, dependency_3.cosmos.base.v1beta1.Coin, 1) as dependency_3.cosmos.base.v1beta1.Coin[];
        }
        set ack_fees(value: dependency_3.cosmos.base.v1beta1.Coin[]) {
            pb_1.Message.setRepeatedWrapperField(this, 1, value);
        }
        static fromObject(data: {
            ack_fees?: ReturnType<typeof dependency_3.cosmos.base.v1beta1.Coin.prototype.toObject>[];
        }): QueryTotalAckFeesResponse {
            const message = new QueryTotalAckFeesResponse({});
            if (data.ack_fees != null) {
                message.ack_fees = data.ack_fees.map(item => dependency_3.cosmos.base.v1beta1.Coin.fromObject(item));
            }
            return message;
        }
        toObject() {
            const data: {
                ack_fees?: ReturnType<typeof dependency_3.cosmos.base.v1beta1.Coin.prototype.toObject>[];
            } = {};
            if (this.ack_fees != null) {
                data.ack_fees = this.ack_fees.map((item: dependency_3.cosmos.base.v1beta1.Coin) => item.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.ack_fees.length)
                writer.writeRepeatedMessage(1, this.ack_fees, (item: dependency_3.cosmos.base.v1beta1.Coin) => item.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryTotalAckFeesResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryTotalAckFeesResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.ack_fees, () => pb_1.Message.addToRepeatedWrapperField(message, 1, dependency_3.cosmos.base.v1beta1.Coin.deserialize(reader), dependency_3.cosmos.base.v1beta1.Coin));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryTotalAckFeesResponse {
            return QueryTotalAckFeesResponse.deserialize(bytes);
        }
    }
    export class QueryTotalTimeoutFeesRequest extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            packet_id?: dependency_7.ibc.core.channel.v1.PacketId;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("packet_id" in data && data.packet_id != undefined) {
                    this.packet_id = data.packet_id;
                }
            }
        }
        get packet_id() {
            return pb_1.Message.getWrapperField(this, dependency_7.ibc.core.channel.v1.PacketId, 1) as dependency_7.ibc.core.channel.v1.PacketId;
        }
        set packet_id(value: dependency_7.ibc.core.channel.v1.PacketId) {
            pb_1.Message.setWrapperField(this, 1, value);
        }
        get has_packet_id() {
            return pb_1.Message.getField(this, 1) != null;
        }
        static fromObject(data: {
            packet_id?: ReturnType<typeof dependency_7.ibc.core.channel.v1.PacketId.prototype.toObject>;
        }): QueryTotalTimeoutFeesRequest {
            const message = new QueryTotalTimeoutFeesRequest({});
            if (data.packet_id != null) {
                message.packet_id = dependency_7.ibc.core.channel.v1.PacketId.fromObject(data.packet_id);
            }
            return message;
        }
        toObject() {
            const data: {
                packet_id?: ReturnType<typeof dependency_7.ibc.core.channel.v1.PacketId.prototype.toObject>;
            } = {};
            if (this.packet_id != null) {
                data.packet_id = this.packet_id.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_packet_id)
                writer.writeMessage(1, this.packet_id, () => this.packet_id.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryTotalTimeoutFeesRequest {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryTotalTimeoutFeesRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.packet_id, () => message.packet_id = dependency_7.ibc.core.channel.v1.PacketId.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryTotalTimeoutFeesRequest {
            return QueryTotalTimeoutFeesRequest.deserialize(bytes);
        }
    }
    export class QueryTotalTimeoutFeesResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            timeout_fees?: dependency_3.cosmos.base.v1beta1.Coin[];
        }) {
            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 ("timeout_fees" in data && data.timeout_fees != undefined) {
                    this.timeout_fees = data.timeout_fees;
                }
            }
        }
        get timeout_fees() {
            return pb_1.Message.getRepeatedWrapperField(this, dependency_3.cosmos.base.v1beta1.Coin, 1) as dependency_3.cosmos.base.v1beta1.Coin[];
        }
        set timeout_fees(value: dependency_3.cosmos.base.v1beta1.Coin[]) {
            pb_1.Message.setRepeatedWrapperField(this, 1, value);
        }
        static fromObject(data: {
            timeout_fees?: ReturnType<typeof dependency_3.cosmos.base.v1beta1.Coin.prototype.toObject>[];
        }): QueryTotalTimeoutFeesResponse {
            const message = new QueryTotalTimeoutFeesResponse({});
            if (data.timeout_fees != null) {
                message.timeout_fees = data.timeout_fees.map(item => dependency_3.cosmos.base.v1beta1.Coin.fromObject(item));
            }
            return message;
        }
        toObject() {
            const data: {
                timeout_fees?: ReturnType<typeof dependency_3.cosmos.base.v1beta1.Coin.prototype.toObject>[];
            } = {};
            if (this.timeout_fees != null) {
                data.timeout_fees = this.timeout_fees.map((item: dependency_3.cosmos.base.v1beta1.Coin) => item.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.timeout_fees.length)
                writer.writeRepeatedMessage(1, this.timeout_fees, (item: dependency_3.cosmos.base.v1beta1.Coin) => item.serialize(writer));
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryTotalTimeoutFeesResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryTotalTimeoutFeesResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.timeout_fees, () => pb_1.Message.addToRepeatedWrapperField(message, 1, dependency_3.cosmos.base.v1beta1.Coin.deserialize(reader), dependency_3.cosmos.base.v1beta1.Coin));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryTotalTimeoutFeesResponse {
            return QueryTotalTimeoutFeesResponse.deserialize(bytes);
        }
    }
    export class QueryPayeeRequest extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            channel_id?: string;
            relayer?: 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 ("channel_id" in data && data.channel_id != undefined) {
                    this.channel_id = data.channel_id;
                }
                if ("relayer" in data && data.relayer != undefined) {
                    this.relayer = data.relayer;
                }
            }
        }
        get channel_id() {
            return pb_1.Message.getFieldWithDefault(this, 1, "") as string;
        }
        set channel_id(value: string) {
            pb_1.Message.setField(this, 1, value);
        }
        get relayer() {
            return pb_1.Message.getFieldWithDefault(this, 2, "") as string;
        }
        set relayer(value: string) {
            pb_1.Message.setField(this, 2, value);
        }
        static fromObject(data: {
            channel_id?: string;
            relayer?: string;
        }): QueryPayeeRequest {
            const message = new QueryPayeeRequest({});
            if (data.channel_id != null) {
                message.channel_id = data.channel_id;
            }
            if (data.relayer != null) {
                message.relayer = data.relayer;
            }
            return message;
        }
        toObject() {
            const data: {
                channel_id?: string;
                relayer?: string;
            } = {};
            if (this.channel_id != null) {
                data.channel_id = this.channel_id;
            }
            if (this.relayer != null) {
                data.relayer = this.relayer;
            }
            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.channel_id.length)
                writer.writeString(1, this.channel_id);
            if (this.relayer.length)
                writer.writeString(2, this.relayer);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryPayeeRequest {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryPayeeRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.channel_id = reader.readString();
                        break;
                    case 2:
                        message.relayer = reader.readString();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryPayeeRequest {
            return QueryPayeeRequest.deserialize(bytes);
        }
    }
    export class QueryPayeeResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            payee_address?: 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 ("payee_address" in data && data.payee_address != undefined) {
                    this.payee_address = data.payee_address;
                }
            }
        }
        get payee_address() {
            return pb_1.Message.getFieldWithDefault(this, 1, "") as string;
        }
        set payee_address(value: string) {
            pb_1.Message.setField(this, 1, value);
        }
        static fromObject(data: {
            payee_address?: string;
        }): QueryPayeeResponse {
            const message = new QueryPayeeResponse({});
            if (data.payee_address != null) {
                message.payee_address = data.payee_address;
            }
            return message;
        }
        toObject() {
            const data: {
                payee_address?: string;
            } = {};
            if (this.payee_address != null) {
                data.payee_address = this.payee_address;
            }
            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.payee_address.length)
                writer.writeString(1, this.payee_address);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryPayeeResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryPayeeResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.payee_address = reader.readString();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryPayeeResponse {
            return QueryPayeeResponse.deserialize(bytes);
        }
    }
    export class QueryCounterpartyPayeeRequest extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            channel_id?: string;
            relayer?: 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 ("channel_id" in data && data.channel_id != undefined) {
                    this.channel_id = data.channel_id;
                }
                if ("relayer" in data && data.relayer != undefined) {
                    this.relayer = data.relayer;
                }
            }
        }
        get channel_id() {
            return pb_1.Message.getFieldWithDefault(this, 1, "") as string;
        }
        set channel_id(value: string) {
            pb_1.Message.setField(this, 1, value);
        }
        get relayer() {
            return pb_1.Message.getFieldWithDefault(this, 2, "") as string;
        }
        set relayer(value: string) {
            pb_1.Message.setField(this, 2, value);
        }
        static fromObject(data: {
            channel_id?: string;
            relayer?: string;
        }): QueryCounterpartyPayeeRequest {
            const message = new QueryCounterpartyPayeeRequest({});
            if (data.channel_id != null) {
                message.channel_id = data.channel_id;
            }
            if (data.relayer != null) {
                message.relayer = data.relayer;
            }
            return message;
        }
        toObject() {
            const data: {
                channel_id?: string;
                relayer?: string;
            } = {};
            if (this.channel_id != null) {
                data.channel_id = this.channel_id;
            }
            if (this.relayer != null) {
                data.relayer = this.relayer;
            }
            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.channel_id.length)
                writer.writeString(1, this.channel_id);
            if (this.relayer.length)
                writer.writeString(2, this.relayer);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryCounterpartyPayeeRequest {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryCounterpartyPayeeRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.channel_id = reader.readString();
                        break;
                    case 2:
                        message.relayer = reader.readString();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryCounterpartyPayeeRequest {
            return QueryCounterpartyPayeeRequest.deserialize(bytes);
        }
    }
    export class QueryCounterpartyPayeeResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            counterparty_payee?: 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 ("counterparty_payee" in data && data.counterparty_payee != undefined) {
                    this.counterparty_payee = data.counterparty_payee;
                }
            }
        }
        get counterparty_payee() {
            return pb_1.Message.getFieldWithDefault(this, 1, "") as string;
        }
        set counterparty_payee(value: string) {
            pb_1.Message.setField(this, 1, value);
        }
        static fromObject(data: {
            counterparty_payee?: string;
        }): QueryCounterpartyPayeeResponse {
            const message = new QueryCounterpartyPayeeResponse({});
            if (data.counterparty_payee != null) {
                message.counterparty_payee = data.counterparty_payee;
            }
            return message;
        }
        toObject() {
            const data: {
                counterparty_payee?: string;
            } = {};
            if (this.counterparty_payee != null) {
                data.counterparty_payee = this.counterparty_payee;
            }
            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.counterparty_payee.length)
                writer.writeString(1, this.counterparty_payee);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryCounterpartyPayeeResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryCounterpartyPayeeResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.counterparty_payee = reader.readString();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryCounterpartyPayeeResponse {
            return QueryCounterpartyPayeeResponse.deserialize(bytes);
        }
    }
    export class QueryFeeEnabledChannelsRequest extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            pagination?: dependency_4.cosmos.base.query.v1beta1.PageRequest;
            query_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 ("pagination" in data && data.pagination != undefined) {
                    this.pagination = data.pagination;
                }
                if ("query_height" in data && data.query_height != undefined) {
                    this.query_height = data.query_height;
                }
            }
        }
        get pagination() {
            return pb_1.Message.getWrapperField(this, dependency_4.cosmos.base.query.v1beta1.PageRequest, 1) as dependency_4.cosmos.base.query.v1beta1.PageRequest;
        }
        set pagination(value: dependency_4.cosmos.base.query.v1beta1.PageRequest) {
            pb_1.Message.setWrapperField(this, 1, value);
        }
        get has_pagination() {
            return pb_1.Message.getField(this, 1) != null;
        }
        get query_height() {
            return pb_1.Message.getFieldWithDefault(this, 2, 0) as number;
        }
        set query_height(value: number) {
            pb_1.Message.setField(this, 2, value);
        }
        static fromObject(data: {
            pagination?: ReturnType<typeof dependency_4.cosmos.base.query.v1beta1.PageRequest.prototype.toObject>;
            query_height?: number;
        }): QueryFeeEnabledChannelsRequest {
            const message = new QueryFeeEnabledChannelsRequest({});
            if (data.pagination != null) {
                message.pagination = dependency_4.cosmos.base.query.v1beta1.PageRequest.fromObject(data.pagination);
            }
            if (data.query_height != null) {
                message.query_height = data.query_height;
            }
            return message;
        }
        toObject() {
            const data: {
                pagination?: ReturnType<typeof dependency_4.cosmos.base.query.v1beta1.PageRequest.prototype.toObject>;
                query_height?: number;
            } = {};
            if (this.pagination != null) {
                data.pagination = this.pagination.toObject();
            }
            if (this.query_height != null) {
                data.query_height = this.query_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.has_pagination)
                writer.writeMessage(1, this.pagination, () => this.pagination.serialize(writer));
            if (this.query_height != 0)
                writer.writeUint64(2, this.query_height);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryFeeEnabledChannelsRequest {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryFeeEnabledChannelsRequest();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.pagination, () => message.pagination = dependency_4.cosmos.base.query.v1beta1.PageRequest.deserialize(reader));
                        break;
                    case 2:
                        message.query_height = reader.readUint64();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryFeeEnabledChannelsRequest {
            return QueryFeeEnabledChannelsRequest.deserialize(bytes);
        }
    }
    export class QueryFeeEnabledChannelsResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            fee_enabled_channels?: dependency_6.ibc.applications.fee.v1.FeeEnabledChannel[];
            pagination?: dependency_4.cosmos.base.query.v1beta1.PageResponse;
        }) {
            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 ("fee_enabled_channels" in data && data.fee_enabled_channels != undefined) {
                    this.fee_enabled_channels = data.fee_enabled_channels;
                }
                if ("pagination" in data && data.pagination != undefined) {
                    this.pagination = data.pagination;
                }
            }
        }
        get fee_enabled_channels() {
            return pb_1.Message.getRepeatedWrapperField(this, dependency_6.ibc.applications.fee.v1.FeeEnabledChannel, 1) as dependency_6.ibc.applications.fee.v1.FeeEnabledChannel[];
        }
        set fee_enabled_channels(value: dependency_6.ibc.applications.fee.v1.FeeEnabledChannel[]) {
            pb_1.Message.setRepeatedWrapperField(this, 1, value);
        }
        get pagination() {
            return pb_1.Message.getWrapperField(this, dependency_4.cosmos.base.query.v1beta1.PageResponse, 2) as dependency_4.cosmos.base.query.v1beta1.PageResponse;
        }
        set pagination(value: dependency_4.cosmos.base.query.v1beta1.PageResponse) {
            pb_1.Message.setWrapperField(this, 2, value);
        }
        get has_pagination() {
            return pb_1.Message.getField(this, 2) != null;
        }
        static fromObject(data: {
            fee_enabled_channels?: ReturnType<typeof dependency_6.ibc.applications.fee.v1.FeeEnabledChannel.prototype.toObject>[];
            pagination?: ReturnType<typeof dependency_4.cosmos.base.query.v1beta1.PageResponse.prototype.toObject>;
        }): QueryFeeEnabledChannelsResponse {
            const message = new QueryFeeEnabledChannelsResponse({});
            if (data.fee_enabled_channels != null) {
                message.fee_enabled_channels = data.fee_enabled_channels.map(item => dependency_6.ibc.applications.fee.v1.FeeEnabledChannel.fromObject(item));
            }
            if (data.pagination != null) {
                message.pagination = dependency_4.cosmos.base.query.v1beta1.PageResponse.fromObject(data.pagination);
            }
            return message;
        }
        toObject() {
            const data: {
                fee_enabled_channels?: ReturnType<typeof dependency_6.ibc.applications.fee.v1.FeeEnabledChannel.prototype.toObject>[];
                pagination?: ReturnType<typeof dependency_4.cosmos.base.query.v1beta1.PageResponse.prototype.toObject>;
            } = {};
            if (this.fee_enabled_channels != null) {
                data.fee_enabled_channels = this.fee_enabled_channels.map((item: dependency_6.ibc.applications.fee.v1.FeeEnabledChannel) => item.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.fee_enabled_channels.length)
                writer.writeRepeatedMessage(1, this.fee_enabled_channels, (item: dependency_6.ibc.applications.fee.v1.FeeEnabledChannel) => item.serialize(writer));
            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): QueryFeeEnabledChannelsResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryFeeEnabledChannelsResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        reader.readMessage(message.fee_enabled_channels, () => pb_1.Message.addToRepeatedWrapperField(message, 1, dependency_6.ibc.applications.fee.v1.FeeEnabledChannel.deserialize(reader), dependency_6.ibc.applications.fee.v1.FeeEnabledChannel));
                        break;
                    case 2:
                        reader.readMessage(message.pagination, () => message.pagination = dependency_4.cosmos.base.query.v1beta1.PageResponse.deserialize(reader));
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryFeeEnabledChannelsResponse {
            return QueryFeeEnabledChannelsResponse.deserialize(bytes);
        }
    }
    export class QueryFeeEnabledChannelRequest 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;
        }): QueryFeeEnabledChannelRequest {
            const message = new QueryFeeEnabledChannelRequest({});
            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): QueryFeeEnabledChannelRequest {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryFeeEnabledChannelRequest();
            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): QueryFeeEnabledChannelRequest {
            return QueryFeeEnabledChannelRequest.deserialize(bytes);
        }
    }
    export class QueryFeeEnabledChannelResponse extends pb_1.Message {
        #one_of_decls: number[][] = [];
        constructor(data?: any[] | {
            fee_enabled?: boolean;
        }) {
            super();
            pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
            if (!Array.isArray(data) && typeof data == "object") {
                if ("fee_enabled" in data && data.fee_enabled != undefined) {
                    this.fee_enabled = data.fee_enabled;
                }
            }
        }
        get fee_enabled() {
            return pb_1.Message.getFieldWithDefault(this, 1, false) as boolean;
        }
        set fee_enabled(value: boolean) {
            pb_1.Message.setField(this, 1, value);
        }
        static fromObject(data: {
            fee_enabled?: boolean;
        }): QueryFeeEnabledChannelResponse {
            const message = new QueryFeeEnabledChannelResponse({});
            if (data.fee_enabled != null) {
                message.fee_enabled = data.fee_enabled;
            }
            return message;
        }
        toObject() {
            const data: {
                fee_enabled?: boolean;
            } = {};
            if (this.fee_enabled != null) {
                data.fee_enabled = this.fee_enabled;
            }
            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.fee_enabled != false)
                writer.writeBool(1, this.fee_enabled);
            if (!w)
                return writer.getResultBuffer();
        }
        static deserialize(bytes: Uint8Array | pb_1.BinaryReader): QueryFeeEnabledChannelResponse {
            const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new QueryFeeEnabledChannelResponse();
            while (reader.nextField()) {
                if (reader.isEndGroup())
                    break;
                switch (reader.getFieldNumber()) {
                    case 1:
                        message.fee_enabled = reader.readBool();
                        break;
                    default: reader.skipField();
                }
            }
            return message;
        }
        serializeBinary(): Uint8Array {
            return this.serialize();
        }
        static deserializeBinary(bytes: Uint8Array): QueryFeeEnabledChannelResponse {
            return QueryFeeEnabledChannelResponse.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 = {
            IncentivizedPackets: {
                path: "/ibc.applications.fee.v1.Query/IncentivizedPackets",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: QueryIncentivizedPacketsRequest) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => QueryIncentivizedPacketsRequest.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: QueryIncentivizedPacketsResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => QueryIncentivizedPacketsResponse.deserialize(new Uint8Array(bytes))
            },
            IncentivizedPacket: {
                path: "/ibc.applications.fee.v1.Query/IncentivizedPacket",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: QueryIncentivizedPacketRequest) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => QueryIncentivizedPacketRequest.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: QueryIncentivizedPacketResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => QueryIncentivizedPacketResponse.deserialize(new Uint8Array(bytes))
            },
            IncentivizedPacketsForChannel: {
                path: "/ibc.applications.fee.v1.Query/IncentivizedPacketsForChannel",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: QueryIncentivizedPacketsForChannelRequest) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => QueryIncentivizedPacketsForChannelRequest.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: QueryIncentivizedPacketsForChannelResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => QueryIncentivizedPacketsForChannelResponse.deserialize(new Uint8Array(bytes))
            },
            TotalRecvFees: {
                path: "/ibc.applications.fee.v1.Query/TotalRecvFees",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: QueryTotalRecvFeesRequest) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => QueryTotalRecvFeesRequest.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: QueryTotalRecvFeesResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => QueryTotalRecvFeesResponse.deserialize(new Uint8Array(bytes))
            },
            TotalAckFees: {
                path: "/ibc.applications.fee.v1.Query/TotalAckFees",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: QueryTotalAckFeesRequest) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => QueryTotalAckFeesRequest.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: QueryTotalAckFeesResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => QueryTotalAckFeesResponse.deserialize(new Uint8Array(bytes))
            },
            TotalTimeoutFees: {
                path: "/ibc.applications.fee.v1.Query/TotalTimeoutFees",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: QueryTotalTimeoutFeesRequest) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => QueryTotalTimeoutFeesRequest.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: QueryTotalTimeoutFeesResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => QueryTotalTimeoutFeesResponse.deserialize(new Uint8Array(bytes))
            },
            Payee: {
                path: "/ibc.applications.fee.v1.Query/Payee",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: QueryPayeeRequest) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => QueryPayeeRequest.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: QueryPayeeResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => QueryPayeeResponse.deserialize(new Uint8Array(bytes))
            },
            CounterpartyPayee: {
                path: "/ibc.applications.fee.v1.Query/CounterpartyPayee",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: QueryCounterpartyPayeeRequest) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => QueryCounterpartyPayeeRequest.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: QueryCounterpartyPayeeResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => QueryCounterpartyPayeeResponse.deserialize(new Uint8Array(bytes))
            },
            FeeEnabledChannels: {
                path: "/ibc.applications.fee.v1.Query/FeeEnabledChannels",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: QueryFeeEnabledChannelsRequest) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => QueryFeeEnabledChannelsRequest.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: QueryFeeEnabledChannelsResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => QueryFeeEnabledChannelsResponse.deserialize(new Uint8Array(bytes))
            },
            FeeEnabledChannel: {
                path: "/ibc.applications.fee.v1.Query/FeeEnabledChannel",
                requestStream: false,
                responseStream: false,
                requestSerialize: (message: QueryFeeEnabledChannelRequest) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => QueryFeeEnabledChannelRequest.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: QueryFeeEnabledChannelResponse) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => QueryFeeEnabledChannelResponse.deserialize(new Uint8Array(bytes))
            }
        };
        [method: string]: grpc_1.UntypedHandleCall;
        abstract IncentivizedPackets(call: grpc_1.ServerUnaryCall<QueryIncentivizedPacketsRequest, QueryIncentivizedPacketsResponse>, callback: grpc_1.sendUnaryData<QueryIncentivizedPacketsResponse>): void;
        abstract IncentivizedPacket(call: grpc_1.ServerUnaryCall<QueryIncentivizedPacketRequest, QueryIncentivizedPacketResponse>, callback: grpc_1.sendUnaryData<QueryIncentivizedPacketResponse>): void;
        abstract IncentivizedPacketsForChannel(call: grpc_1.ServerUnaryCall<QueryIncentivizedPacketsForChannelRequest, QueryIncentivizedPacketsForChannelResponse>, callback: grpc_1.sendUnaryData<QueryIncentivizedPacketsForChannelResponse>): void;
        abstract TotalRecvFees(call: grpc_1.ServerUnaryCall<QueryTotalRecvFeesRequest, QueryTotalRecvFeesResponse>, callback: grpc_1.sendUnaryData<QueryTotalRecvFeesResponse>): void;
        abstract TotalAckFees(call: grpc_1.ServerUnaryCall<QueryTotalAckFeesRequest, QueryTotalAckFeesResponse>, callback: grpc_1.sendUnaryData<QueryTotalAckFeesResponse>): void;
        abstract TotalTimeoutFees(call: grpc_1.ServerUnaryCall<QueryTotalTimeoutFeesRequest, QueryTotalTimeoutFeesResponse>, callback: grpc_1.sendUnaryData<QueryTotalTimeoutFeesResponse>): void;
        abstract Payee(call: grpc_1.ServerUnaryCall<QueryPayeeRequest, QueryPayeeResponse>, callback: grpc_1.sendUnaryData<QueryPayeeResponse>): void;
        abstract CounterpartyPayee(call: grpc_1.ServerUnaryCall<QueryCounterpartyPayeeRequest, QueryCounterpartyPayeeResponse>, callback: grpc_1.sendUnaryData<QueryCounterpartyPayeeResponse>): void;
        abstract FeeEnabledChannels(call: grpc_1.ServerUnaryCall<QueryFeeEnabledChannelsRequest, QueryFeeEnabledChannelsResponse>, callback: grpc_1.sendUnaryData<QueryFeeEnabledChannelsResponse>): void;
        abstract FeeEnabledChannel(call: grpc_1.ServerUnaryCall<QueryFeeEnabledChannelRequest, QueryFeeEnabledChannelResponse>, callback: grpc_1.sendUnaryData<QueryFeeEnabledChannelResponse>): 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);
        }
        IncentivizedPackets: GrpcUnaryServiceInterface<QueryIncentivizedPacketsRequest, QueryIncentivizedPacketsResponse> = (message: QueryIncentivizedPacketsRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<QueryIncentivizedPacketsResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<QueryIncentivizedPacketsResponse>, callback?: grpc_1.requestCallback<QueryIncentivizedPacketsResponse>): grpc_1.ClientUnaryCall => {
            return super.IncentivizedPackets(message, metadata, options, callback);
        };
        IncentivizedPacket: GrpcUnaryServiceInterface<QueryIncentivizedPacketRequest, QueryIncentivizedPacketResponse> = (message: QueryIncentivizedPacketRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<QueryIncentivizedPacketResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<QueryIncentivizedPacketResponse>, callback?: grpc_1.requestCallback<QueryIncentivizedPacketResponse>): grpc_1.ClientUnaryCall => {
            return super.IncentivizedPacket(message, metadata, options, callback);
        };
        IncentivizedPacketsForChannel: GrpcUnaryServiceInterface<QueryIncentivizedPacketsForChannelRequest, QueryIncentivizedPacketsForChannelResponse> = (message: QueryIncentivizedPacketsForChannelRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<QueryIncentivizedPacketsForChannelResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<QueryIncentivizedPacketsForChannelResponse>, callback?: grpc_1.requestCallback<QueryIncentivizedPacketsForChannelResponse>): grpc_1.ClientUnaryCall => {
            return super.IncentivizedPacketsForChannel(message, metadata, options, callback);
        };
        TotalRecvFees: GrpcUnaryServiceInterface<QueryTotalRecvFeesRequest, QueryTotalRecvFeesResponse> = (message: QueryTotalRecvFeesRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<QueryTotalRecvFeesResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<QueryTotalRecvFeesResponse>, callback?: grpc_1.requestCallback<QueryTotalRecvFeesResponse>): grpc_1.ClientUnaryCall => {
            return super.TotalRecvFees(message, metadata, options, callback);
        };
        TotalAckFees: GrpcUnaryServiceInterface<QueryTotalAckFeesRequest, QueryTotalAckFeesResponse> = (message: QueryTotalAckFeesRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<QueryTotalAckFeesResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<QueryTotalAckFeesResponse>, callback?: grpc_1.requestCallback<QueryTotalAckFeesResponse>): grpc_1.ClientUnaryCall => {
            return super.TotalAckFees(message, metadata, options, callback);
        };
        TotalTimeoutFees: GrpcUnaryServiceInterface<QueryTotalTimeoutFeesRequest, QueryTotalTimeoutFeesResponse> = (message: QueryTotalTimeoutFeesRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<QueryTotalTimeoutFeesResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<QueryTotalTimeoutFeesResponse>, callback?: grpc_1.requestCallback<QueryTotalTimeoutFeesResponse>): grpc_1.ClientUnaryCall => {
            return super.TotalTimeoutFees(message, metadata, options, callback);
        };
        Payee: GrpcUnaryServiceInterface<QueryPayeeRequest, QueryPayeeResponse> = (message: QueryPayeeRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<QueryPayeeResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<QueryPayeeResponse>, callback?: grpc_1.requestCallback<QueryPayeeResponse>): grpc_1.ClientUnaryCall => {
            return super.Payee(message, metadata, options, callback);
        };
        CounterpartyPayee: GrpcUnaryServiceInterface<QueryCounterpartyPayeeRequest, QueryCounterpartyPayeeResponse> = (message: QueryCounterpartyPayeeRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<QueryCounterpartyPayeeResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<QueryCounterpartyPayeeResponse>, callback?: grpc_1.requestCallback<QueryCounterpartyPayeeResponse>): grpc_1.ClientUnaryCall => {
            return super.CounterpartyPayee(message, metadata, options, callback);
        };
        FeeEnabledChannels: GrpcUnaryServiceInterface<QueryFeeEnabledChannelsRequest, QueryFeeEnabledChannelsResponse> = (message: QueryFeeEnabledChannelsRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<QueryFeeEnabledChannelsResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<QueryFeeEnabledChannelsResponse>, callback?: grpc_1.requestCallback<QueryFeeEnabledChannelsResponse>): grpc_1.ClientUnaryCall => {
            return super.FeeEnabledChannels(message, metadata, options, callback);
        };
        FeeEnabledChannel: GrpcUnaryServiceInterface<QueryFeeEnabledChannelRequest, QueryFeeEnabledChannelResponse> = (message: QueryFeeEnabledChannelRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<QueryFeeEnabledChannelResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<QueryFeeEnabledChannelResponse>, callback?: grpc_1.requestCallback<QueryFeeEnabledChannelResponse>): grpc_1.ClientUnaryCall => {
            return super.FeeEnabledChannel(message, metadata, options, callback);
        };
    }
}
