import type { ArtifactBundle } from "../io/artifacts.js"; type SliceProjection = (bundle: ArtifactBundle) => unknown; /** * Sentinel slice hash for a projection that THREW (malformed upstream shape). * Never equal to a recorded sha256, so a compare against it reads as * slice-changed → stale (fail-safe). The stamping path skips recording it so * the edge falls back to the whole-hash compare instead of pinning an error * marker. */ export declare const SLICE_PROJECTION_ERROR = "slice-projection-error"; export declare const DEPENDENCY_SLICE_PROJECTIONS: Partial>>>; /** True when a slice projection is registered for the (downstream, upstream) edge. */ export declare function hasDependencySliceProjection(downstream: string, upstream: string): boolean; /** * The current slice hash for a registered edge, `undefined` when no projection * is registered, `SLICE_PROJECTION_ERROR` when the projection threw (compare * sites read that as slice-changed; the stamping site skips recording it). */ export declare function computeDependencySliceHash(downstream: string, upstream: string, bundle: ArtifactBundle): string | undefined; /** * Build the `dependency_slices` record to stamp on a LISTED re-derivation of * `downstream`: one entry per registered edge whose projection succeeded. * Returns `undefined` when nothing is recordable (no registered edges, or every * projection errored) so entries without projections stay shape-identical to * today's. */ export declare function buildDependencySlices(downstream: string, dependencyNames: readonly string[], bundle: ArtifactBundle): Record | undefined; export {}; //# sourceMappingURL=dependencySlices.d.ts.map