import type { RiskLabel, ToolDescriptor } from "../../core/index.js"; /** A ranked hit from {@link searchToolDescriptors}. Carries just enough to load * the tool into a run and describe it to the model — never the input schema. */ export interface ToolSearchMatch { name: string; description: string; risk: RiskLabel; /** Deterministic relevance score; higher is a stronger match. Always > 0. */ score: number; } export interface ToolSearchOptions { /** Max matches returned. Defaults to 10; clamped to [1, 50]. */ limit?: number; } /** Lowercase alphanumeric tokens, de-duplicated, order-preserving. */ export declare function tokenize(value: string): string[]; /** * Pure, deterministic ranking of tool descriptors against a free-text intent. * * Callers pass the ALREADY-enabled descriptor set (disabled tools excluded * upstream), so a disabled tool is never returned as a loadable match. Ties * break by name ascending; the result is stable for a given input. */ export declare function searchToolDescriptors(descriptors: readonly ToolDescriptor[], query: string, options?: ToolSearchOptions): ToolSearchMatch[];