/** * Result ranking and scoring */ import type { EnhancedSearchResult } from './types.js'; export interface RankingOptions { boostExactMatch?: number; boostNameMatch?: number; boostRecency?: number; penalizeComplexity?: boolean; } /** * Rank and score search results */ export declare class ResultRanker { private options; constructor(options?: RankingOptions); /** * Rank search results */ rank(query: string, results: EnhancedSearchResult[]): EnhancedSearchResult[]; /** * Calculate relevance factors */ private calculateRelevanceFactors; /** * Calculate name match score */ private calculateNameMatchScore; /** * Calculate character overlap ratio */ private calculateCharacterOverlap; /** * Calculate recency score */ private calculateRecencyScore; /** * Calculate final score based on relevance factors */ private calculateFinalScore; /** * Filter results by minimum score */ filterByScore(results: EnhancedSearchResult[], minScore: number): EnhancedSearchResult[]; /** * Deduplicate results */ deduplicate(results: EnhancedSearchResult[]): EnhancedSearchResult[]; /** * Group results by file */ groupByFile(results: EnhancedSearchResult[]): Map; } //# sourceMappingURL=result-ranker.d.ts.map