export type SearchRoutingMode = "specific" | "cross_domain" | "ambiguous"; export interface SearchRoutingGoldenCase { id: string; query: string; mode: SearchRoutingMode; expectedTypes: string[]; acceptableTypes?: string[]; description?: string; } export interface SearchRoutingObservation { id: string; query: string; mode: SearchRoutingMode; expectedTypes: string[]; acceptableTypes: string[]; routedTypes: string[]; semanticRouted: boolean; searchedTypes: number; candidateTypes: number; topScore: number; latencyMs: number; } export interface SearchRoutingCaseResult extends SearchRoutingObservation { matchedExpectedTypes: string[]; missingExpectedTypes: string[]; extraRoutedTypes: string[]; expectedRecall: number; passed: boolean; } export interface SearchRoutingSummary { totalCases: number; passedCases: number; failedCases: number; expectedTypeRecall: number; falseNegativeCount: number; averageRoutedTypes: number; averageSearchedTypes: number; averageLatencyMs: number; averageTopScore: number; } export interface SearchRoutingEvaluation { cases: SearchRoutingCaseResult[]; summary: SearchRoutingSummary; } export declare function validateGoldenCases(cases: readonly SearchRoutingGoldenCase[], knownResourceTypes: readonly string[]): string[]; export declare function evaluateRoutingCase(observation: SearchRoutingObservation): SearchRoutingCaseResult; export declare function summarizeRoutingEvaluation(cases: readonly SearchRoutingCaseResult[]): SearchRoutingSummary; export declare function evaluateRouting(observations: readonly SearchRoutingObservation[]): SearchRoutingEvaluation; //# sourceMappingURL=routing-eval.d.ts.map