import type { TCoreClaim } from "../schemata/claim.js"; import type { TCoreChecksumConfig } from "../types/checksum.js"; import type { TClaimLibraryManagement, TClaimLibrarySnapshot } from "./interfaces/library.interfaces.js"; import { VersionedLibrary } from "./versioned-library.js"; /** * Input shape for {@link ClaimLibrary.create}. The `type` field is required * (and immutable thereafter); `id` is auto-generated when omitted. Other * extension fields on `TClaim` are passed through as-is, matching the base * {@link VersionedLibrary.create} contract. */ export type TClaimCreateInput = Omit | (Omit & { id?: string; }); export declare class ClaimLibrary extends VersionedLibrary implements TClaimLibraryManagement { protected readonly entityLabel = "Claim"; protected readonly entityType: "claim"; protected readonly schema: import("typebox").TObject<{ id: import("typebox").TString; version: import("typebox").TNumber; frozen: import("typebox").TBoolean; checksum: import("typebox").TString; type: import("typebox").TUnion<[import("typebox").TLiteral<"normal">, import("typebox").TLiteral<"citation">, import("typebox").TLiteral<"axiomatic">]>; }>; protected readonly checksumFieldsKey: "claimFields"; protected readonly schemaInvalidCode = "CLAIM_SCHEMA_INVALID"; protected readonly frozenSuccessorCode = "CLAIM_FROZEN_NO_SUCCESSOR"; private readonly generateId; constructor(options?: { checksumConfig?: TCoreChecksumConfig; generateId?: () => string; }); /** * Creates a new claim at version 0. The `type` field is required and is * immutable across the claim's lifetime. `id` is auto-generated when omitted. */ create(input: TClaimCreateInput): TClaim; /** * Applies partial updates to the latest version of a claim. Rejects any * update that would change the immutable `type` field. */ update(id: string, updates: Partial>): TClaim; snapshot(): TClaimLibrarySnapshot; /** * Restores a claim library from a previously captured snapshot. * Pre-screens for legacy (pre-v0.10.0) claim entries that lack the * required `type` field and emits {@link LEGACY_CLAIM_MISSING_TYPE} so * the caller gets a clear migration signal rather than a generic schema * error. */ static fromSnapshot(snapshot: TClaimLibrarySnapshot, options?: { checksumConfig?: TCoreChecksumConfig; generateId?: () => string; }): ClaimLibrary; } //# sourceMappingURL=claim-library.d.ts.map