import { ProjectManifestGenerator, Plugin, ProjectType, ModuleType, ModuleManifestGenerator, ProjectReader, ModuleReader, ModuleAutoBuilder, ProjectRunner, ItemType, ItemReader, KeyIn, RunUI } from '@sap/artifact-management-base-types'; /** * Central entrypoint for project and module specific implementations ("plugins"). * * @todo: Later this needs to be able to be really plugable, * meaning it should be possible to add plugins without changing this implementation. */ declare class PluginFactory { private plugins; private projectReaders; private moduleReaders; private itemReaders; private projectManifestGenerators; private moduleManifestGenerators; private projectRunners; private moduleRunners; private moduleBuilders; getPluginsDefinition(): Map; getProjectReaders(readModuleAsProject: boolean): ProjectReader[]; getProjectWrappers(): ProjectReader[]; getProjectReaderFor(projectType: KeyIn, readModuleAsProject?: boolean): ProjectReader; getModuleReaders(projectType?: KeyIn): ModuleReader[]; getModuleReaderFor(moduleType: KeyIn): ModuleReader; getItemReaderFor(itemType: KeyIn): ItemReader; addModuleReader(reader: ModuleReader): void; getModuleManifestGeneratorFor(moduleType: KeyIn): ModuleManifestGenerator; loadModuleManifestGenerators(): void; getProjectGenerators(): ProjectManifestGenerator[]; loadProjectGenerators(): void; getProjectGeneratorFor(projectType: KeyIn): ProjectManifestGenerator; loadPlugins(): void; getProjectRunnerFor(projectType: KeyIn): ProjectRunner; getModuleRunnerFor(moduleType: KeyIn): RunUI; private loadModuleRunners; getModuleBuilderFor(moduleType: KeyIn): ModuleAutoBuilder; private loadModuleBuilders; private loadProjectRunners; private loadProjectReaders; private loadModuleReaders; private loadItemReaders; private sortProjectReaders; private sortModuleReaders; } declare const _default: PluginFactory; export default _default;