import { PageRequest, PageRequestAmino, PageResponse, PageResponseAmino } from "../../base/query/v1beta1/pagination";
import { Grant, GrantAmino } from "./feegrant";
import { BinaryReader, BinaryWriter } from "../../../binary";
import { DeepPartial } from "../../../helpers";
/**
 * QueryAllowanceRequest is the request type for the Query/Allowance RPC method.
 * @name QueryAllowanceRequest
 * @package cosmos.feegrant.v1beta1
 * @see proto type: cosmos.feegrant.v1beta1.QueryAllowanceRequest
 */
export interface QueryAllowanceRequest {
    /**
     * granter is the address of the user granting an allowance of their funds.
     */
    granter: string;
    /**
     * grantee is the address of the user being granted an allowance of another user's funds.
     */
    grantee: string;
}
export interface QueryAllowanceRequestProtoMsg {
    typeUrl: "/cosmos.feegrant.v1beta1.QueryAllowanceRequest";
    value: Uint8Array;
}
/**
 * QueryAllowanceRequest is the request type for the Query/Allowance RPC method.
 * @name QueryAllowanceRequestAmino
 * @package cosmos.feegrant.v1beta1
 * @see proto type: cosmos.feegrant.v1beta1.QueryAllowanceRequest
 */
export interface QueryAllowanceRequestAmino {
    /**
     * granter is the address of the user granting an allowance of their funds.
     */
    granter: string;
    /**
     * grantee is the address of the user being granted an allowance of another user's funds.
     */
    grantee: string;
}
export interface QueryAllowanceRequestAminoMsg {
    type: "cosmos-sdk/QueryAllowanceRequest";
    value: QueryAllowanceRequestAmino;
}
/**
 * QueryAllowanceResponse is the response type for the Query/Allowance RPC method.
 * @name QueryAllowanceResponse
 * @package cosmos.feegrant.v1beta1
 * @see proto type: cosmos.feegrant.v1beta1.QueryAllowanceResponse
 */
export interface QueryAllowanceResponse {
    /**
     * allowance is a allowance granted for grantee by granter.
     */
    allowance?: Grant;
}
export interface QueryAllowanceResponseProtoMsg {
    typeUrl: "/cosmos.feegrant.v1beta1.QueryAllowanceResponse";
    value: Uint8Array;
}
/**
 * QueryAllowanceResponse is the response type for the Query/Allowance RPC method.
 * @name QueryAllowanceResponseAmino
 * @package cosmos.feegrant.v1beta1
 * @see proto type: cosmos.feegrant.v1beta1.QueryAllowanceResponse
 */
export interface QueryAllowanceResponseAmino {
    /**
     * allowance is a allowance granted for grantee by granter.
     */
    allowance?: GrantAmino;
}
export interface QueryAllowanceResponseAminoMsg {
    type: "cosmos-sdk/QueryAllowanceResponse";
    value: QueryAllowanceResponseAmino;
}
/**
 * QueryAllowancesRequest is the request type for the Query/Allowances RPC method.
 * @name QueryAllowancesRequest
 * @package cosmos.feegrant.v1beta1
 * @see proto type: cosmos.feegrant.v1beta1.QueryAllowancesRequest
 */
export interface QueryAllowancesRequest {
    grantee: string;
    /**
     * pagination defines an pagination for the request.
     */
    pagination?: PageRequest;
}
export interface QueryAllowancesRequestProtoMsg {
    typeUrl: "/cosmos.feegrant.v1beta1.QueryAllowancesRequest";
    value: Uint8Array;
}
/**
 * QueryAllowancesRequest is the request type for the Query/Allowances RPC method.
 * @name QueryAllowancesRequestAmino
 * @package cosmos.feegrant.v1beta1
 * @see proto type: cosmos.feegrant.v1beta1.QueryAllowancesRequest
 */
export interface QueryAllowancesRequestAmino {
    grantee: string;
    /**
     * pagination defines an pagination for the request.
     */
    pagination?: PageRequestAmino;
}
export interface QueryAllowancesRequestAminoMsg {
    type: "cosmos-sdk/QueryAllowancesRequest";
    value: QueryAllowancesRequestAmino;
}
/**
 * QueryAllowancesResponse is the response type for the Query/Allowances RPC method.
 * @name QueryAllowancesResponse
 * @package cosmos.feegrant.v1beta1
 * @see proto type: cosmos.feegrant.v1beta1.QueryAllowancesResponse
 */
export interface QueryAllowancesResponse {
    /**
     * allowances are allowance's granted for grantee by granter.
     */
    allowances: Grant[];
    /**
     * pagination defines an pagination for the response.
     */
    pagination?: PageResponse;
}
export interface QueryAllowancesResponseProtoMsg {
    typeUrl: "/cosmos.feegrant.v1beta1.QueryAllowancesResponse";
    value: Uint8Array;
}
/**
 * QueryAllowancesResponse is the response type for the Query/Allowances RPC method.
 * @name QueryAllowancesResponseAmino
 * @package cosmos.feegrant.v1beta1
 * @see proto type: cosmos.feegrant.v1beta1.QueryAllowancesResponse
 */
export interface QueryAllowancesResponseAmino {
    /**
     * allowances are allowance's granted for grantee by granter.
     */
    allowances: GrantAmino[];
    /**
     * pagination defines an pagination for the response.
     */
    pagination?: PageResponseAmino;
}
export interface QueryAllowancesResponseAminoMsg {
    type: "cosmos-sdk/QueryAllowancesResponse";
    value: QueryAllowancesResponseAmino;
}
/**
 * QueryAllowancesByGranterRequest is the request type for the Query/AllowancesByGranter RPC method.
 * @name QueryAllowancesByGranterRequest
 * @package cosmos.feegrant.v1beta1
 * @see proto type: cosmos.feegrant.v1beta1.QueryAllowancesByGranterRequest
 */
export interface QueryAllowancesByGranterRequest {
    granter: string;
    /**
     * pagination defines an pagination for the request.
     */
    pagination?: PageRequest;
}
export interface QueryAllowancesByGranterRequestProtoMsg {
    typeUrl: "/cosmos.feegrant.v1beta1.QueryAllowancesByGranterRequest";
    value: Uint8Array;
}
/**
 * QueryAllowancesByGranterRequest is the request type for the Query/AllowancesByGranter RPC method.
 * @name QueryAllowancesByGranterRequestAmino
 * @package cosmos.feegrant.v1beta1
 * @see proto type: cosmos.feegrant.v1beta1.QueryAllowancesByGranterRequest
 */
export interface QueryAllowancesByGranterRequestAmino {
    granter: string;
    /**
     * pagination defines an pagination for the request.
     */
    pagination?: PageRequestAmino;
}
export interface QueryAllowancesByGranterRequestAminoMsg {
    type: "cosmos-sdk/QueryAllowancesByGranterRequest";
    value: QueryAllowancesByGranterRequestAmino;
}
/**
 * QueryAllowancesByGranterResponse is the response type for the Query/AllowancesByGranter RPC method.
 * @name QueryAllowancesByGranterResponse
 * @package cosmos.feegrant.v1beta1
 * @see proto type: cosmos.feegrant.v1beta1.QueryAllowancesByGranterResponse
 */
export interface QueryAllowancesByGranterResponse {
    /**
     * allowances that have been issued by the granter.
     */
    allowances: Grant[];
    /**
     * pagination defines an pagination for the response.
     */
    pagination?: PageResponse;
}
export interface QueryAllowancesByGranterResponseProtoMsg {
    typeUrl: "/cosmos.feegrant.v1beta1.QueryAllowancesByGranterResponse";
    value: Uint8Array;
}
/**
 * QueryAllowancesByGranterResponse is the response type for the Query/AllowancesByGranter RPC method.
 * @name QueryAllowancesByGranterResponseAmino
 * @package cosmos.feegrant.v1beta1
 * @see proto type: cosmos.feegrant.v1beta1.QueryAllowancesByGranterResponse
 */
export interface QueryAllowancesByGranterResponseAmino {
    /**
     * allowances that have been issued by the granter.
     */
    allowances: GrantAmino[];
    /**
     * pagination defines an pagination for the response.
     */
    pagination?: PageResponseAmino;
}
export interface QueryAllowancesByGranterResponseAminoMsg {
    type: "cosmos-sdk/QueryAllowancesByGranterResponse";
    value: QueryAllowancesByGranterResponseAmino;
}
/**
 * QueryAllowanceRequest is the request type for the Query/Allowance RPC method.
 * @name QueryAllowanceRequest
 * @package cosmos.feegrant.v1beta1
 * @see proto type: cosmos.feegrant.v1beta1.QueryAllowanceRequest
 */
export declare const QueryAllowanceRequest: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is QueryAllowanceRequest;
    isAmino(o: any): o is QueryAllowanceRequestAmino;
    encode(message: QueryAllowanceRequest, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): QueryAllowanceRequest;
    fromPartial(object: DeepPartial<QueryAllowanceRequest>): QueryAllowanceRequest;
    fromAmino(object: QueryAllowanceRequestAmino): QueryAllowanceRequest;
    toAmino(message: QueryAllowanceRequest): QueryAllowanceRequestAmino;
    fromAminoMsg(object: QueryAllowanceRequestAminoMsg): QueryAllowanceRequest;
    toAminoMsg(message: QueryAllowanceRequest): QueryAllowanceRequestAminoMsg;
    fromProtoMsg(message: QueryAllowanceRequestProtoMsg): QueryAllowanceRequest;
    toProto(message: QueryAllowanceRequest): Uint8Array;
    toProtoMsg(message: QueryAllowanceRequest): QueryAllowanceRequestProtoMsg;
    registerTypeUrl(): void;
};
/**
 * QueryAllowanceResponse is the response type for the Query/Allowance RPC method.
 * @name QueryAllowanceResponse
 * @package cosmos.feegrant.v1beta1
 * @see proto type: cosmos.feegrant.v1beta1.QueryAllowanceResponse
 */
export declare const QueryAllowanceResponse: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is QueryAllowanceResponse;
    isAmino(o: any): o is QueryAllowanceResponseAmino;
    encode(message: QueryAllowanceResponse, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): QueryAllowanceResponse;
    fromPartial(object: DeepPartial<QueryAllowanceResponse>): QueryAllowanceResponse;
    fromAmino(object: QueryAllowanceResponseAmino): QueryAllowanceResponse;
    toAmino(message: QueryAllowanceResponse): QueryAllowanceResponseAmino;
    fromAminoMsg(object: QueryAllowanceResponseAminoMsg): QueryAllowanceResponse;
    toAminoMsg(message: QueryAllowanceResponse): QueryAllowanceResponseAminoMsg;
    fromProtoMsg(message: QueryAllowanceResponseProtoMsg): QueryAllowanceResponse;
    toProto(message: QueryAllowanceResponse): Uint8Array;
    toProtoMsg(message: QueryAllowanceResponse): QueryAllowanceResponseProtoMsg;
    registerTypeUrl(): void;
};
/**
 * QueryAllowancesRequest is the request type for the Query/Allowances RPC method.
 * @name QueryAllowancesRequest
 * @package cosmos.feegrant.v1beta1
 * @see proto type: cosmos.feegrant.v1beta1.QueryAllowancesRequest
 */
export declare const QueryAllowancesRequest: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is QueryAllowancesRequest;
    isAmino(o: any): o is QueryAllowancesRequestAmino;
    encode(message: QueryAllowancesRequest, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): QueryAllowancesRequest;
    fromPartial(object: DeepPartial<QueryAllowancesRequest>): QueryAllowancesRequest;
    fromAmino(object: QueryAllowancesRequestAmino): QueryAllowancesRequest;
    toAmino(message: QueryAllowancesRequest): QueryAllowancesRequestAmino;
    fromAminoMsg(object: QueryAllowancesRequestAminoMsg): QueryAllowancesRequest;
    toAminoMsg(message: QueryAllowancesRequest): QueryAllowancesRequestAminoMsg;
    fromProtoMsg(message: QueryAllowancesRequestProtoMsg): QueryAllowancesRequest;
    toProto(message: QueryAllowancesRequest): Uint8Array;
    toProtoMsg(message: QueryAllowancesRequest): QueryAllowancesRequestProtoMsg;
    registerTypeUrl(): void;
};
/**
 * QueryAllowancesResponse is the response type for the Query/Allowances RPC method.
 * @name QueryAllowancesResponse
 * @package cosmos.feegrant.v1beta1
 * @see proto type: cosmos.feegrant.v1beta1.QueryAllowancesResponse
 */
export declare const QueryAllowancesResponse: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is QueryAllowancesResponse;
    isAmino(o: any): o is QueryAllowancesResponseAmino;
    encode(message: QueryAllowancesResponse, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): QueryAllowancesResponse;
    fromPartial(object: DeepPartial<QueryAllowancesResponse>): QueryAllowancesResponse;
    fromAmino(object: QueryAllowancesResponseAmino): QueryAllowancesResponse;
    toAmino(message: QueryAllowancesResponse): QueryAllowancesResponseAmino;
    fromAminoMsg(object: QueryAllowancesResponseAminoMsg): QueryAllowancesResponse;
    toAminoMsg(message: QueryAllowancesResponse): QueryAllowancesResponseAminoMsg;
    fromProtoMsg(message: QueryAllowancesResponseProtoMsg): QueryAllowancesResponse;
    toProto(message: QueryAllowancesResponse): Uint8Array;
    toProtoMsg(message: QueryAllowancesResponse): QueryAllowancesResponseProtoMsg;
    registerTypeUrl(): void;
};
/**
 * QueryAllowancesByGranterRequest is the request type for the Query/AllowancesByGranter RPC method.
 * @name QueryAllowancesByGranterRequest
 * @package cosmos.feegrant.v1beta1
 * @see proto type: cosmos.feegrant.v1beta1.QueryAllowancesByGranterRequest
 */
export declare const QueryAllowancesByGranterRequest: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is QueryAllowancesByGranterRequest;
    isAmino(o: any): o is QueryAllowancesByGranterRequestAmino;
    encode(message: QueryAllowancesByGranterRequest, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): QueryAllowancesByGranterRequest;
    fromPartial(object: DeepPartial<QueryAllowancesByGranterRequest>): QueryAllowancesByGranterRequest;
    fromAmino(object: QueryAllowancesByGranterRequestAmino): QueryAllowancesByGranterRequest;
    toAmino(message: QueryAllowancesByGranterRequest): QueryAllowancesByGranterRequestAmino;
    fromAminoMsg(object: QueryAllowancesByGranterRequestAminoMsg): QueryAllowancesByGranterRequest;
    toAminoMsg(message: QueryAllowancesByGranterRequest): QueryAllowancesByGranterRequestAminoMsg;
    fromProtoMsg(message: QueryAllowancesByGranterRequestProtoMsg): QueryAllowancesByGranterRequest;
    toProto(message: QueryAllowancesByGranterRequest): Uint8Array;
    toProtoMsg(message: QueryAllowancesByGranterRequest): QueryAllowancesByGranterRequestProtoMsg;
    registerTypeUrl(): void;
};
/**
 * QueryAllowancesByGranterResponse is the response type for the Query/AllowancesByGranter RPC method.
 * @name QueryAllowancesByGranterResponse
 * @package cosmos.feegrant.v1beta1
 * @see proto type: cosmos.feegrant.v1beta1.QueryAllowancesByGranterResponse
 */
export declare const QueryAllowancesByGranterResponse: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is QueryAllowancesByGranterResponse;
    isAmino(o: any): o is QueryAllowancesByGranterResponseAmino;
    encode(message: QueryAllowancesByGranterResponse, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): QueryAllowancesByGranterResponse;
    fromPartial(object: DeepPartial<QueryAllowancesByGranterResponse>): QueryAllowancesByGranterResponse;
    fromAmino(object: QueryAllowancesByGranterResponseAmino): QueryAllowancesByGranterResponse;
    toAmino(message: QueryAllowancesByGranterResponse): QueryAllowancesByGranterResponseAmino;
    fromAminoMsg(object: QueryAllowancesByGranterResponseAminoMsg): QueryAllowancesByGranterResponse;
    toAminoMsg(message: QueryAllowancesByGranterResponse): QueryAllowancesByGranterResponseAminoMsg;
    fromProtoMsg(message: QueryAllowancesByGranterResponseProtoMsg): QueryAllowancesByGranterResponse;
    toProto(message: QueryAllowancesByGranterResponse): Uint8Array;
    toProtoMsg(message: QueryAllowancesByGranterResponse): QueryAllowancesByGranterResponseProtoMsg;
    registerTypeUrl(): void;
};
