UNPKG

docker-pilot

Version:

A powerful, scalable Docker CLI library for managing containerized applications of any size

85 lines 2.03 kB
/** * Plugin Manager for Docker Pilot * Manages plugin loading, initialization, and lifecycle */ import { Plugin, PluginMetadata } from '../types'; export interface PluginManagerOptions { pluginDir?: string; autoLoad?: boolean; enabledPlugins?: string[]; } export declare class PluginManager { private plugins; private logger; private fileUtils; private i18n; private options; private hooks; constructor(options?: PluginManagerOptions); /** * Initialize plugin manager */ initialize(): Promise<void>; /** * Load plugins from directory */ loadPlugins(): Promise<void>; /** * Load a specific plugin */ loadPlugin(pluginPath: string): Promise<Plugin>; /** * Unload a plugin */ unloadPlugin(pluginName: string): Promise<void>; /** * Get loaded plugin */ getPlugin(pluginName: string): Plugin | null; /** * Get all loaded plugins */ getPlugins(): Plugin[]; /** * Check if plugin is loaded */ hasPlugin(pluginName: string): boolean; /** * Register plugin hooks */ private registerPluginHooks; /** * Unregister plugin hooks */ private unregisterPluginHooks; /** * Execute hook */ executeHook(hookName: string, ...args: any[]): Promise<any[]>; /** * Validate plugin structure */ private isValidPlugin; /** * Get plugin metadata */ getPluginMetadata(): PluginMetadata[]; /** * Enable plugin */ enablePlugin(pluginName: string): Promise<void>; /** * Disable plugin */ disablePlugin(pluginName: string): Promise<void>; /** * Update plugin configuration */ updatePluginConfig(pluginName: string, config: any): Promise<void>; /** * Update language for all plugins */ updateLanguage(language: string): void; /** * Cleanup all plugins */ cleanup(): Promise<void>; } //# sourceMappingURL=PluginManager.d.ts.map