import type { Tier, ModelRegistry } from "./types.js"; type Content = { type: "text"; text: string; }; /** Standard tool response: one JSON block, plus the upgrade note on free tier. */ export declare function respond(tool: string, tier: Tier, body: Record, freeContext?: string): { content: Content[]; }; export declare function errorResult(tool: string, message: string): { content: Content[]; }; /** Accepts "TXT", "txt", "AIPI TXT GLB" and returns the stored code "AIPI TXT GLB". */ export declare function normIndexCode(input: string): string; /** Quantile on a sorted numeric array (nearest rank, no interpolation). */ export declare function quantile(sorted: number[], q: number): number | null; export declare function median(sorted: number[]): number | null; /** Normalise a direction label to input | cached | output. */ export declare function dirKey(direction: string | null | undefined): "input" | "cached" | "output"; export declare function round(n: number | null | undefined, dp?: number): number | null; export declare const MODEL_SELECT = "model_id,model_name,model_family,creator,creator_country,open_source,license_type,license_class,tier,is_reasoning,task_category,parameter_count,context_window,max_output_tokens,training_cutoff,modality_input,modality_output,tool_calling,json_mode,streaming,source_url,canonical_model_id,last_verified"; /** The anchor id a registry row belongs to. */ export declare function anchorOf(m: Pick): string; /** Every model_id (anchor plus aliases) that belongs to the given anchors. */ export declare function expandAnchors(anchorIds: string[]): Promise; /** * Find models by name. Exact name or id matches win; otherwise a * partial match. Returns registry rows, anchors first. */ export declare function findModels(name: string, limit?: number): Promise; /** Load a vendor lookup: vendor_id -> {name, channel, country}. */ export declare function vendorLookup(): Promise>; export {}; //# sourceMappingURL=util.d.ts.map