import type { Composition } from './composition'; import type { Plugin, PluginConstructor } from './plugins'; import type { Scene, SceneLoadOptions } from './scene'; import type { Engine } from './engine'; export declare const pluginLoaderMap: Record; /** * 注册 plugin * @param name * @param pluginClass class of plugin * @param itemClass class of item * @param isDefault load */ export declare function registerPlugin(name: string, pluginClass: PluginConstructor): void; /** * 注销 plugin */ export declare function unregisterPlugin(name: string): void; export declare class PluginSystem { static getPlugins(): Plugin[]; static initializeComposition(composition: Composition, scene: Scene): void; static destroyComposition(comp: Composition): void; static onAssetsLoadStart(scene: Scene, options?: SceneLoadOptions): Promise; static onAssetsLoadFinish(scene: Scene, options: SceneLoadOptions, engine: Engine): void; } export declare function getPluginUsageInfo(name: string): string;