import { Observable } from 'rxjs'; import { Rpc } from '../rpc/rpc'; import { ExtensionUpdateStatus, RpcSmeExtensionConfiguration, SmeExtensionEntries, SmeExtensions, SmeExtensionSearchOptions } from '../rpc/sme-extension/rpc-sme-extension-model'; /** * Sme Extension Module Side Service. */ export declare class SmeExtension { private rpc; /** * Subject for tracking RPC responses from the extension host. */ private watcher; /** * The source name to use when logging about this service. */ private get logSourceName(); /** * Initializes a new instance of the Extension Manager class. * * @param rpc the rpc to forward auth requests to a parent window. */ constructor(rpc: Rpc); /** * Get available extension request. * * @returns an observable for the response message from the extension host. */ getAvailableExtensions(): Observable; /** * Get installed extension request. * * @returns an observable for the response message from the extension host. */ getInstalledExtensions(): Observable; /** * Get all extensions (available + installed) request. * * @returns an observable for the response message from the extension host. */ getAllExtensions(): Observable; /** * Install the extension. * * @param config the configuration. * @returns an observable for installed result of extension. */ installExtension(config: RpcSmeExtensionConfiguration): Observable; /** * Gets the update status of extensions. * * @returns An observable for update status of extension availability. */ getUpdateStatus(): Observable; /** * Search the entry points that meet the search options. * * @param searchOptions the search options */ searchEntriesByCondition(searchOptions: SmeExtensionSearchOptions): Observable; /** * Internal method handles rpc request. * * @param request the result object * @returns an observable for installed and available extensions. */ private handleRpcRequest; /** * Handles the installation request of extension. * * @param request the request object. * @returns an observable for installed result. */ private handleRpcExtensionWriteRequest; /** * Handles rpc request of extension update status. * * @param request the result object * @returns an observable for update status of extension availability. */ private handleRpcUpdateStatusRequest; /** * Handles rpc request of extension search entry points. * * @param request the result object * @returns an observable for extension entries. */ private handleRpcSearchEntryPointsRequest; /** * Handles rpc response messages from the extension host. * * @param data the result of the extension host request. * @returns the promise of RPC response. */ private onRpcResponse; }