/**
 * Information about a discovered plugin
 */
export interface DiscoveredPlugin {
    /** Plugin ID */
    id: string;
    /** Path to the plugin directory */
    path: string;
    /** Plugin manifest object */
    manifest: any;
    /** Plugin source (npm, local, etc.) */
    source: 'npm' | 'local' | 'bundled';
}
/**
 * Plugin discovery options
 */
export interface PluginDiscoveryOptions {
    /** Base directory for local plugins */
    localPluginsDir?: string;
    /** Whether to scan node_modules for plugins */
    scanNodeModules?: boolean;
    /** Additional directories to scan */
    additionalDirs?: string[];
    /** Prefix for npm plugin packages */
    npmPrefix?: string;
}
/**
 * System for discovering Vooodooo plugins
 */
export declare class PluginDiscovery {
    private options;
    constructor(options?: PluginDiscoveryOptions);
    /**
     * Discover all available plugins
     */
    discoverPlugins(): Promise<DiscoveredPlugin[]>;
    /**
     * Discover plugins in the local plugins directory
     */
    private discoverLocalPlugins;
    /**
     * Discover Vooodooo plugins installed from npm
     */
    private discoverNpmPlugins;
    /**
     * Discover plugins in a specific directory
     */
    private discoverPluginsInDir;
    /**
     * Find all node_modules directories up the directory tree
     */
    private findNodeModulesDirs;
}
/**
 * Create a plugin discovery system
 */
export declare function createPluginDiscovery(options?: PluginDiscoveryOptions): PluginDiscovery;
