/** * 存储插件加载器实现 * 负责动态加载和管理存储插件 */ import { StoragePlugin, StoragePluginMetadata } from '../interfaces/StoragePlugin'; /** * 存储插件加载器接口 */ export interface StoragePluginLoader { loadPlugin(plugin: StoragePlugin): void; loadPlugins(plugins: StoragePlugin[]): void; loadPluginFromPath(pluginPath: string): Promise; loadPluginsFromDirectory(directoryPath: string): Promise; getLoadedPlugins(): StoragePluginMetadata[]; unloadPlugin(storageType: string): void; } export declare class StoragePluginLoaderImpl implements StoragePluginLoader { private pluginRegistry; /** * 加载存储插件 * @param plugin 存储插件实例 */ loadPlugin(plugin: StoragePlugin): void; /** * 批量加载存储插件 * @param plugins 存储插件实例数组 */ loadPlugins(plugins: StoragePlugin[]): void; /** * 从路径加载存储插件 * @param pluginPath 插件路径 */ loadPluginFromPath(pluginPath: string): Promise; /** * 从目录加载存储插件 * @param directoryPath 目录路径 */ loadPluginsFromDirectory(directoryPath: string): Promise; /** * 获取已加载的插件元数据 * @returns 插件元数据数组 */ getLoadedPlugins(): any[]; /** * 卸载存储插件 * @param storageType 存储类型 */ unloadPlugin(storageType: string): void; } /** * 存储插件加载器单例实例 */ export declare const storagePluginLoader: StoragePluginLoaderImpl;