import Long from 'long'; import _m0 from 'protobufjs/minimal'; export declare const protobufPackage = "cosmos.base.reflection.v1beta1"; /** ListAllInterfacesRequest is the request type of the ListAllInterfaces RPC. */ export interface ListAllInterfacesRequest { $type: 'cosmos.base.reflection.v1beta1.ListAllInterfacesRequest'; } /** ListAllInterfacesResponse is the response type of the ListAllInterfaces RPC. */ export interface ListAllInterfacesResponse { $type: 'cosmos.base.reflection.v1beta1.ListAllInterfacesResponse'; /** interface_names is an array of all the registered interfaces. */ interfaceNames: string[]; } /** * ListImplementationsRequest is the request type of the ListImplementations * RPC. */ export interface ListImplementationsRequest { $type: 'cosmos.base.reflection.v1beta1.ListImplementationsRequest'; /** interface_name defines the interface to query the implementations for. */ interfaceName: string; } /** * ListImplementationsResponse is the response type of the ListImplementations * RPC. */ export interface ListImplementationsResponse { $type: 'cosmos.base.reflection.v1beta1.ListImplementationsResponse'; implementationMessageNames: string[]; } export declare const ListAllInterfacesRequest: { $type: "cosmos.base.reflection.v1beta1.ListAllInterfacesRequest"; encode(_: ListAllInterfacesRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ListAllInterfacesRequest; fromJSON(_: any): ListAllInterfacesRequest; toJSON(_: ListAllInterfacesRequest): unknown; fromPartial]: never; }>(_: I): ListAllInterfacesRequest; }; export declare const ListAllInterfacesResponse: { $type: "cosmos.base.reflection.v1beta1.ListAllInterfacesResponse"; encode(message: ListAllInterfacesResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ListAllInterfacesResponse; fromJSON(object: any): ListAllInterfacesResponse; toJSON(message: ListAllInterfacesResponse): unknown; fromPartial]: never; }) | undefined; } & { [K_1 in Exclude]: never; }>(object: I): ListAllInterfacesResponse; }; export declare const ListImplementationsRequest: { $type: "cosmos.base.reflection.v1beta1.ListImplementationsRequest"; encode(message: ListImplementationsRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ListImplementationsRequest; fromJSON(object: any): ListImplementationsRequest; toJSON(message: ListImplementationsRequest): unknown; fromPartial]: never; }>(object: I): ListImplementationsRequest; }; export declare const ListImplementationsResponse: { $type: "cosmos.base.reflection.v1beta1.ListImplementationsResponse"; encode(message: ListImplementationsResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ListImplementationsResponse; fromJSON(object: any): ListImplementationsResponse; toJSON(message: ListImplementationsResponse): unknown; fromPartial]: never; }) | undefined; } & { [K_1 in Exclude]: never; }>(object: I): ListImplementationsResponse; }; /** ReflectionService defines a service for interface reflection. */ export interface ReflectionService { /** * ListAllInterfaces lists all the interfaces registered in the interface * registry. */ ListAllInterfaces(request: ListAllInterfacesRequest): Promise; /** * ListImplementations list all the concrete types that implement a given * interface. */ ListImplementations(request: ListImplementationsRequest): Promise; } export declare class ReflectionServiceClientImpl implements ReflectionService { private readonly rpc; constructor(rpc: Rpc); ListAllInterfaces(request: ListAllInterfacesRequest): Promise; ListImplementations(request: ListImplementationsRequest): Promise; } interface Rpc { request(service: string, method: string, data: Uint8Array): Promise; } declare type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export declare type DeepPartial = T extends Builtin ? T : T extends Long ? string | number | Long : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in Exclude]?: DeepPartial; } : Partial; declare type KeysOfUnion = T extends T ? keyof T : never; export declare type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact; } & { [K in Exclude | '$type'>]: never; }; export {};