import type { PluginToolDefinition } from '../../../types/index.js';
/**
 * Builds the prefixed tool name for a plugin tool.
 */
export declare function buildPluginToolName(pluginId: string, toolName: string): string;
/**
 * Registers tools from a plugin. Each tool is prefixed with `plugin:{pluginId}:`.
 * Returns the list of registered prefixed names.
 */
export declare function registerPluginTools(pluginId: string, tools: readonly PluginToolDefinition[], builtInTools: ReadonlySet<string>): string[];
/**
 * Unregisters all tools belonging to a plugin.
 */
export declare function unregisterPluginTools(pluginId: string): string[];
/**
 * Invokes a plugin tool by its prefixed name, with timeout wrapping.
 */
export declare function invokePluginTool(prefixedName: string, input: unknown, timeoutMs?: number): Promise<unknown>;
/**
 * Returns all registered plugin tools.
 */
export declare function getRegisteredPluginTools(): Map<string, {
    pluginId: string;
    definition: PluginToolDefinition;
}>;
/**
 * Returns the count of tools registered for a specific plugin.
 */
export declare function getPluginToolCount(pluginId: string): number;
/**
 * Clears all plugin tools (for testing).
 */
export declare function clearPluginToolRegistry(): void;
//# sourceMappingURL=tool-extension.d.ts.map