import type { ModelCandidate, RouteDecision, RouteRequest } from "./types.ts"; /** * Return the default candidate pool. Useful for callers that want to * inspect the pool, filter it, or extend it before routing. */ export declare function getDefaultCandidates(): readonly ModelCandidate[]; /** * The public routing entrypoint. * * Pipeline: * 1. Validate the request. * 2. Resolve the candidate pool (caller override > shipped default). * 3. Filter out candidates that fail the quality bar, the cost budget, * or the model's context window. Record reasons. * 4. Sort survivors by expected cost ascending (quality breaks ties). * 5. Pick the cheapest survivor as `chosen`; the next three as * `fallbacks`. Anything below that is in `skipped` only if it failed * a constraint — extra cheap-survivors past the fallback list are * simply not returned. * 6. If no candidate survives, throw with the full skipped list so the * caller can see exactly what went wrong. * * Sync return: this function does no I/O. Returning a promise would be * misleading. */ export declare function route(request: RouteRequest): RouteDecision; //# sourceMappingURL=router.d.ts.map