/** @packageDocumentation * @module RpcInterface */ import { RpcConfiguration, RpcConfigurationSupplier } from "./rpc/core/RpcConfiguration"; import { RpcRoutingToken } from "./rpc/core/RpcRoutingToken"; /** @public */ export interface RpcInterfaceDefinition { prototype: T; interfaceName: string; interfaceVersion: string; } /** @public */ export declare type RpcInterfaceImplementation = new () => T; /** An RPC interface is a set of operations exposed by a service that a client can call, using configurable protocols, * in a platform-independent way. TheRpcInterface class is the base class for RPC interface definitions and implementations. * @public */ export declare abstract class RpcInterface { /** Determines whether the backend version of an RPC interface is compatible (according to semantic versioning) with the frontend version of the interface. */ static isVersionCompatible(backend: string, frontend: string): boolean; /** The configuration for the RPC interface. */ readonly configuration: RpcConfiguration; /** @alpha */ readonly routing: RpcRoutingToken; /** @alpha */ constructor(routing?: RpcRoutingToken); /** Obtains the implementation result for an RPC operation. */ forward(parameters: IArguments): Promise; /** @internal */ configurationSupplier: RpcConfigurationSupplier | undefined; } //# sourceMappingURL=RpcInterface.d.ts.map