import { VectorSearchService, FileContent } from './vector-search.service'; import type { DependencyGraphData } from './vector-search.service'; export declare enum RetrievalStrategy { VECTOR_ONLY = "vector", GRAPH_ONLY = "graph", HYBRID = "hybrid", SMART = "smart" } export interface HybridFileResult extends FileContent { relevanceScore: number; matchReasons: string[]; relationships?: { imports: string[]; importedBy: string[]; sameModule: string[]; inheritance?: string[]; }; rank: number; } export interface HybridRetrievalConfig { strategy?: RetrievalStrategy; topK?: number; vectorWeight?: number; graphWeight?: number; includeRelatedFiles?: boolean; maxDepth?: number; similarityThreshold?: number; } export declare class HybridRetrievalService { private readonly vectorService; private readonly dependencyGraph?; private logger; constructor(vectorService: VectorSearchService, dependencyGraph?: DependencyGraphData | undefined); retrieve(query: string, config?: HybridRetrievalConfig): Promise; private retrieveVectorOnly; private retrieveGraphOnly; private retrieveHybrid; private getFileRelationships; private calculateGraphScore; private detectQueryType; private extractKeywords; private findFilesInGraph; getStats(): { hasVectorStore: boolean; hasDependencyGraph: boolean; graphStats?: { totalNodes: number; totalEdges: number; modules: number; }; }; } //# sourceMappingURL=hybrid-retrieval.service.d.ts.map