import { BinaryReader, BinaryWriter } from "../../../../binary";
import { DeepPartial } from "../../../../helpers";
/**
 * ListAllInterfacesRequest is the request type of the ListAllInterfaces RPC.
 * @name ListAllInterfacesRequest
 * @package cosmos.base.reflection.v1beta1
 * @see proto type: cosmos.base.reflection.v1beta1.ListAllInterfacesRequest
 */
export interface ListAllInterfacesRequest {
}
export interface ListAllInterfacesRequestProtoMsg {
    typeUrl: "/cosmos.base.reflection.v1beta1.ListAllInterfacesRequest";
    value: Uint8Array;
}
/**
 * ListAllInterfacesRequest is the request type of the ListAllInterfaces RPC.
 * @name ListAllInterfacesRequestAmino
 * @package cosmos.base.reflection.v1beta1
 * @see proto type: cosmos.base.reflection.v1beta1.ListAllInterfacesRequest
 */
export interface ListAllInterfacesRequestAmino {
}
export interface ListAllInterfacesRequestAminoMsg {
    type: "cosmos-sdk/ListAllInterfacesRequest";
    value: ListAllInterfacesRequestAmino;
}
/**
 * ListAllInterfacesResponse is the response type of the ListAllInterfaces RPC.
 * @name ListAllInterfacesResponse
 * @package cosmos.base.reflection.v1beta1
 * @see proto type: cosmos.base.reflection.v1beta1.ListAllInterfacesResponse
 */
export interface ListAllInterfacesResponse {
    /**
     * interface_names is an array of all the registered interfaces.
     */
    interfaceNames: string[];
}
export interface ListAllInterfacesResponseProtoMsg {
    typeUrl: "/cosmos.base.reflection.v1beta1.ListAllInterfacesResponse";
    value: Uint8Array;
}
/**
 * ListAllInterfacesResponse is the response type of the ListAllInterfaces RPC.
 * @name ListAllInterfacesResponseAmino
 * @package cosmos.base.reflection.v1beta1
 * @see proto type: cosmos.base.reflection.v1beta1.ListAllInterfacesResponse
 */
export interface ListAllInterfacesResponseAmino {
    /**
     * interface_names is an array of all the registered interfaces.
     */
    interface_names: string[];
}
export interface ListAllInterfacesResponseAminoMsg {
    type: "cosmos-sdk/ListAllInterfacesResponse";
    value: ListAllInterfacesResponseAmino;
}
/**
 * ListImplementationsRequest is the request type of the ListImplementations
 * RPC.
 * @name ListImplementationsRequest
 * @package cosmos.base.reflection.v1beta1
 * @see proto type: cosmos.base.reflection.v1beta1.ListImplementationsRequest
 */
export interface ListImplementationsRequest {
    /**
     * interface_name defines the interface to query the implementations for.
     */
    interfaceName: string;
}
export interface ListImplementationsRequestProtoMsg {
    typeUrl: "/cosmos.base.reflection.v1beta1.ListImplementationsRequest";
    value: Uint8Array;
}
/**
 * ListImplementationsRequest is the request type of the ListImplementations
 * RPC.
 * @name ListImplementationsRequestAmino
 * @package cosmos.base.reflection.v1beta1
 * @see proto type: cosmos.base.reflection.v1beta1.ListImplementationsRequest
 */
export interface ListImplementationsRequestAmino {
    /**
     * interface_name defines the interface to query the implementations for.
     */
    interface_name: string;
}
export interface ListImplementationsRequestAminoMsg {
    type: "cosmos-sdk/ListImplementationsRequest";
    value: ListImplementationsRequestAmino;
}
/**
 * ListImplementationsResponse is the response type of the ListImplementations
 * RPC.
 * @name ListImplementationsResponse
 * @package cosmos.base.reflection.v1beta1
 * @see proto type: cosmos.base.reflection.v1beta1.ListImplementationsResponse
 */
export interface ListImplementationsResponse {
    implementationMessageNames: string[];
}
export interface ListImplementationsResponseProtoMsg {
    typeUrl: "/cosmos.base.reflection.v1beta1.ListImplementationsResponse";
    value: Uint8Array;
}
/**
 * ListImplementationsResponse is the response type of the ListImplementations
 * RPC.
 * @name ListImplementationsResponseAmino
 * @package cosmos.base.reflection.v1beta1
 * @see proto type: cosmos.base.reflection.v1beta1.ListImplementationsResponse
 */
export interface ListImplementationsResponseAmino {
    implementation_message_names: string[];
}
export interface ListImplementationsResponseAminoMsg {
    type: "cosmos-sdk/ListImplementationsResponse";
    value: ListImplementationsResponseAmino;
}
/**
 * ListAllInterfacesRequest is the request type of the ListAllInterfaces RPC.
 * @name ListAllInterfacesRequest
 * @package cosmos.base.reflection.v1beta1
 * @see proto type: cosmos.base.reflection.v1beta1.ListAllInterfacesRequest
 */
export declare const ListAllInterfacesRequest: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is ListAllInterfacesRequest;
    isAmino(o: any): o is ListAllInterfacesRequestAmino;
    encode(_: ListAllInterfacesRequest, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): ListAllInterfacesRequest;
    fromPartial(_: DeepPartial<ListAllInterfacesRequest>): ListAllInterfacesRequest;
    fromAmino(_: ListAllInterfacesRequestAmino): ListAllInterfacesRequest;
    toAmino(_: ListAllInterfacesRequest): ListAllInterfacesRequestAmino;
    fromAminoMsg(object: ListAllInterfacesRequestAminoMsg): ListAllInterfacesRequest;
    toAminoMsg(message: ListAllInterfacesRequest): ListAllInterfacesRequestAminoMsg;
    fromProtoMsg(message: ListAllInterfacesRequestProtoMsg): ListAllInterfacesRequest;
    toProto(message: ListAllInterfacesRequest): Uint8Array;
    toProtoMsg(message: ListAllInterfacesRequest): ListAllInterfacesRequestProtoMsg;
    registerTypeUrl(): void;
};
/**
 * ListAllInterfacesResponse is the response type of the ListAllInterfaces RPC.
 * @name ListAllInterfacesResponse
 * @package cosmos.base.reflection.v1beta1
 * @see proto type: cosmos.base.reflection.v1beta1.ListAllInterfacesResponse
 */
export declare const ListAllInterfacesResponse: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is ListAllInterfacesResponse;
    isAmino(o: any): o is ListAllInterfacesResponseAmino;
    encode(message: ListAllInterfacesResponse, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): ListAllInterfacesResponse;
    fromPartial(object: DeepPartial<ListAllInterfacesResponse>): ListAllInterfacesResponse;
    fromAmino(object: ListAllInterfacesResponseAmino): ListAllInterfacesResponse;
    toAmino(message: ListAllInterfacesResponse): ListAllInterfacesResponseAmino;
    fromAminoMsg(object: ListAllInterfacesResponseAminoMsg): ListAllInterfacesResponse;
    toAminoMsg(message: ListAllInterfacesResponse): ListAllInterfacesResponseAminoMsg;
    fromProtoMsg(message: ListAllInterfacesResponseProtoMsg): ListAllInterfacesResponse;
    toProto(message: ListAllInterfacesResponse): Uint8Array;
    toProtoMsg(message: ListAllInterfacesResponse): ListAllInterfacesResponseProtoMsg;
    registerTypeUrl(): void;
};
/**
 * ListImplementationsRequest is the request type of the ListImplementations
 * RPC.
 * @name ListImplementationsRequest
 * @package cosmos.base.reflection.v1beta1
 * @see proto type: cosmos.base.reflection.v1beta1.ListImplementationsRequest
 */
export declare const ListImplementationsRequest: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is ListImplementationsRequest;
    isAmino(o: any): o is ListImplementationsRequestAmino;
    encode(message: ListImplementationsRequest, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): ListImplementationsRequest;
    fromPartial(object: DeepPartial<ListImplementationsRequest>): ListImplementationsRequest;
    fromAmino(object: ListImplementationsRequestAmino): ListImplementationsRequest;
    toAmino(message: ListImplementationsRequest): ListImplementationsRequestAmino;
    fromAminoMsg(object: ListImplementationsRequestAminoMsg): ListImplementationsRequest;
    toAminoMsg(message: ListImplementationsRequest): ListImplementationsRequestAminoMsg;
    fromProtoMsg(message: ListImplementationsRequestProtoMsg): ListImplementationsRequest;
    toProto(message: ListImplementationsRequest): Uint8Array;
    toProtoMsg(message: ListImplementationsRequest): ListImplementationsRequestProtoMsg;
    registerTypeUrl(): void;
};
/**
 * ListImplementationsResponse is the response type of the ListImplementations
 * RPC.
 * @name ListImplementationsResponse
 * @package cosmos.base.reflection.v1beta1
 * @see proto type: cosmos.base.reflection.v1beta1.ListImplementationsResponse
 */
export declare const ListImplementationsResponse: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is ListImplementationsResponse;
    isAmino(o: any): o is ListImplementationsResponseAmino;
    encode(message: ListImplementationsResponse, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): ListImplementationsResponse;
    fromPartial(object: DeepPartial<ListImplementationsResponse>): ListImplementationsResponse;
    fromAmino(object: ListImplementationsResponseAmino): ListImplementationsResponse;
    toAmino(message: ListImplementationsResponse): ListImplementationsResponseAmino;
    fromAminoMsg(object: ListImplementationsResponseAminoMsg): ListImplementationsResponse;
    toAminoMsg(message: ListImplementationsResponse): ListImplementationsResponseAminoMsg;
    fromProtoMsg(message: ListImplementationsResponseProtoMsg): ListImplementationsResponse;
    toProto(message: ListImplementationsResponse): Uint8Array;
    toProtoMsg(message: ListImplementationsResponse): ListImplementationsResponseProtoMsg;
    registerTypeUrl(): void;
};
