import { ActionInterface } from "../../interface/ActionInterface.js";
import { ActionPlugin } from "../../interface/ActionPlugin.js";
import { PluginMetadata } from "../../interface/PluginMetadata.js";
import { AbstractProcess } from "../abstract/AbstractProcess.js";
export declare class PluginManager extends AbstractProcess {
    private static instance;
    private loadedPlugins;
    private pluginActions;
    private constructor();
    static getInstance(): PluginManager;
    static resetInstance(): void;
    discoverPlugins(options?: {
        localPluginsPath?: string;
        pluginPrefixes?: string[];
    }): Promise<void>;
    private discoverNpmPlugins;
    private discoverScopedPlugins;
    private discoverLocalPlugins;
    private loadPlugin;
    registerPlugin(plugin: ActionPlugin, name: string): void;
    getPluginActions(): Map<string, new () => ActionInterface>;
    getLoadedPlugins(): PluginMetadata[];
    getPluginMetadata(name: string): PluginMetadata | undefined;
    isPluginLoaded(name: string): boolean;
    listPluginActions(): string[];
    clearPlugins(): void;
}
//# sourceMappingURL=PluginManager.d.ts.map