/**
 * src/tools/types.ts
 * Tool Execution Framework — Types for the agent loop
 */
import type { ToolDefinition } from '../models/provider.js';
export interface ToolMetadata {
    name: string;
    description: string;
    parameters: Record<string, unknown>;
    category: 'filesystem' | 'system' | 'web' | 'media' | 'business' | 'memory';
    requiresSandbox?: boolean;
    riskLevel: 'low' | 'medium' | 'high';
}
export interface ToolResult {
    success: boolean;
    output: string;
    data?: unknown;
    error?: string;
    durationMs: number;
}
export declare const TOOLS: ToolMetadata[];
export declare function toToolDefinition(tool: ToolMetadata): ToolDefinition;
export declare function setMcpToolsProvider(fn: () => ToolDefinition[]): void;
export declare function getAllToolsAsDefinitions(): ToolDefinition[];
export declare function getToolByName(name: string): ToolMetadata | undefined;
//# sourceMappingURL=types.d.ts.map