/** @packageDocumentation * @module RpcInterface */ import { RpcRoutingToken } from "./RpcRoutingToken"; import { RpcInterface, RpcInterfaceDefinition, RpcInterfaceImplementation } from "../../RpcInterface"; import { RpcInterfaceEndpoints } from "../../RpcManager"; /** @internal */ export declare const REGISTRY: unique symbol; /** @internal */ export declare const OPERATION: unique symbol; /** @internal */ export declare const POLICY: unique symbol; /** @internal */ export declare const INSTANCE: unique symbol; /** @internal */ export declare const CURRENT_REQUEST: unique symbol; /** @internal */ export declare const CURRENT_INVOCATION: unique symbol; /** @internal */ export declare class RpcRegistry { private static _instance; private constructor(); static get instance(): RpcRegistry; lookupInterfaceDefinition(name: string): RpcInterfaceDefinition; describeAvailableEndpoints(): Promise; getClientForInterface(definition: RpcInterfaceDefinition, routing?: RpcRoutingToken): T; getImplForInterface(definition: RpcInterfaceDefinition): T; lookupImpl(interfaceName: string): T; registerImpl(definition: RpcInterfaceDefinition, implementation: RpcInterfaceImplementation): void; unregisterImpl(definition: RpcInterfaceDefinition): void; supplyImplInstance(definition: RpcInterfaceDefinition, instance: TImplementation): void; isRpcInterfaceInitialized(definition: RpcInterfaceDefinition): boolean; initializeRpcInterface(definition: RpcInterfaceDefinition): void; terminateRpcInterface(definition: RpcInterfaceDefinition): void; definitionClasses: Map; proxies: Map>; implementations: Map; suppliedImplementations: Map; implementationClasses: Map; id: () => number; private instantiateImpl; private instantiateClient; private interceptOperation; private checkInitialized; private configureOperations; private purgeClient; private notifyInitialize; } //# sourceMappingURL=RpcRegistry.d.ts.map