/**
 * Plugin interface
 */
export interface Plugin {
    name: string;
    version: string;
    description: string;
    initialize(): void | Promise<void>;
}
/**
 * Plugin Manager
 *
 * Registers and manages plugins for the application
 */
export declare class PluginManager {
    private plugins;
    /**
     * Register a plugin
     */
    registerPlugin(plugin: Plugin): void;
    /**
     * Get a plugin by name
     */
    getPlugin<T extends Plugin>(name: string): T | null;
    /**
     * Initialize all registered plugins
     */
    initializeAll(): Promise<void>;
    /**
     * Get all registered plugins
     */
    getAllPlugins(): Plugin[];
}
export declare const pluginManager: PluginManager;
//# sourceMappingURL=plugin-manager.d.ts.map