/** * Global semantic-fact reconciler (P2 MCP audit Phase 3 Task 3.4). * * Shard workers build Programs over shard-local files. A reference whose * checker target is another workspace package's built `.d.ts` cannot join to * that package's SOURCE declaration inside the worker. After fragment merge * the global generation has every shard's declarations + the complete * {@link PackageManifestIndex}, so unresolved cross-package references finish * here — without widening worker Programs or reading source / node_modules. * * Pure: no filesystem, no compiler nodes, no mutation of shard-fragment rows. * Cached local fragments are re-reconciled against the current generation so * removed/renamed packages cannot leave stale target IDs. */ import type { PackageManifestIndex } from '../../cross-package/export-index.js'; import type { DeclarationFact, SemanticFactBundle, SemanticFactLimits } from '../../types.js'; /** * Build a unique exported-declaration index from already-captured project * declarations. Ambiguous (package, subpath, name, kind) keys are tombstoned * so lookup declines rather than guessing. */ export declare function buildExportedDeclarationIndex(declarations: readonly DeclarationFact[], manifestIndex: PackageManifestIndex): { readonly unique: ReadonlyMap; readonly ambiguous: ReadonlySet; }; /** * Reconcile unresolved cross-package references against the merged declaration * inventory. References that already carry a `targetDeclarationId` are kept * when that id still exists; otherwise they are downgraded. Import-specifier * mediated unresolved refs attempt a unique workspace join. */ export declare function reconcileSemanticFacts(bundle: SemanticFactBundle | undefined, manifestIndex: PackageManifestIndex, limits?: SemanticFactLimits): SemanticFactBundle | undefined; //# sourceMappingURL=semantic-fact-reconcile.d.ts.map