/**
 * Tool Registry - MCP-like tool system for CCW
 * Provides tool discovery, validation, and execution
 */
import type { ToolSchema } from '../types/tool.js';
import type { ProgressInfo } from './codex-lens.js';
interface LegacyTool {
    name: string;
    description: string;
    parameters: {
        type: string;
        properties: Record<string, unknown>;
        required?: string[];
    };
    execute: (params: Record<string, unknown>) => Promise<unknown>;
}
/**
 * Register a tool in the registry
 */
declare function registerTool(tool: LegacyTool): void;
/**
 * Get all registered tools
 */
export declare function listTools(): Array<Omit<LegacyTool, 'execute'>>;
/**
 * Get a specific tool by name
 */
export declare function getTool(name: string): LegacyTool | null;
/**
 * Execute a tool with given parameters
 */
export declare function executeTool(name: string, params?: Record<string, unknown>): Promise<{
    success: boolean;
    result?: unknown;
    error?: string;
}>;
/**
 * Execute a tool with progress callback (for init actions)
 */
export declare function executeToolWithProgress(name: string, params?: Record<string, unknown>, onProgress?: (progress: ProgressInfo) => void): Promise<{
    success: boolean;
    result?: unknown;
    error?: string;
}>;
/**
 * Get tool schema in MCP-compatible format
 */
export declare function getToolSchema(name: string): ToolSchema | null;
/**
 * Get all tool schemas in MCP-compatible format
 */
export declare function getAllToolSchemas(): ToolSchema[];
export { registerTool };
export type { ToolSchema };
export { CommandRegistry, createCommandRegistry, getAllCommandsSync, getCommandSync } from './command-registry.js';
export type { CommandMetadata, CommandSummary } from './command-registry.js';
//# sourceMappingURL=index.d.ts.map