import type { ToolPlugin, ToolResult, ToolContext } from "./types.js"; import type { SubagentConfiguration } from "../utils/subagentParser.js"; import type { SkillMetadata } from "../types/skills.js"; export interface ToolDef { name: string; description: string; parameters: Record; required?: string[]; execute: (args: Record, context: ToolContext) => Promise; prompt?: string | ((args?: { availableSubagents?: SubagentConfiguration[]; availableSkills?: SkillMetadata[]; workdir?: string; isSubagent?: boolean; }) => string); formatCompactParams?: (params: Record, context: ToolContext) => string; additionalProperties?: boolean; } export declare function buildTool(def: ToolDef): ToolPlugin;