/** * Dependency Graph Builder * * Builds and manages the dependency graph for code analysis */ import type { DependencyGraph, DependencyNode, ImportReference, ExportReference } from "../../types/change-impact.js"; export declare class DependencyGraphBuilder { private projectRoot; private graph; private readonly CACHE_DURATION; constructor(projectRoot: string); /** * Get the current graph (may be null if not built) */ getGraph(): DependencyGraph | null; /** * Build or refresh the dependency graph */ buildGraph(forceRebuild?: boolean): Promise; /** * Parse a file to extract imports and exports */ parseFile(file: string): Promise; /** * Parse import statements from file content */ parseImports(content: string): ImportReference[]; /** * Parse export statements from file content */ parseExports(content: string): ExportReference[]; /** * Find all TypeScript/JavaScript source files */ private findSourceFiles; /** * Resolve import path relative to importing file */ resolveImportPath(importerFile: string, importPath: string): string; /** * Normalize file path to be relative to project root */ normalizePath(file: string): string; /** * Get graph statistics */ getGraphStats(): { fileCount: number; totalImports: number; totalExports: number; lastBuilt: Date | null; }; } //# sourceMappingURL=dependency-graph-builder.d.ts.map