import type { RunResult } from '../db-adapter/statement.js'; import { type SearchRankerModel } from './ranker-trainer.js'; export type SearchRankerSkippedReason = 'feature_disabled' | 'no_active_model' | 'feature_set_mismatch' | 'quality_gate_failed' | 'insufficient_result_count' | 'llm_reranking_requested'; export interface RankerRescoreAdapter { prepare(sql: string): { run(...params: unknown[]): RunResult; get(...params: unknown[]): unknown; all(...params: unknown[]): unknown[]; }; } export interface RankerScoredFields { ranker_score?: number; score_before_ranker?: number; final_score?: number; } export interface RescoreSearchResultsOptions { query: string; results: T[]; featureEnabled?: boolean; useReranking?: boolean; } export interface RescoreSearchResultsResult { results: Array; model_id: string | null; skipped_reason?: SearchRankerSkippedReason; } export declare function loadActiveSearchRankerModel(adapter: RankerRescoreAdapter): SearchRankerModel | null; export declare function isSearchRankerEnabled(adapter: RankerRescoreAdapter): boolean; export declare function rescoreSearchResults>(adapter: RankerRescoreAdapter, options: RescoreSearchResultsOptions): RescoreSearchResultsResult; export declare function logisticScoreForRow(model: SearchRankerModel, row: Record, query: string): number; //# sourceMappingURL=ranker-rescore.d.ts.map