import type { TCoreClaimConnection } from "../schemata/claim-connection.js"; import type { TCoreChecksumConfig } from "../types/checksum.js"; import type { TClaimLookup, TClaimConnectionLibraryManagement, TClaimConnectionLibrarySnapshot } from "./interfaces/library.interfaces.js"; import type { TInvariantValidationResult } from "../types/validation.js"; export declare class ClaimCitationLibrary implements TClaimConnectionLibraryManagement { private citations; private claimToConnections; private claimLookup; private checksumConfig?; constructor(claimLookup: TClaimLookup, options?: { checksumConfig?: TCoreChecksumConfig; }); private restoreFromSnapshot; private withValidation; add(citation: Omit): TCitation; remove(id: string): TCitation; getConnectionsForClaim(claimId: string): TCitation[]; get(id: string): TCitation | undefined; getAll(): TCitation[]; filter(predicate: (c: TCitation) => boolean): TCitation[]; snapshot(): TClaimConnectionLibrarySnapshot; /** Restores a claim-citation library from a snapshot, re-indexing all citations. */ static fromSnapshot(snapshot: TClaimConnectionLibrarySnapshot, claimLookup: TClaimLookup, options?: { checksumConfig?: TCoreChecksumConfig; }): ClaimCitationLibrary; validate(): TInvariantValidationResult; /** * Detects all cycles in the ID-only projection of the citation graph. * Returns one violation per cycle (deduped by the citation that closes * each detected cycle). */ private detectAllCycles; /** * Returns true if adding an edge from `claimId` to `supportingClaimId` * would create a cycle in the claim-citation graph. Edges go from the * dependent claim to the supporting claim; a cycle exists when the * dependent claim is reachable from the proposed supporting claim by * following outgoing edges. */ private wouldCreateCycle; private computeChecksum; } //# sourceMappingURL=claim-citation-library.d.ts.map