/** * @nahisaho/musubix-codegraph - Graph Engine * * Core graph engine for code entity relationship management * * @see REQ-CG-GRF-001 - Graph construction * @see REQ-CG-GRF-002 - Relation inference * @see REQ-CG-GRF-003 - Query operations * @see DES-CG-003 * @see TSK-CG-020 */ import type { Entity, Relation, StorageAdapter, GraphOptions, GraphQuery, QueryResult, CallPath, ModuleAnalysis } from '../types.js'; /** * Graph Engine for code entities * * Manages the code graph, performs queries, and provides * traversal algorithms for dependency and call analysis. */ export declare class GraphEngine { private storage; private _options; private enableInferRelations; constructor(storage: StorageAdapter, options?: Partial); /** * Get max traversal depth */ getMaxDepth(): number; /** * Add entity to graph */ addEntity(entity: Entity): Promise; /** * Add multiple entities */ addEntities(entities: Entity[]): Promise; /** * Get entity by ID */ getEntity(id: string): Promise; /** * Find entity by name */ findByName(name: string): Promise; /** * Add relation to graph */ addRelation(relation: Relation): Promise; /** * Add multiple relations */ addRelations(relations: Relation[]): Promise; /** * Infer relations from entities */ inferRelations(entities: Entity[]): Promise; /** * Extract function calls from source code */ private extractCallsFromSource; /** * Query the graph */ query(query: GraphQuery): Promise; /** * Find dependencies of an entity */ findDependencies(entityName: string, depth?: number): Promise; /** * Traverse dependencies recursively */ private traverseDependencies; /** * Find callers of an entity */ findCallers(entityName: string): Promise; /** * Find callees of an entity */ findCallees(entityName: string): Promise; /** * Find implementations of an interface */ findImplementations(interfaceName: string): Promise; /** * Analyze module structure */ analyzeModule(filePath: string): Promise; /** * Add entities and relations from parse results */ addParseResults(entities: Entity[], relations: Relation[]): Promise; /** * Clear the graph */ clear(): Promise; } //# sourceMappingURL=graph-engine.d.ts.map