import { Destroyable } from '../common'; import { GeneratorRepository } from './generator.repository'; /** * 设计时和运行时都会使用到GeneratorManager * 管理设计时或运行时加载的全部数据源生成器 * * 由于权限管理的问题,不同用户群可以访问的组件库和数据源不尽相同,所以ComponentRepositoryManager不再是单例模式。 * 一个manager可以管理多个Repository,一个Repository可以包含在多个manager中。方便数据源生成器的权限管理 * */ export declare class GeneratorManager extends Destroyable { private static _manager; private _repositoryMap; static getInstance(): GeneratorManager; private constructor(); addRepository(repo: GeneratorRepository | Array): void; removeRepository(repo: GeneratorRepository | Array): void; clear(): void; /** * 根据ID获得数据源生成器仓库 * @param id */ getRepository(id: string): GeneratorRepository; /** * 获得当前manager中的所有Repositories */ readonly repositories: Array; /** * 判断是否支持指定的数据源生成器库 * @param repoIDArray */ includes(repoIDArray: Array): boolean; /** * 给定路径的数据源生成器是否存在 * @param path */ has(path: string): boolean; /** * 根据路径获得数据源生成器 例如:repo1$mockDataSource * repo1 数据源生成器仓库名称 * mockDataSource 数据源生成器ID * @param path */ getGenerator(path: string): import("./generator").IGenerator; readonly meta: { label: string; children: { label: string; value: string; id: string; name: string; }[]; }[]; } export declare const generatorManager: GeneratorManager;