/** * Stable dependency classes that an incremental page checkpoint may fence. * * This list is proof metadata, never a feature switch. Producers must name * every retained dependency that required the checkpoint; consumers reject * empty, duplicate, or unknown lists instead of trusting a generic boolean. */ export type PageCheckpointDependencyClass = 'multiple-sections' | 'furniture-page-tokens' | 'non-balanceable-multi-column-sections' | 'body-anchored-objects' | 'non-flowing-page-relative-body-anchors' | 'footnotes' | 'page-references' | 'cross-references' | 'keep-constraints' | 'tables' | 'furniture-anchored-objects'; export declare const PAGE_CHECKPOINT_DEPENDENCY_CLASSES: readonly ["multiple-sections", "furniture-page-tokens", "non-balanceable-multi-column-sections", "body-anchored-objects", "non-flowing-page-relative-body-anchors", "footnotes", "page-references", "cross-references", "keep-constraints", "tables", "furniture-anchored-objects"]; /** * Exact retained-generation proof for page/margin-relative body anchors that * cannot influence paragraph flow (`wrap=None`). The host builds this once * from a canonical layout generation; warm consumers validate the epoch, * inventory, identities, and page ownership before admitting bounded layout. */ export type NonFlowingPageRelativeAnchorDependencyProof = { version: 2; sourceLayoutEpoch: number; inventoryFingerprint: string; entries: readonly ({ blockId: string; carrierParagraphId: string; sourcePageIndex: number; sectionIndex: number; geometryFingerprint: string; measureFingerprint: string; pageGeometryFingerprint: string; } & ({ blockKind: 'image'; drawingKind?: never; } | { blockKind: 'drawing'; drawingKind: 'image' | 'vectorShape' | 'textboxShape' | 'shapeGroup' | 'chart'; }))[]; }; export type IncrementalDependencyCertificateClass = 'checkpoint-geometry' | 'section-numbering' | 'font-style-inputs' | 'notes' | 'furniture' | 'flowing-anchors' | 'non-flowing-page-anchors' | 'convergence' | 'source-topology'; export declare const INCREMENTAL_DEPENDENCY_CERTIFICATE_CLASSES: readonly ["checkpoint-geometry", "section-numbering", "font-style-inputs", "notes", "furniture", "flowing-anchors", "non-flowing-page-anchors", "convergence", "source-topology"]; export interface IncrementalDependencyOwnerVersion { readonly sourceRevision: string; readonly renderInputEpoch: number; readonly fontEpoch: string; readonly styleEpoch: string; readonly packetFingerprint: string; } export interface PageCheckpointDependencyCertificate { readonly version: 1; readonly certificateId: string; readonly owner: IncrementalDependencyOwnerVersion; readonly storyKey: string; readonly partUri: string; readonly pageIndex: number; readonly blockId: string; readonly prefixFragmentCount: number; readonly dependencyClasses: readonly IncrementalDependencyCertificateClass[]; readonly classFingerprints: Readonly>>; readonly upstreamConvergenceFingerprint: string; readonly downstreamConvergenceFingerprint: string; readonly fragmentTopologyFingerprint: string; } export declare function isValidIncrementalDependencyOwnerVersion(value: unknown): value is IncrementalDependencyOwnerVersion; export declare function isValidPageCheckpointDependencyCertificate(value: unknown): value is PageCheckpointDependencyCertificate; export declare function isValidNonFlowingPageRelativeAnchorDependencyProof(value: unknown): value is NonFlowingPageRelativeAnchorDependencyProof; export declare function areValidPageCheckpointDependencyClasses(value: unknown): value is readonly PageCheckpointDependencyClass[];