/** * Stage 3 — Index build. * * Pure linear scans over the catalog. No TS, no AST, no filesystem. * Data → data. */ import type { Catalog, FunctionOccurrence, Indexes } from '../types.js'; /** The content-keyed maps a single linear scan of the catalog produces. */ export interface HashMaps { readonly byBodyHash: Map; readonly occurrencesByHash: Map; readonly bySimpleName: Map; /** `${filePath}:${line}:${column}` → occurrence (package-unique node id). */ readonly byOccId: Map; } /** * One linear pass over `catalog.functions` producing the content-keyed maps: * `byBodyHash` (last-writer-wins, content-dedup), `occurrencesByHash` (all * occurrences per hash — collision-preserving), `bySimpleName`, and `byOccId` * (per-occurrence location id — the SCC/cycle node identity). Shared by * `buildIndexes` and the cross-package edge-constraint pass so both derive * package identity from the same scan. */ export declare function buildHashMaps(catalog: Catalog): HashMaps; /** Builds query-side indexes (by-body-hash, by-occ-id, by-simple-name, adjacency) over the catalog. */ export declare function buildIndexes(catalog: Catalog): Indexes; //# sourceMappingURL=indexes.d.ts.map