/** * Classification strategies for the ClassifierRouter. * * - `classifyHeuristic` — zero-cost, no LLM. Generalizes the existing binary * task classifier scorer (fast vs reasoning) into five difficulty tiers. * - `classifyLlm` — runs a cheap "classifier model" via an injected generate * function, asking for a schema-constrained difficulty verdict. Falls back to * the heuristic on any failure. */ import type { ClassifierCandidate, ClassifierDecision, ClassifierDifficulty, ClassifierGenerateFn, ClassifierModelRef, ClassifierRouterInput } from "../types/index.js"; /** Difficulty tiers, ordered easiest → hardest. */ export declare const CLASSIFIER_DIFFICULTIES: ClassifierDifficulty[]; /** * Heuristic classifier — maps the binary fast/reasoning scores plus prompt * length into one of five difficulty tiers. Deterministic and dependency-free. */ export declare function classifyHeuristic(input: ClassifierRouterInput): ClassifierDecision; /** * LLM classifier — asks a cheap model for a schema-constrained verdict. * Falls back to the heuristic if the model is unavailable, times out, or * returns output that does not match the schema. */ export declare function classifyLlm(input: ClassifierRouterInput, generate: ClassifierGenerateFn, classifierModel?: ClassifierModelRef, timeoutMs?: number, candidates?: ClassifierCandidate[]): Promise;