/**
 * Dependency graph builder - Multi-file compilation
 * Traverses local imports using ts.resolveModuleName()
 */
import { Result } from "../types/result.js";
import { Diagnostic } from "../types/diagnostic.js";
import { IrModule } from "../ir/types.js";
import type { CompilerOptions } from "./types.js";
import type { BindingRegistry, TypeBinding } from "./bindings.js";
export type ModuleDependencyGraphResult = {
    readonly modules: readonly IrModule[];
    readonly entryModule: IrModule;
    /** Type bindings loaded from CLR packages (for emitter bindingsRegistry) */
    readonly bindings: ReadonlyMap<string, TypeBinding>;
    /** Full binding registry for exact global/module/source binding lookups during emission. */
    readonly bindingRegistry: BindingRegistry;
};
/**
 * Build complete module dependency graph from entry point
 * Traverses all local imports and builds IR for all discovered modules
 * Uses TypeScript's ts.resolveModuleName() for correct module resolution
 */
export declare const buildModuleDependencyGraph: (entryFile: string, options: CompilerOptions) => Result<ModuleDependencyGraphResult, readonly Diagnostic[]>;
//# sourceMappingURL=dependency-graph.d.ts.map