import type { PluginRegistry } from '../registry/plugin/index.js';
import type { PluginId } from '../types/ids/index.js';
import type { PluginContributionType } from '../types/plugin/index.js';
import type { ToolRegistryContract } from '../types/tool/index.js';
export declare class PluginResolver {
    private pluginRegistry;
    private toolRegistry;
    constructor(pluginRegistry: PluginRegistry, toolRegistry: ToolRegistryContract);
    /**
     * Parses a qualified tool name in `pluginName:toolName` format.
     * Returns null if the name is not namespaced.
     */
    resolveToolName(qualifiedName: string): {
        pluginName: string;
        toolName: string;
    } | null;
    /**
     * Lists all tool names contributed by a specific plugin.
     * Matches tools whose name starts with `manifest.name:`.
     */
    getPluginTools(pluginId: PluginId): string[];
    /**
     * Resolves a fully qualified component name to its plugin, contribution type, and local name.
     */
    resolveComponent(qualifiedName: string): {
        pluginId: PluginId;
        contributionType: PluginContributionType;
        componentName: string;
    } | undefined;
    /**
     * Returns a namespaced name in `pluginName:componentName` format.
     */
    namespaceName(pluginName: string, componentName: string): string;
    private inferContributionType;
}
//# sourceMappingURL=resolver.d.ts.map