/** * Relationship Builder - Single Responsibility: Create Neo4j relationships * Follows Single Responsibility and Dependency Inversion principles */ import { SemanticGraphService } from '../semantic-graph'; import { ParsedCodeStructure } from '../parsers/ilanguage-parser'; import { NodeCreationResult } from './node-builder'; export declare class RelationshipBuilder { private semanticGraph; private logger; constructor(semanticGraph: SemanticGraphService); /** * Create all relationships for a file's structure */ createRelationshipsForFile(structure: ParsedCodeStructure, nodeResult: NodeCreationResult, allFileNodes: Map, projectPath: string): Promise; /** * Create import/dependency relationships between files * Also stores external package imports as file properties for search */ private createImportRelationships; /** * Extract main package names from import paths * "@hookform/resolvers/zod" -> ["hookform", "zod"] * "react-hook-form" -> ["react-hook-form"] */ private extractPackageNames; /** * Create class inheritance and implementation relationships */ private createClassRelationships; /** * Create inheritance relationship (extends/implements) */ private createInheritanceRelationship; /** * Create function-related relationships */ private createFunctionRelationships; /** * Create containment relationships (file contains classes, functions, etc.) */ private createContainmentRelationships; /** * Create business concept relationships */ createBusinessConceptRelationships(conceptNodeId: string, relatedCodeNodeIds: string[], relatedDocNodeIds?: string[], relatedTestNodeIds?: string[]): Promise; /** * Create configuration relationships */ createConfigurationRelationships(configNodeId: string, affectedFileNodeIds: string[]): Promise; /** * Create test relationships */ createTestRelationships(testNodeId: string, testedFileNodeIds: string[]): Promise; /** * Resolve import path to actual file path */ private resolveImportPath; private fileExists; } //# sourceMappingURL=relationship-builder.d.ts.map