/** * Semantic Graph Service (SOLID Refactored) * SOLID Principles: Dependency Inversion - Coordinator depends on service abstractions * Coordinates all semantic graph operations using focused services */ import { FileInfo } from '../../monitoring/file-scanning/file-scanner-interfaces'; import { GraphNode, NodeType, RelationshipType, SearchResult, SearchContext, ImpactAnalysisResult, CrossReferenceResult, IntegratedSemanticResult, GraphBuilderConfig, IFileProcessingService, IGraphStorageService, IGraphQueryService, IQualityAnalyzer } from './interfaces/index'; export { GraphNode, GraphRelationship, NodeType, RelationshipType, SearchResult, SearchContext, ImpactAnalysisResult, CrossReferenceResult, IntegratedSemanticResult } from './interfaces/index'; export interface IGraphProcessor { processFiles(files: FileInfo[]): Promise; } export interface IGraphStorage { addNode(type: NodeType, properties: Record): Promise; addRelationship(fromId: string, toId: string, type: RelationshipType, properties?: Record): Promise; batchCreateNodes(nodes: Array<{ type: NodeType; properties: Record; }>): Promise; close(): Promise; } declare class SemanticGraphService implements IGraphStorage { private uri; private username; private password; private fileProcessingService?; private storageService?; private queryService?; private qualityAnalyzer?; private config?; private logger; private initialized; constructor(uri?: string, username?: string, password?: string, fileProcessingService?: IFileProcessingService, storageService?: IGraphStorageService, queryService?: IGraphQueryService, qualityAnalyzer?: IQualityAnalyzer, config?: Partial); initialize(): Promise; close(): Promise; buildGraphFromFiles(files: FileInfo[]): Promise; addNode(type: NodeType, properties: Record): Promise; addRelationship(fromId: string, toId: string, type: RelationshipType, properties?: Record): Promise; batchCreateNodes(nodes: Array<{ type: NodeType; properties: Record; }>): Promise; updateNodeProperty(nodeId: string, propertyName: string, propertyValue: string): Promise; searchNodes(query: string, context?: SearchContext): Promise; findRelatedNodes(nodeId: string, maxDepth?: number): Promise; findPathBetweenNodes(fromId: string, toId: string): Promise; getNodesByType(type: NodeType): Promise; analyzeImpact(nodeId: string): Promise; performCrossReference(concept: string): Promise; findBusinessConcepts(): Promise; getGraphStatistics(): Promise<{ nodeCount: number; relationshipCount: number; typeDistribution: Record; }>; clearGraph(): Promise; private ensureIndexes; private ensureInitialized; static createWithServices(fileProcessingService: IFileProcessingService, storageService: IGraphStorageService, queryService: IGraphQueryService, qualityAnalyzer?: IQualityAnalyzer): SemanticGraphService; static createDefault(uri?: string, username?: string, password?: string, config?: Partial): SemanticGraphService; filterFiles(files: FileInfo[]): Promise; categorizeFiles(files: FileInfo[]): Promise<{ treeSitter: FileInfo[]; claude: FileInfo[]; fallback: FileInfo[]; }>; calculateRelevanceScore(node: GraphNode, keywords: string[]): number; semanticSearch(query: string, context?: SearchContext): Promise; findCrossReferences(nodeId: string): Promise; } export { SemanticGraphService }; export default SemanticGraphService; export { FileProcessingService } from './services/file-processing-service'; export { GraphStorageService } from './services/graph-storage-service'; export { GraphQueryService } from './services/graph-query-service'; //# sourceMappingURL=semantic-graph.d.ts.map