import { Service } from './metadata'; import { Observable } from 'rxjs'; import { Application, Capability, Manifest, ManifestRegistryStatusMessage, Qualifier } from '@scion/workbench-application-platform.api'; /** * Allows to query manifest registry. */ export declare class ManifestRegistryService implements Service { private _destroy$; private _capabilityChange$; constructor(); /** * Queries the manifest registry for all application manifests. * * @return An Observable that, when subscribed, emits all application manifests and then completes. */ get manifests$(): Observable; /** * Queries the manifest registry for the manifest of given application. * * @return An Observable that, when subscribed, emits the manifest of the given application and then completes. */ manifest$(symbolicName: string): Observable; /** * Queries the manifest registry for applications which provide a capability for the given intent. * * @return An Observable that, when subscribed, emits the applications providing a capability for * the given intent and then completes. */ capabilityProviders$(intentId: string): Observable; /** * Queries the manifest registry for applications which consume given capability. * * @return An Observable that, when subscribed, emits the applications consuming the given capability and then completes. */ capabilityConsumers$(capabilityId: string): Observable; /** * Queries the manifest registry for given capability. * * @return An Observable that, when subscribed, emits the requested capability and then completes. */ capability$(capabilityId: string): Observable; /** * Queries the manifest registry for capabilities of given type and qualifier. * * @return An Observable that, when subscribed, emits capabilities for which this application has declared an intent. * It never completes and emits continuously when capabilities are registered or unregistered. */ capabilities$(type: string, qualifier: Qualifier): Observable; /** * Registers given capability. */ registerCapability$(capability: Capability): Observable; /** * Unregisters capability of given type and qualifier. * * The requesting application can only unregister its own capabilities. */ unregisterCapability$(type: string, qualifier?: Qualifier): Observable; /** * @return An Observable that emits when capabilities of any application are registered or unregistered. * It never completes. */ get capabilityChange$(): Observable; onDestroy(): void; }