import type { TCoreArgumentForkRecord, TCorePremiseForkRecord, TCoreExpressionForkRecord, TCoreVariableForkRecord, TCoreClaimForkRecord } from "../schemata/fork.js"; import { ForkNamespace } from "./fork-namespace.js"; import type { TForkLibrarySnapshot } from "./interfaces/library.interfaces.js"; import type { TInvariantValidationResult } from "../types/validation.js"; /** * Aggregate container for fork provenance across all entity types. * Holds five {@link ForkNamespace} instances — one per entity kind * (arguments, premises, expressions, variables, claims). * Fork records are immutable after creation and carry no checksums. * * As of v0.10.0 the legacy `sources` namespace has been folded into * `claims` — sources are now claims with `type: "citation"`. */ export declare class ForkLibrary { readonly arguments: ForkNamespace; readonly premises: ForkNamespace; readonly expressions: ForkNamespace; readonly variables: ForkNamespace; readonly claims: ForkNamespace; constructor(); /** Returns a serializable snapshot of all five namespaces. */ snapshot(): TForkLibrarySnapshot; /** * Restores a full library from a previously captured snapshot. * * Pre-v0.10.0 snapshots that contained a `sources` namespace are not * supported here — callers must convert them via the CLI migration * before invoking `fromSnapshot`. Any stray `sources` key on * an input snapshot is silently ignored. */ static fromSnapshot(snapshot: TForkLibrarySnapshot): ForkLibrary; /** Validates all five namespaces and returns the combined result. */ validate(): TInvariantValidationResult; } //# sourceMappingURL=fork-library.d.ts.map