/** * Result Ranking System * * Ranks and filters search results based on relevance scores. * Supports multiple ranking strategies and result grouping. */ import { RelevanceFactors, RelevanceTuner } from './relevance-tuning.js'; export interface RankableResult { path: string; content: string; relevanceFactors: RelevanceFactors; relevanceScore?: number; modifiedDate?: Date; } export interface RankedResult extends RankableResult { rank: number; relevanceScore: number; explanation?: string; } export interface RankingOptions { minRelevance?: number; maxResults?: number; groupByDirectory?: boolean; diversityBoost?: boolean; } export declare class ResultRanker { private tuner; constructor(tuner: RelevanceTuner); /** * Rank results by relevance */ rank(results: RankableResult[], options?: RankingOptions): RankedResult[]; /** * Group results by directory */ groupByDirectory(results: RankedResult[]): Map; /** * Apply diversity boost to prevent clustering */ private applyDiversityBoost; /** * Generate human-readable explanation */ private generateExplanation; /** * Get directory from file path */ private getDirectory; /** * Get top N results */ getTopN(results: RankedResult[], n: number): RankedResult[]; /** * Get results above threshold */ getAboveThreshold(results: RankedResult[], threshold: number): RankedResult[]; /** * Get statistics about results */ getStatistics(results: RankedResult[]): { count: number; averageScore: number; medianScore: number; topScore: number; bottomScore: number; }; } /** * Create result ranker with tuner */ export declare function createResultRanker(tuner: RelevanceTuner): ResultRanker; //# sourceMappingURL=result-ranker.d.ts.map