@omnia/fx-models
Version:
Provide Omnia Fx Models Stuffs.
34 lines (33 loc) • 2 kB
TypeScript
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>;
};
}
}