/**
 * Tool call classification — maps raw provider tool names to categories.
 *
 * Raw tool names from providers are noisy and inconsistent (`WebSearch` vs
 * `web_search` vs `Browser.search`). This module normalizes every tool call
 * into one of six standard categories for cross-model comparison.
 *
 * @see docs/design-docs/architecture-overhaul/observability-telemetry.md
 */
import type { ToolCallCategory } from "../../../_vendor/ailf-core/index.d.ts";
/**
 * Classify a tool call by its raw name.
 *
 * Resolution order:
 * 1. Exact match in custom overrides (if provided)
 * 2. Exact match in default tool categories
 * 3. Heuristic pattern matching on the name
 * 4. Falls back to "execute" (safest default for unknown tools)
 *
 * @param name - Raw tool name from the provider
 * @param customMappings - Optional custom tool → category overrides
 * @returns The classified category
 */
export declare function classifyToolCall(name: string, customMappings?: Record<string, ToolCallCategory>): ToolCallCategory;
/**
 * Classify multiple tool calls, returning the category for each.
 * Also tracks unrecognized names for the caller to log warnings.
 */
export declare function classifyToolCalls(names: string[], customMappings?: Record<string, ToolCallCategory>): {
    categories: ToolCallCategory[];
    unrecognized: string[];
};
