docker-pilot
Version:
A powerful, scalable Docker CLI library for managing containerized applications of any size
85 lines • 2.03 kB
TypeScript
/**
* 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