/**
 * OwlCoda Native Tool Definitions
 *
 * Shared Anthropic-format tool_def schemas for all native tools.
 * Used by both REPL and headless mode to register tools with the API.
 */
import type { ToolDispatcher } from './dispatch.js';
/** JSON Schema definitions for each native tool's input parameters. */
export declare const NATIVE_TOOL_SCHEMAS: Record<string, Record<string, unknown>>;
/** Build Anthropic tool_def objects from the dispatcher's registered tools.
 *
 * The description is pulled from the tool factory itself
 * (`dispatcher.getToolDescription(name)`) so honest stub-disclosure copy
 * — "There is no consumer wired up to drain these queues",
 * "tokens are NOT validated", etc. — actually reaches the LLM. The
 * `Native ${name} tool` placeholder is only used when a factory forgot
 * to provide a description. */
export declare function buildNativeToolDefs(dispatcher: ToolDispatcher): import("../types.js").AnthropicToolDef[];
