/** Deterministic per-request complexity scorer (Plan B). Pure module. */ import type { ModelProfile, RoutingRequest, Tier } from '../types/index.js'; import type { ComplexityScorerConfig } from '../types/schemas.js'; export interface ComplexityScore { readonly score: number; readonly confidence: number; readonly targetTier: Tier | null; readonly direction: 'upgrade' | 'downgrade' | null; readonly candidate_model_id: string | null; readonly estimated_output_tokens: number; readonly estimated_cost_pinned_usd: number; readonly estimated_cost_candidate_usd: number; readonly capability_gap: number; readonly reasons: readonly string[]; } export interface ComplexityScorerInput { readonly request: RoutingRequest; readonly pinnedModel: ModelProfile; readonly fleet: readonly ModelProfile[]; readonly config?: Partial; } export declare function resolveInputTokens(request: RoutingRequest): number; export declare function estimateOutputTokens(inputTokens: number, config: Pick): number; export declare function estimateWeightedCostUsd(model: ModelProfile, inputTokens: number, outputTokens: number): number; export declare function selectComplexityCandidate(fleet: readonly ModelProfile[], targetTier: Tier, inputTokens: number, outputTokens: number): ModelProfile | null; export declare function scoreComplexity(input: ComplexityScorerInput): ComplexityScore; //# sourceMappingURL=complexity-scorer.d.ts.map