declare const MOVE_FROM = "moveFrom"; declare const MOVE_TO = "moveTo"; export interface DocxMoveRangeCompanion { rangeId: string; rangeName: string; from: Element; to: Element; markers: readonly Element[]; } /** * Word often wraps bounded `w:moveFrom`/`w:moveTo` pairs with matching * `w:move*Range*` bookmarks. Companion bookmarks are relationship-free and * uniquely sandwich each supported move wrapper in document order (immediate * siblings, cross-paragraph placement including across section breaks, one * table with the move in a cell and allowlisted chrome / sibling cell * text-only content, up to two nesting levels of move-path tables (three * `w:tbl` ancestors) when the move lives inside the innermost table under * those same cell rules, one text-only nested table that * sits beside the move in the same cell, or one simple `w:sdt` whose * content path holds the move's paragraph, flat table, or up to two-level * nested move-path table). They may be stripped after capture so the text move stays * reviewable. Deeper table nesting (four or more move-path tables), nested/sibling SDT, section-sandwich, * tracked or rich sibling-cell / beside-table content, and unpaired markers * stay fail-closed. */ export declare function companionDocxMoveRangeBookmarks(document: Document, movePairs: ReadonlyArray<{ from: Element; to: Element; }>): DocxMoveRangeCompanion[]; export declare function stripDocxMoveRangeMarkers(markers: readonly Element[]): void; export declare function inspectUnpairedDocxMoveRangeMarkers(document: Document, companions: readonly DocxMoveRangeCompanion[]): number; export declare const DOCX_MOVE_RANGE_MARKER_NAMES: readonly ["moveFromRangeStart", "moveFromRangeEnd", "moveToRangeStart", "moveToRangeEnd"]; export { MOVE_FROM, MOVE_TO };