UNPKG

@itwin/core-common

Version:

iTwin.js components common to frontend and backend

49 lines 2.57 kB
/** @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<RpcInterfaceEndpoints[]>; getClientForInterface<T extends RpcInterface>(definition: RpcInterfaceDefinition<T>, routing?: RpcRoutingToken): T; getImplForInterface<T extends RpcInterface>(definition: RpcInterfaceDefinition<T>): T; lookupImpl<T extends RpcInterface>(interfaceName: string): T; registerImpl<TDefinition extends RpcInterface, TImplementation extends TDefinition>(definition: RpcInterfaceDefinition<TDefinition>, implementation: RpcInterfaceImplementation<TImplementation>): void; unregisterImpl<TDefinition extends RpcInterface>(definition: RpcInterfaceDefinition<TDefinition>): void; supplyImplInstance<TDefinition extends RpcInterface, TImplementation extends TDefinition>(definition: RpcInterfaceDefinition<TDefinition>, instance: TImplementation): void; isRpcInterfaceInitialized<T extends RpcInterface>(definition: RpcInterfaceDefinition<T>): boolean; initializeRpcInterface<T extends RpcInterface>(definition: RpcInterfaceDefinition<T>): void; terminateRpcInterface<T extends RpcInterface>(definition: RpcInterfaceDefinition<T>): void; definitionClasses: Map<string, RpcInterfaceDefinition>; proxies: Map<string, Map<number, RpcInterface>>; implementations: Map<string, RpcInterface>; suppliedImplementations: Map<string, RpcInterface>; implementationClasses: Map<string, RpcInterfaceImplementation>; id: () => number; private instantiateImpl; private instantiateClient; private interceptOperation; private checkInitialized; private configureOperations; private purgeClient; private notifyInitialize; } //# sourceMappingURL=RpcRegistry.d.ts.map