import { ILibraryServerData } from 'mira-storage-sqlite'; import { MiraWebsocketServer } from './WebSocketServer'; export interface PluginConfig { name: string; enabled: boolean; path: string; } export declare class ServerPluginManager { pluginsDir: string; private server; private dbService; private pluginsConfigPath; private loadedPlugins; fields: Record[]; constructor({ server, dbService, pluginsDir }: { server: MiraWebsocketServer; dbService: ILibraryServerData; pluginsDir?: string; }); getPluginDir(pluginName: string): string; loadPlugins(reload?: boolean): Promise; loadPlugin(pluginConfig: PluginConfig, reload?: boolean): Promise; registerFields(fields: Record[]): void; registerField(field: Record): void; getPlugin(name: string): T | undefined; isPluginLoaded(name: string): boolean; unloadPlugin(name: string): boolean; reloadPlugin(name: string): Promise; getPluginsList(): any[]; addPlugin(config: PluginConfig): Promise; } //# sourceMappingURL=ServerPluginManager.d.ts.map