import type { BoundarySubgraph, DiffEntry, NodeLookup } from "./types.js"; export interface GraphReader { getImports: (fileId: number) => Array<{ source_file_id: number; target_file_id: number; reference_count: number; }>; getImporters: (fileId: number) => Array<{ source_file_id: number; target_file_id: number; reference_count: number; }>; } export interface FilePathResolver { pathToId: (path: string) => number | null; idToPath: (id: number) => string | null; } export interface BuildBoundaryOptions { graph: GraphReader; resolver: FilePathResolver; seeds: number[]; } export declare function buildPreBoundary(opts: BuildBoundaryOptions): { graph: BoundarySubgraph; lookup: NodeLookup; }; export declare function computeFanIn(nodes: Set, edges: Map>): Map; export declare function extractImportPaths(source: string): string[]; export declare function resolveImportToFileId(fromFile: string, importPath: string, resolver: FilePathResolver): number | null; export interface ApplyDiffEditsOptions { pre: BoundarySubgraph; lookup: NodeLookup; resolver: FilePathResolver; diffEntries: DiffEntry[]; projectRoot: string; baseRef: string; } export declare function applyDiffEdits(opts: ApplyDiffEditsOptions): BoundarySubgraph; export declare function buildPreImportsFromRef(cwd: string, ref: string, entries: DiffEntry[], resolver: FilePathResolver): Map>;