import { Node as PMNode } from 'prosemirror-model'; import { NumberingProperties, StylesDocumentProperties } from '../../../../../../../layout-engine/style-engine/src/ooxml/index.js'; import { CommentInput } from '../algorithm/comment-diffing.js'; import { HeaderFooterState } from '../algorithm/header-footer-diffing.js'; import { PartsState } from '../algorithm/parts-diffing.js'; /** The canonical diffable state of one document. */ export interface CanonicalDiffableState { body: Record; comments: Record[]; styles: Record | null; numbering: Record | null; headerFooters: HeaderFooterState | null; partsState: PartsState | null; } /** * Builds the canonical diffable state from raw editor data. * * This is the single source of truth for what parts of a document are * considered during fingerprinting and diffing. */ export declare function buildCanonicalDiffableState(doc: PMNode, comments: CommentInput[], styles: StylesDocumentProperties | null | undefined, numbering: NumberingProperties | null | undefined, headerFooters: HeaderFooterState | null | undefined, partsState: PartsState | null | undefined): CanonicalDiffableState; /** * Builds the canonical state under the pre-SD-3279 normalization. Used only * by the validation fallback in `diff-service.ts` to accept snapshots and * diff payloads whose stored fingerprint was computed under the old * algorithm. Identical shape to {@link buildCanonicalDiffableState}; only * the body normalizer differs. */ export declare function buildLegacyCanonicalDiffableState(doc: PMNode, comments: CommentInput[], styles: StylesDocumentProperties | null | undefined, numbering: NumberingProperties | null | undefined, headerFooters: HeaderFooterState | null | undefined, partsState: PartsState | null | undefined): CanonicalDiffableState; /** * Produces a stable JSON string from a canonical diffable state. * Key ordering is recursively normalized so that equivalent states * always produce identical strings regardless of insertion order. */ export declare function stableStringify(state: CanonicalDiffableState): string; //# sourceMappingURL=canonicalize.d.ts.map