// package: cosmos.nft.v1beta1
// file: cosmos/nft/v1beta1/query.proto

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

import * as grpc from "grpc";
import * as cosmos_nft_v1beta1_query_pb from "../../../cosmos/nft/v1beta1/query_pb";
import * as cosmos_base_query_v1beta1_pagination_pb from "../../../cosmos/base/query/v1beta1/pagination_pb";
import * as cosmos_nft_v1beta1_nft_pb from "../../../cosmos/nft/v1beta1/nft_pb";

interface IQueryService extends grpc.ServiceDefinition<grpc.UntypedServiceImplementation> {
    balance: IQueryService_IBalance;
    owner: IQueryService_IOwner;
    supply: IQueryService_ISupply;
    nFTs: IQueryService_INFTs;
    nFT: IQueryService_INFT;
    class: IQueryService_IClass;
    classes: IQueryService_IClasses;
}

interface IQueryService_IBalance extends grpc.MethodDefinition<cosmos_nft_v1beta1_query_pb.QueryBalanceRequest, cosmos_nft_v1beta1_query_pb.QueryBalanceResponse> {
    path: "/cosmos.nft.v1beta1.Query/Balance";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<cosmos_nft_v1beta1_query_pb.QueryBalanceRequest>;
    requestDeserialize: grpc.deserialize<cosmos_nft_v1beta1_query_pb.QueryBalanceRequest>;
    responseSerialize: grpc.serialize<cosmos_nft_v1beta1_query_pb.QueryBalanceResponse>;
    responseDeserialize: grpc.deserialize<cosmos_nft_v1beta1_query_pb.QueryBalanceResponse>;
}
interface IQueryService_IOwner extends grpc.MethodDefinition<cosmos_nft_v1beta1_query_pb.QueryOwnerRequest, cosmos_nft_v1beta1_query_pb.QueryOwnerResponse> {
    path: "/cosmos.nft.v1beta1.Query/Owner";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<cosmos_nft_v1beta1_query_pb.QueryOwnerRequest>;
    requestDeserialize: grpc.deserialize<cosmos_nft_v1beta1_query_pb.QueryOwnerRequest>;
    responseSerialize: grpc.serialize<cosmos_nft_v1beta1_query_pb.QueryOwnerResponse>;
    responseDeserialize: grpc.deserialize<cosmos_nft_v1beta1_query_pb.QueryOwnerResponse>;
}
interface IQueryService_ISupply extends grpc.MethodDefinition<cosmos_nft_v1beta1_query_pb.QuerySupplyRequest, cosmos_nft_v1beta1_query_pb.QuerySupplyResponse> {
    path: "/cosmos.nft.v1beta1.Query/Supply";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<cosmos_nft_v1beta1_query_pb.QuerySupplyRequest>;
    requestDeserialize: grpc.deserialize<cosmos_nft_v1beta1_query_pb.QuerySupplyRequest>;
    responseSerialize: grpc.serialize<cosmos_nft_v1beta1_query_pb.QuerySupplyResponse>;
    responseDeserialize: grpc.deserialize<cosmos_nft_v1beta1_query_pb.QuerySupplyResponse>;
}
interface IQueryService_INFTs extends grpc.MethodDefinition<cosmos_nft_v1beta1_query_pb.QueryNFTsRequest, cosmos_nft_v1beta1_query_pb.QueryNFTsResponse> {
    path: "/cosmos.nft.v1beta1.Query/NFTs";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<cosmos_nft_v1beta1_query_pb.QueryNFTsRequest>;
    requestDeserialize: grpc.deserialize<cosmos_nft_v1beta1_query_pb.QueryNFTsRequest>;
    responseSerialize: grpc.serialize<cosmos_nft_v1beta1_query_pb.QueryNFTsResponse>;
    responseDeserialize: grpc.deserialize<cosmos_nft_v1beta1_query_pb.QueryNFTsResponse>;
}
interface IQueryService_INFT extends grpc.MethodDefinition<cosmos_nft_v1beta1_query_pb.QueryNFTRequest, cosmos_nft_v1beta1_query_pb.QueryNFTResponse> {
    path: "/cosmos.nft.v1beta1.Query/NFT";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<cosmos_nft_v1beta1_query_pb.QueryNFTRequest>;
    requestDeserialize: grpc.deserialize<cosmos_nft_v1beta1_query_pb.QueryNFTRequest>;
    responseSerialize: grpc.serialize<cosmos_nft_v1beta1_query_pb.QueryNFTResponse>;
    responseDeserialize: grpc.deserialize<cosmos_nft_v1beta1_query_pb.QueryNFTResponse>;
}
interface IQueryService_IClass extends grpc.MethodDefinition<cosmos_nft_v1beta1_query_pb.QueryClassRequest, cosmos_nft_v1beta1_query_pb.QueryClassResponse> {
    path: "/cosmos.nft.v1beta1.Query/Class";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<cosmos_nft_v1beta1_query_pb.QueryClassRequest>;
    requestDeserialize: grpc.deserialize<cosmos_nft_v1beta1_query_pb.QueryClassRequest>;
    responseSerialize: grpc.serialize<cosmos_nft_v1beta1_query_pb.QueryClassResponse>;
    responseDeserialize: grpc.deserialize<cosmos_nft_v1beta1_query_pb.QueryClassResponse>;
}
interface IQueryService_IClasses extends grpc.MethodDefinition<cosmos_nft_v1beta1_query_pb.QueryClassesRequest, cosmos_nft_v1beta1_query_pb.QueryClassesResponse> {
    path: "/cosmos.nft.v1beta1.Query/Classes";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<cosmos_nft_v1beta1_query_pb.QueryClassesRequest>;
    requestDeserialize: grpc.deserialize<cosmos_nft_v1beta1_query_pb.QueryClassesRequest>;
    responseSerialize: grpc.serialize<cosmos_nft_v1beta1_query_pb.QueryClassesResponse>;
    responseDeserialize: grpc.deserialize<cosmos_nft_v1beta1_query_pb.QueryClassesResponse>;
}

export const QueryService: IQueryService;

export interface IQueryServer {
    balance: grpc.handleUnaryCall<cosmos_nft_v1beta1_query_pb.QueryBalanceRequest, cosmos_nft_v1beta1_query_pb.QueryBalanceResponse>;
    owner: grpc.handleUnaryCall<cosmos_nft_v1beta1_query_pb.QueryOwnerRequest, cosmos_nft_v1beta1_query_pb.QueryOwnerResponse>;
    supply: grpc.handleUnaryCall<cosmos_nft_v1beta1_query_pb.QuerySupplyRequest, cosmos_nft_v1beta1_query_pb.QuerySupplyResponse>;
    nFTs: grpc.handleUnaryCall<cosmos_nft_v1beta1_query_pb.QueryNFTsRequest, cosmos_nft_v1beta1_query_pb.QueryNFTsResponse>;
    nFT: grpc.handleUnaryCall<cosmos_nft_v1beta1_query_pb.QueryNFTRequest, cosmos_nft_v1beta1_query_pb.QueryNFTResponse>;
    class: grpc.handleUnaryCall<cosmos_nft_v1beta1_query_pb.QueryClassRequest, cosmos_nft_v1beta1_query_pb.QueryClassResponse>;
    classes: grpc.handleUnaryCall<cosmos_nft_v1beta1_query_pb.QueryClassesRequest, cosmos_nft_v1beta1_query_pb.QueryClassesResponse>;
}

export interface IQueryClient {
    balance(request: cosmos_nft_v1beta1_query_pb.QueryBalanceRequest, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryBalanceResponse) => void): grpc.ClientUnaryCall;
    balance(request: cosmos_nft_v1beta1_query_pb.QueryBalanceRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryBalanceResponse) => void): grpc.ClientUnaryCall;
    balance(request: cosmos_nft_v1beta1_query_pb.QueryBalanceRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryBalanceResponse) => void): grpc.ClientUnaryCall;
    owner(request: cosmos_nft_v1beta1_query_pb.QueryOwnerRequest, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryOwnerResponse) => void): grpc.ClientUnaryCall;
    owner(request: cosmos_nft_v1beta1_query_pb.QueryOwnerRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryOwnerResponse) => void): grpc.ClientUnaryCall;
    owner(request: cosmos_nft_v1beta1_query_pb.QueryOwnerRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryOwnerResponse) => void): grpc.ClientUnaryCall;
    supply(request: cosmos_nft_v1beta1_query_pb.QuerySupplyRequest, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QuerySupplyResponse) => void): grpc.ClientUnaryCall;
    supply(request: cosmos_nft_v1beta1_query_pb.QuerySupplyRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QuerySupplyResponse) => void): grpc.ClientUnaryCall;
    supply(request: cosmos_nft_v1beta1_query_pb.QuerySupplyRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QuerySupplyResponse) => void): grpc.ClientUnaryCall;
    nFTs(request: cosmos_nft_v1beta1_query_pb.QueryNFTsRequest, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryNFTsResponse) => void): grpc.ClientUnaryCall;
    nFTs(request: cosmos_nft_v1beta1_query_pb.QueryNFTsRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryNFTsResponse) => void): grpc.ClientUnaryCall;
    nFTs(request: cosmos_nft_v1beta1_query_pb.QueryNFTsRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryNFTsResponse) => void): grpc.ClientUnaryCall;
    nFT(request: cosmos_nft_v1beta1_query_pb.QueryNFTRequest, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryNFTResponse) => void): grpc.ClientUnaryCall;
    nFT(request: cosmos_nft_v1beta1_query_pb.QueryNFTRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryNFTResponse) => void): grpc.ClientUnaryCall;
    nFT(request: cosmos_nft_v1beta1_query_pb.QueryNFTRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryNFTResponse) => void): grpc.ClientUnaryCall;
    class(request: cosmos_nft_v1beta1_query_pb.QueryClassRequest, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryClassResponse) => void): grpc.ClientUnaryCall;
    class(request: cosmos_nft_v1beta1_query_pb.QueryClassRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryClassResponse) => void): grpc.ClientUnaryCall;
    class(request: cosmos_nft_v1beta1_query_pb.QueryClassRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryClassResponse) => void): grpc.ClientUnaryCall;
    classes(request: cosmos_nft_v1beta1_query_pb.QueryClassesRequest, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryClassesResponse) => void): grpc.ClientUnaryCall;
    classes(request: cosmos_nft_v1beta1_query_pb.QueryClassesRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryClassesResponse) => void): grpc.ClientUnaryCall;
    classes(request: cosmos_nft_v1beta1_query_pb.QueryClassesRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryClassesResponse) => void): grpc.ClientUnaryCall;
}

export class QueryClient extends grpc.Client implements IQueryClient {
    constructor(address: string, credentials: grpc.ChannelCredentials, options?: object);
    public balance(request: cosmos_nft_v1beta1_query_pb.QueryBalanceRequest, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryBalanceResponse) => void): grpc.ClientUnaryCall;
    public balance(request: cosmos_nft_v1beta1_query_pb.QueryBalanceRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryBalanceResponse) => void): grpc.ClientUnaryCall;
    public balance(request: cosmos_nft_v1beta1_query_pb.QueryBalanceRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryBalanceResponse) => void): grpc.ClientUnaryCall;
    public owner(request: cosmos_nft_v1beta1_query_pb.QueryOwnerRequest, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryOwnerResponse) => void): grpc.ClientUnaryCall;
    public owner(request: cosmos_nft_v1beta1_query_pb.QueryOwnerRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryOwnerResponse) => void): grpc.ClientUnaryCall;
    public owner(request: cosmos_nft_v1beta1_query_pb.QueryOwnerRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryOwnerResponse) => void): grpc.ClientUnaryCall;
    public supply(request: cosmos_nft_v1beta1_query_pb.QuerySupplyRequest, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QuerySupplyResponse) => void): grpc.ClientUnaryCall;
    public supply(request: cosmos_nft_v1beta1_query_pb.QuerySupplyRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QuerySupplyResponse) => void): grpc.ClientUnaryCall;
    public supply(request: cosmos_nft_v1beta1_query_pb.QuerySupplyRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QuerySupplyResponse) => void): grpc.ClientUnaryCall;
    public nFTs(request: cosmos_nft_v1beta1_query_pb.QueryNFTsRequest, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryNFTsResponse) => void): grpc.ClientUnaryCall;
    public nFTs(request: cosmos_nft_v1beta1_query_pb.QueryNFTsRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryNFTsResponse) => void): grpc.ClientUnaryCall;
    public nFTs(request: cosmos_nft_v1beta1_query_pb.QueryNFTsRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryNFTsResponse) => void): grpc.ClientUnaryCall;
    public nFT(request: cosmos_nft_v1beta1_query_pb.QueryNFTRequest, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryNFTResponse) => void): grpc.ClientUnaryCall;
    public nFT(request: cosmos_nft_v1beta1_query_pb.QueryNFTRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryNFTResponse) => void): grpc.ClientUnaryCall;
    public nFT(request: cosmos_nft_v1beta1_query_pb.QueryNFTRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryNFTResponse) => void): grpc.ClientUnaryCall;
    public class(request: cosmos_nft_v1beta1_query_pb.QueryClassRequest, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryClassResponse) => void): grpc.ClientUnaryCall;
    public class(request: cosmos_nft_v1beta1_query_pb.QueryClassRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryClassResponse) => void): grpc.ClientUnaryCall;
    public class(request: cosmos_nft_v1beta1_query_pb.QueryClassRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryClassResponse) => void): grpc.ClientUnaryCall;
    public classes(request: cosmos_nft_v1beta1_query_pb.QueryClassesRequest, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryClassesResponse) => void): grpc.ClientUnaryCall;
    public classes(request: cosmos_nft_v1beta1_query_pb.QueryClassesRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryClassesResponse) => void): grpc.ClientUnaryCall;
    public classes(request: cosmos_nft_v1beta1_query_pb.QueryClassesRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_nft_v1beta1_query_pb.QueryClassesResponse) => void): grpc.ClientUnaryCall;
}
