import { EditorShellPlugin, PluginType, EditorShellPluginContext } from './type/core'; /** * 插件主要分为3类: 内置插件、默认插件、外部插件 * 默认插件:如左侧树、组件列表等 可被外部插件覆盖 * 内置插件:如头部导航、不可通过外部插件覆盖 * 外部插件:用户自定义插件,可以配置内部支持的各种插件扩展 */ declare class PluginManager { ctx: EditorShellPluginContext; pluginState: any; private parsePlugin; private pluginsMap; /** * 获取插件, 如果多个插件被同时注册,使用最后一个 * @param type 插件位置 */ getPluginByType(type: PluginType): null; /** * 销毁插件 */ destroy(): Promise; /** * 注册插件 * @param plugin 插件 * @param privateType 插件类型 */ private registerPlugin; /** * 注入默认插件 */ private registerDefaultPlugins; /** * 注入内置插件 */ private registerInnerPlugins; /** * 注入插件State */ registerPluginState(opt: any): void; constructor(); /** * 注册外部插件 * @param plugin */ register(pluginFunc: EditorShellPlugin): Promise; /** * 初始化插件 */ initialPlugins(): Promise; } /** * 当外部没有注册任何插件时,内部调用,触发默认值。 * 暂时写到这里,后期移动到应有位置 * @returns */ declare const initialPlugin: () => PluginManager; export { PluginManager, initialPlugin, };