/**
 * Plugin Discovery
 *
 * Discovers plugins in workspace, global, npm, and bundled locations.
 *
 * @module plugins/discovery
 */
import type { ElizaOSPackageManifest, PackageManifest, PluginDiscoveryResult } from "../types/plugin-manifest.ts";
/**
 * Resolve the global configuration directory path.
 */
declare function resolveConfigDir(): string;
/**
 * Resolve a user path with tilde expansion.
 */
declare function resolveUserPath(inputPath: string): string;
/**
 * Check if a file is a valid extension entry point.
 */
declare function isExtensionFile(filePath: string): boolean;
/**
 * Read and parse a package.json file.
 */
declare function readPackageManifest(dir: string): PackageManifest | null;
/**
 * Get ElizaOS package manifest metadata from package.json.
 */
declare function getPackageManifestMetadata(manifest: PackageManifest | undefined): ElizaOSPackageManifest | undefined;
/**
 * Derive a plugin ID hint from file path and package name.
 */
declare function deriveIdHint(params: {
    filePath: string;
    packageName?: string;
    hasMultipleExtensions: boolean;
}): string;
/**
 * Discover all ElizaOS plugins.
 *
 * Search order (first match wins for duplicate IDs):
 * 1. Extra paths from config
 * 2. Workspace plugins directory
 * 3. Global plugins directory
 * 4. Bundled plugins
 *
 * @param params - Discovery parameters
 * @returns Discovery result with candidates and diagnostics
 */
export declare function discoverPlugins(params: {
    workspaceDir?: string;
    extraPaths?: string[];
}): PluginDiscoveryResult;
/**
 * Discover plugins in npm node_modules.
 * Looks for packages with elizaos.plugin.json or elizaos metadata in package.json.
 *
 * @param nodeModulesDir - Path to node_modules directory
 * @returns Discovery result with candidates and diagnostics
 */
export declare function discoverNpmPlugins(nodeModulesDir: string): PluginDiscoveryResult;
export { resolveConfigDir, resolveUserPath, isExtensionFile, readPackageManifest, getPackageManifestMetadata, deriveIdHint, };
//# sourceMappingURL=discovery.d.ts.map