/** * Main search orchestrator */ import type { EmbeddingProvider } from '../embeddings/base.js'; import type { Storage } from '../storage/index.js'; import { type RankingOptions } from './result-ranker.js'; import type { SearchQuery, SearchResponse } from './types.js'; export interface SearchConfig { basePath: string; collectionName: string; embedder: EmbeddingProvider; storage: Storage; rankingOptions?: RankingOptions; enableCache?: boolean; cacheSize?: number; cacheTTL?: number; } /** * Main search orchestrator */ export declare class Search { private semanticSearch; private ranker; private contextExtractor; private cache; constructor(config: SearchConfig); /** * Perform semantic search */ search(query: SearchQuery): Promise; /** * Find similar code blocks */ findSimilar(file: string, line: number, limit?: number): Promise; /** * Get cache statistics */ getCacheStats(): { size: number; maxSize: number; hitRate: number; entries: Array<{ key: string; hits: number; age: number; }>; } | null; /** * Clear search cache */ clearCache(): void; /** * Generate cache key for query */ private getCacheKey; } export type { SearchQuery, SearchResponse, SearchStats, EnhancedSearchResult, RelevanceFactors, } from './types.js'; export { SemanticSearch } from './semantic-search.js'; export { ResultRanker } from './result-ranker.js'; export { ContextExtractor } from './context-extractor.js'; //# sourceMappingURL=index.d.ts.map