UNPKG

@finos/legend-shared

Version:
82 lines 2.81 kB
/** * Copyright (c) 2020-present, Goldman Sachs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { type PlainObject } from '../CommonUtils.js'; export declare class PluginInfo { name: string; version: string; signature: string; uuid: string; } export declare abstract class AbstractPlugin { private readonly name; private readonly version; private readonly uuid; constructor(name: string, version: string); getName(): string; getVersion(): string; getSignature(): string; getUUID(): string; getInfo(): PluginInfo; configure(configData: PlainObject): AbstractPlugin; abstract install(pluginManager: AbstractPluginManager): void; } export declare class PresetInfo { name: string; version: string; signature: string; uuid: string; plugins: PluginInfo[]; } export declare abstract class AbstractPreset { private readonly name; private readonly version; private readonly uuid; protected plugins: AbstractPlugin[]; constructor(name: string, version: string, plugins: AbstractPlugin[]); getName(): string; getVersion(): string; getSignature(): string; getUUID(): string; getPlugins(): AbstractPlugin[]; getInfo(): PresetInfo; configure(configData: PlainObject): AbstractPreset; install(pluginManager: AbstractPluginManager): void; } export type PluginManagerInfo = { plugins: PluginInfo[]; presets: PresetInfo[]; }; export type ExtensionsConfigurationData = Record<PropertyKey, PlainObject>; export declare abstract class AbstractPluginManager { private plugins; private presets; usePlugins(plugins: AbstractPlugin[]): AbstractPluginManager; usePresets(presets: AbstractPreset[]): AbstractPluginManager; configure(configData: ExtensionsConfigurationData): void; install(): void; getInfo(): PluginManagerInfo; /** * Return the list of core plugin names to be hidden * when getting plugin manager info, such as core plugins. */ protected getHiddenPluginNames(): string[]; /** * Return the list of core presets names to be hidden * when getting plugin manager info, such as core presets. */ protected getHiddenPresetNames(): string[]; } //# sourceMappingURL=AbstractPluginManager.d.ts.map