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

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

import * as grpc from "grpc";
import * as cosmos_feegrant_v1beta1_query_pb from "../../../cosmos/feegrant/v1beta1/query_pb";
import * as cosmos_feegrant_v1beta1_feegrant_pb from "../../../cosmos/feegrant/v1beta1/feegrant_pb";
import * as cosmos_base_query_v1beta1_pagination_pb from "../../../cosmos/base/query/v1beta1/pagination_pb";
import * as cosmos_proto_cosmos_pb from "../../../cosmos_proto/cosmos_pb";

interface IQueryService extends grpc.ServiceDefinition<grpc.UntypedServiceImplementation> {
    allowance: IQueryService_IAllowance;
    allowances: IQueryService_IAllowances;
    allowancesByGranter: IQueryService_IAllowancesByGranter;
}

interface IQueryService_IAllowance extends grpc.MethodDefinition<cosmos_feegrant_v1beta1_query_pb.QueryAllowanceRequest, cosmos_feegrant_v1beta1_query_pb.QueryAllowanceResponse> {
    path: "/cosmos.feegrant.v1beta1.Query/Allowance";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<cosmos_feegrant_v1beta1_query_pb.QueryAllowanceRequest>;
    requestDeserialize: grpc.deserialize<cosmos_feegrant_v1beta1_query_pb.QueryAllowanceRequest>;
    responseSerialize: grpc.serialize<cosmos_feegrant_v1beta1_query_pb.QueryAllowanceResponse>;
    responseDeserialize: grpc.deserialize<cosmos_feegrant_v1beta1_query_pb.QueryAllowanceResponse>;
}
interface IQueryService_IAllowances extends grpc.MethodDefinition<cosmos_feegrant_v1beta1_query_pb.QueryAllowancesRequest, cosmos_feegrant_v1beta1_query_pb.QueryAllowancesResponse> {
    path: "/cosmos.feegrant.v1beta1.Query/Allowances";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<cosmos_feegrant_v1beta1_query_pb.QueryAllowancesRequest>;
    requestDeserialize: grpc.deserialize<cosmos_feegrant_v1beta1_query_pb.QueryAllowancesRequest>;
    responseSerialize: grpc.serialize<cosmos_feegrant_v1beta1_query_pb.QueryAllowancesResponse>;
    responseDeserialize: grpc.deserialize<cosmos_feegrant_v1beta1_query_pb.QueryAllowancesResponse>;
}
interface IQueryService_IAllowancesByGranter extends grpc.MethodDefinition<cosmos_feegrant_v1beta1_query_pb.QueryAllowancesByGranterRequest, cosmos_feegrant_v1beta1_query_pb.QueryAllowancesByGranterResponse> {
    path: "/cosmos.feegrant.v1beta1.Query/AllowancesByGranter";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<cosmos_feegrant_v1beta1_query_pb.QueryAllowancesByGranterRequest>;
    requestDeserialize: grpc.deserialize<cosmos_feegrant_v1beta1_query_pb.QueryAllowancesByGranterRequest>;
    responseSerialize: grpc.serialize<cosmos_feegrant_v1beta1_query_pb.QueryAllowancesByGranterResponse>;
    responseDeserialize: grpc.deserialize<cosmos_feegrant_v1beta1_query_pb.QueryAllowancesByGranterResponse>;
}

export const QueryService: IQueryService;

export interface IQueryServer {
    allowance: grpc.handleUnaryCall<cosmos_feegrant_v1beta1_query_pb.QueryAllowanceRequest, cosmos_feegrant_v1beta1_query_pb.QueryAllowanceResponse>;
    allowances: grpc.handleUnaryCall<cosmos_feegrant_v1beta1_query_pb.QueryAllowancesRequest, cosmos_feegrant_v1beta1_query_pb.QueryAllowancesResponse>;
    allowancesByGranter: grpc.handleUnaryCall<cosmos_feegrant_v1beta1_query_pb.QueryAllowancesByGranterRequest, cosmos_feegrant_v1beta1_query_pb.QueryAllowancesByGranterResponse>;
}

export interface IQueryClient {
    allowance(request: cosmos_feegrant_v1beta1_query_pb.QueryAllowanceRequest, callback: (error: grpc.ServiceError | null, response: cosmos_feegrant_v1beta1_query_pb.QueryAllowanceResponse) => void): grpc.ClientUnaryCall;
    allowance(request: cosmos_feegrant_v1beta1_query_pb.QueryAllowanceRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_feegrant_v1beta1_query_pb.QueryAllowanceResponse) => void): grpc.ClientUnaryCall;
    allowance(request: cosmos_feegrant_v1beta1_query_pb.QueryAllowanceRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_feegrant_v1beta1_query_pb.QueryAllowanceResponse) => void): grpc.ClientUnaryCall;
    allowances(request: cosmos_feegrant_v1beta1_query_pb.QueryAllowancesRequest, callback: (error: grpc.ServiceError | null, response: cosmos_feegrant_v1beta1_query_pb.QueryAllowancesResponse) => void): grpc.ClientUnaryCall;
    allowances(request: cosmos_feegrant_v1beta1_query_pb.QueryAllowancesRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_feegrant_v1beta1_query_pb.QueryAllowancesResponse) => void): grpc.ClientUnaryCall;
    allowances(request: cosmos_feegrant_v1beta1_query_pb.QueryAllowancesRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_feegrant_v1beta1_query_pb.QueryAllowancesResponse) => void): grpc.ClientUnaryCall;
    allowancesByGranter(request: cosmos_feegrant_v1beta1_query_pb.QueryAllowancesByGranterRequest, callback: (error: grpc.ServiceError | null, response: cosmos_feegrant_v1beta1_query_pb.QueryAllowancesByGranterResponse) => void): grpc.ClientUnaryCall;
    allowancesByGranter(request: cosmos_feegrant_v1beta1_query_pb.QueryAllowancesByGranterRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_feegrant_v1beta1_query_pb.QueryAllowancesByGranterResponse) => void): grpc.ClientUnaryCall;
    allowancesByGranter(request: cosmos_feegrant_v1beta1_query_pb.QueryAllowancesByGranterRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_feegrant_v1beta1_query_pb.QueryAllowancesByGranterResponse) => void): grpc.ClientUnaryCall;
}

export class QueryClient extends grpc.Client implements IQueryClient {
    constructor(address: string, credentials: grpc.ChannelCredentials, options?: object);
    public allowance(request: cosmos_feegrant_v1beta1_query_pb.QueryAllowanceRequest, callback: (error: grpc.ServiceError | null, response: cosmos_feegrant_v1beta1_query_pb.QueryAllowanceResponse) => void): grpc.ClientUnaryCall;
    public allowance(request: cosmos_feegrant_v1beta1_query_pb.QueryAllowanceRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_feegrant_v1beta1_query_pb.QueryAllowanceResponse) => void): grpc.ClientUnaryCall;
    public allowance(request: cosmos_feegrant_v1beta1_query_pb.QueryAllowanceRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_feegrant_v1beta1_query_pb.QueryAllowanceResponse) => void): grpc.ClientUnaryCall;
    public allowances(request: cosmos_feegrant_v1beta1_query_pb.QueryAllowancesRequest, callback: (error: grpc.ServiceError | null, response: cosmos_feegrant_v1beta1_query_pb.QueryAllowancesResponse) => void): grpc.ClientUnaryCall;
    public allowances(request: cosmos_feegrant_v1beta1_query_pb.QueryAllowancesRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_feegrant_v1beta1_query_pb.QueryAllowancesResponse) => void): grpc.ClientUnaryCall;
    public allowances(request: cosmos_feegrant_v1beta1_query_pb.QueryAllowancesRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_feegrant_v1beta1_query_pb.QueryAllowancesResponse) => void): grpc.ClientUnaryCall;
    public allowancesByGranter(request: cosmos_feegrant_v1beta1_query_pb.QueryAllowancesByGranterRequest, callback: (error: grpc.ServiceError | null, response: cosmos_feegrant_v1beta1_query_pb.QueryAllowancesByGranterResponse) => void): grpc.ClientUnaryCall;
    public allowancesByGranter(request: cosmos_feegrant_v1beta1_query_pb.QueryAllowancesByGranterRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_feegrant_v1beta1_query_pb.QueryAllowancesByGranterResponse) => void): grpc.ClientUnaryCall;
    public allowancesByGranter(request: cosmos_feegrant_v1beta1_query_pb.QueryAllowancesByGranterRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_feegrant_v1beta1_query_pb.QueryAllowancesByGranterResponse) => void): grpc.ClientUnaryCall;
}
