import { PageRequest, PageRequestAmino, PageResponse, PageResponseAmino } from "../../../../cosmos/base/query/v1beta1/pagination";
import { Denom, DenomAmino } from "./token";
import { BinaryReader, BinaryWriter } from "../../../../binary";
import { DeepPartial } from "../../../../helpers";
/**
 * QueryDenomRequest is the request type for the Query/Denom RPC
 * method
 * @name QueryDenomRequest
 * @package ibc.applications.transfer.v2
 * @see proto type: ibc.applications.transfer.v2.QueryDenomRequest
 */
export interface QueryDenomRequest {
    /**
     * hash (in hex format) or denom (full denom with ibc prefix) of the on chain denomination.
     */
    hash: string;
}
export interface QueryDenomRequestProtoMsg {
    typeUrl: "/ibc.applications.transfer.v2.QueryDenomRequest";
    value: Uint8Array;
}
/**
 * QueryDenomRequest is the request type for the Query/Denom RPC
 * method
 * @name QueryDenomRequestAmino
 * @package ibc.applications.transfer.v2
 * @see proto type: ibc.applications.transfer.v2.QueryDenomRequest
 */
export interface QueryDenomRequestAmino {
    /**
     * hash (in hex format) or denom (full denom with ibc prefix) of the on chain denomination.
     */
    hash: string;
}
export interface QueryDenomRequestAminoMsg {
    type: "cosmos-sdk/QueryDenomRequest";
    value: QueryDenomRequestAmino;
}
/**
 * QueryDenomResponse is the response type for the Query/Denom RPC
 * method.
 * @name QueryDenomResponse
 * @package ibc.applications.transfer.v2
 * @see proto type: ibc.applications.transfer.v2.QueryDenomResponse
 */
export interface QueryDenomResponse {
    /**
     * denom returns the requested denomination.
     */
    denom?: Denom;
}
export interface QueryDenomResponseProtoMsg {
    typeUrl: "/ibc.applications.transfer.v2.QueryDenomResponse";
    value: Uint8Array;
}
/**
 * QueryDenomResponse is the response type for the Query/Denom RPC
 * method.
 * @name QueryDenomResponseAmino
 * @package ibc.applications.transfer.v2
 * @see proto type: ibc.applications.transfer.v2.QueryDenomResponse
 */
export interface QueryDenomResponseAmino {
    /**
     * denom returns the requested denomination.
     */
    denom?: DenomAmino;
}
export interface QueryDenomResponseAminoMsg {
    type: "cosmos-sdk/QueryDenomResponse";
    value: QueryDenomResponseAmino;
}
/**
 * QueryDenomsRequest is the request type for the Query/Denoms RPC
 * method
 * @name QueryDenomsRequest
 * @package ibc.applications.transfer.v2
 * @see proto type: ibc.applications.transfer.v2.QueryDenomsRequest
 */
export interface QueryDenomsRequest {
    /**
     * pagination defines an optional pagination for the request.
     */
    pagination?: PageRequest;
}
export interface QueryDenomsRequestProtoMsg {
    typeUrl: "/ibc.applications.transfer.v2.QueryDenomsRequest";
    value: Uint8Array;
}
/**
 * QueryDenomsRequest is the request type for the Query/Denoms RPC
 * method
 * @name QueryDenomsRequestAmino
 * @package ibc.applications.transfer.v2
 * @see proto type: ibc.applications.transfer.v2.QueryDenomsRequest
 */
export interface QueryDenomsRequestAmino {
    /**
     * pagination defines an optional pagination for the request.
     */
    pagination?: PageRequestAmino;
}
export interface QueryDenomsRequestAminoMsg {
    type: "cosmos-sdk/QueryDenomsRequest";
    value: QueryDenomsRequestAmino;
}
/**
 * QueryDenomsResponse is the response type for the Query/Denoms RPC
 * method.
 * @name QueryDenomsResponse
 * @package ibc.applications.transfer.v2
 * @see proto type: ibc.applications.transfer.v2.QueryDenomsResponse
 */
export interface QueryDenomsResponse {
    /**
     * denoms returns all denominations.
     */
    denoms: Denom[];
    /**
     * pagination defines the pagination in the response.
     */
    pagination?: PageResponse;
}
export interface QueryDenomsResponseProtoMsg {
    typeUrl: "/ibc.applications.transfer.v2.QueryDenomsResponse";
    value: Uint8Array;
}
/**
 * QueryDenomsResponse is the response type for the Query/Denoms RPC
 * method.
 * @name QueryDenomsResponseAmino
 * @package ibc.applications.transfer.v2
 * @see proto type: ibc.applications.transfer.v2.QueryDenomsResponse
 */
export interface QueryDenomsResponseAmino {
    /**
     * denoms returns all denominations.
     */
    denoms: DenomAmino[];
    /**
     * pagination defines the pagination in the response.
     */
    pagination?: PageResponseAmino;
}
export interface QueryDenomsResponseAminoMsg {
    type: "cosmos-sdk/QueryDenomsResponse";
    value: QueryDenomsResponseAmino;
}
/**
 * QueryDenomRequest is the request type for the Query/Denom RPC
 * method
 * @name QueryDenomRequest
 * @package ibc.applications.transfer.v2
 * @see proto type: ibc.applications.transfer.v2.QueryDenomRequest
 */
export declare const QueryDenomRequest: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is QueryDenomRequest;
    isAmino(o: any): o is QueryDenomRequestAmino;
    encode(message: QueryDenomRequest, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): QueryDenomRequest;
    fromPartial(object: DeepPartial<QueryDenomRequest>): QueryDenomRequest;
    fromAmino(object: QueryDenomRequestAmino): QueryDenomRequest;
    toAmino(message: QueryDenomRequest): QueryDenomRequestAmino;
    fromAminoMsg(object: QueryDenomRequestAminoMsg): QueryDenomRequest;
    toAminoMsg(message: QueryDenomRequest): QueryDenomRequestAminoMsg;
    fromProtoMsg(message: QueryDenomRequestProtoMsg): QueryDenomRequest;
    toProto(message: QueryDenomRequest): Uint8Array;
    toProtoMsg(message: QueryDenomRequest): QueryDenomRequestProtoMsg;
    registerTypeUrl(): void;
};
/**
 * QueryDenomResponse is the response type for the Query/Denom RPC
 * method.
 * @name QueryDenomResponse
 * @package ibc.applications.transfer.v2
 * @see proto type: ibc.applications.transfer.v2.QueryDenomResponse
 */
export declare const QueryDenomResponse: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is QueryDenomResponse;
    isAmino(o: any): o is QueryDenomResponseAmino;
    encode(message: QueryDenomResponse, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): QueryDenomResponse;
    fromPartial(object: DeepPartial<QueryDenomResponse>): QueryDenomResponse;
    fromAmino(object: QueryDenomResponseAmino): QueryDenomResponse;
    toAmino(message: QueryDenomResponse): QueryDenomResponseAmino;
    fromAminoMsg(object: QueryDenomResponseAminoMsg): QueryDenomResponse;
    toAminoMsg(message: QueryDenomResponse): QueryDenomResponseAminoMsg;
    fromProtoMsg(message: QueryDenomResponseProtoMsg): QueryDenomResponse;
    toProto(message: QueryDenomResponse): Uint8Array;
    toProtoMsg(message: QueryDenomResponse): QueryDenomResponseProtoMsg;
    registerTypeUrl(): void;
};
/**
 * QueryDenomsRequest is the request type for the Query/Denoms RPC
 * method
 * @name QueryDenomsRequest
 * @package ibc.applications.transfer.v2
 * @see proto type: ibc.applications.transfer.v2.QueryDenomsRequest
 */
export declare const QueryDenomsRequest: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is QueryDenomsRequest;
    isAmino(o: any): o is QueryDenomsRequestAmino;
    encode(message: QueryDenomsRequest, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): QueryDenomsRequest;
    fromPartial(object: DeepPartial<QueryDenomsRequest>): QueryDenomsRequest;
    fromAmino(object: QueryDenomsRequestAmino): QueryDenomsRequest;
    toAmino(message: QueryDenomsRequest): QueryDenomsRequestAmino;
    fromAminoMsg(object: QueryDenomsRequestAminoMsg): QueryDenomsRequest;
    toAminoMsg(message: QueryDenomsRequest): QueryDenomsRequestAminoMsg;
    fromProtoMsg(message: QueryDenomsRequestProtoMsg): QueryDenomsRequest;
    toProto(message: QueryDenomsRequest): Uint8Array;
    toProtoMsg(message: QueryDenomsRequest): QueryDenomsRequestProtoMsg;
    registerTypeUrl(): void;
};
/**
 * QueryDenomsResponse is the response type for the Query/Denoms RPC
 * method.
 * @name QueryDenomsResponse
 * @package ibc.applications.transfer.v2
 * @see proto type: ibc.applications.transfer.v2.QueryDenomsResponse
 */
export declare const QueryDenomsResponse: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is QueryDenomsResponse;
    isAmino(o: any): o is QueryDenomsResponseAmino;
    encode(message: QueryDenomsResponse, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): QueryDenomsResponse;
    fromPartial(object: DeepPartial<QueryDenomsResponse>): QueryDenomsResponse;
    fromAmino(object: QueryDenomsResponseAmino): QueryDenomsResponse;
    toAmino(message: QueryDenomsResponse): QueryDenomsResponseAmino;
    fromAminoMsg(object: QueryDenomsResponseAminoMsg): QueryDenomsResponse;
    toAminoMsg(message: QueryDenomsResponse): QueryDenomsResponseAminoMsg;
    fromProtoMsg(message: QueryDenomsResponseProtoMsg): QueryDenomsResponse;
    toProto(message: QueryDenomsResponse): Uint8Array;
    toProtoMsg(message: QueryDenomsResponse): QueryDenomsResponseProtoMsg;
    registerTypeUrl(): void;
};
