UNPKG

@omnia/fx-models

Version:
34 lines (33 loc) 2 kB
import { IEnterpriseGlossaryInformationSourceReadonly } from "@omnia/fx-models"; import { EnterpriseGlossaryInformationProviderId, EnterpriseGlossaryInformationSourceSettings } from "./EnterpriseGlossaryInformationSourceSettings"; import { EnterpriseGlossaryProvider } from "./EnterpriseGlossaryProvider"; export interface IEnterpriseGlossaryRegistrationApi { registerEnterpriseGlossaryProvider(provider: EnterpriseGlossaryProvider): void; getEnterpriseGlossaryProviders(): EnterpriseGlossaryProvider[]; } export interface IEnterpriseGlossaryInformationApi { registerInformationProvider(register: EnterpriseGlossaryInformationProviderRegistration): void; getInformationProvider(typeId: EnterpriseGlossaryInformationProviderId): Promise<new () => IEnterpriseGlossaryInformationProvider>; } export interface IEnterpriseGlossaryInformationProvider<TInformationSource extends Object = Object, TInformationSourceSettings extends EnterpriseGlossaryInformationSourceSettings = EnterpriseGlossaryInformationSourceSettings> { triggered(sourceInformation: IEnterpriseGlossaryInformationSourceReadonly<TInformationSource>, providerInformationSourceSettings: TInformationSourceSettings): void | Promise<void>; } export declare class EnterpriseGlossaryInformationProviderRegistration { typeId: EnterpriseGlossaryInformationProviderId; provider: new () => IEnterpriseGlossaryInformationProvider; constructor(typeId: EnterpriseGlossaryInformationProviderId, provider: new () => IEnterpriseGlossaryInformationProvider); } declare module "../Extends" { interface IOmniaFxApi { enterpriseGlossary: { registrations: Promise<IEnterpriseGlossaryRegistrationApi>; providers: Promise<IEnterpriseGlossaryInformationApi>; }; } interface IOmniaFxApiManifest { enterpriseGlossary: { registrations: ApiPath; providers: IExtendApiManifestWithConfiguration<EnterpriseGlossaryInformationProviderId>; }; } }