import { type ToolCapability, type ToolContext, type ToolDefinition, type ToolDescriptor, type ToolExecutionResult, type ToolSchemaDefinition } from "./ToolTypes.js"; /** * Projects a registered tool into its model-facing descriptor. Kept as a free * function so connector adapters can reuse the same defaulting rules. */ export declare const toolDescriptorFor: (tool: ToolDefinition) => ToolDescriptor; export declare const sanitizeToolArguments: (value: unknown, schema: ToolSchemaDefinition | undefined) => { value: unknown; dropped: string[]; }; export declare class ToolRegistry { private tools; register(tool: ToolDefinition): void; list(): ToolDefinition[]; describe(): Array>; /** * Model-facing view of the registry, optionally narrowed to a set of tool * names. This is derived on every call rather than cached so the planner can * never see a schema the executor would not honour. */ catalog(names?: readonly string[]): ToolDescriptor[]; /** Capability -> tools, for the first stage of two-level tool exposure. */ capabilities(names?: readonly string[]): Map; execute(name: string, args: unknown, context: ToolContext): Promise; } //# sourceMappingURL=ToolRegistry.d.ts.map