/**
 * ImportGraph
 *
 * Builds a directed file→file import graph from a ProjectGraph.
 * Only relative imports (from_package starting with '.') are resolved to edges —
 * stdlib and npm package imports are ignored.
 *
 * Used by CircularDependencyPass and OrphanModulePass.
 */
import type { ProjectGraph } from './project-graph.js';
export declare class ImportGraph {
    /** file → set of files it imports */
    private readonly outEdges;
    /** file → set of files that import it */
    private readonly inEdges;
    /** All known file paths */
    private readonly allFiles;
    constructor(projectGraph: ProjectGraph);
    /** Files directly imported by `filePath`. */
    edgesFrom(filePath: string): string[];
    /** Files that directly import `filePath`. */
    edgesTo(filePath: string): string[];
    /**
     * Tarjan's SCC — returns groups of files that form import cycles.
     * Each returned Set has size ≥ 2 (only actual cycles).
     */
    findCycles(): Set<string>[];
    /**
     * Returns file paths with zero incoming import edges that are not entry points.
     * Entry points: filename base (without extension) matches /^(index|main|app|server|mod)$/i
     */
    findOrphans(): string[];
}
//# sourceMappingURL=import-graph.d.ts.map