import type { ModuleNode } from './analysis.types.js'; import type { CodebaseIndex } from '../ast/ast.types.js'; export declare class ModuleDependencyAnalyzer { analyze(index: CodebaseIndex, projectRoot: string): ModuleNode[]; private groupFilesByModule; private moduleOf; /** * Resolves an import source to a top-level src module name. * * Rules: * - Relative imports (start with `.`): resolved against the file's directory, * then the first non-`..` segment of the path relative to `src/` is the module name. * - Alias imports (no `.` prefix, not `@`-scoped, contains `/`): the first * path segment is the module name (e.g. `executor/pipeline` → `executor`). * - Bare package names (no `/`) and scoped packages (`@scope/pkg`) are * treated as external and return `null`. */ private resolveModule; } //# sourceMappingURL=module-dependency.analyser.d.ts.map