import { type DocxExternalHyperlinkTargets } from './work-docx-note-comment-hyperlink-relationships'; export type { DocxExternalHyperlinkTargets } from './work-docx-note-comment-hyperlink-relationships'; export { createDocxExternalHyperlinkTargets, EMPTY_DOCX_EXTERNAL_HYPERLINK_TARGETS, } from './work-docx-note-comment-hyperlink-relationships'; /** Relationship Ids that resolve to package image parts. */ export type DocxImageEmbedTargets = ReadonlySet; export declare const EMPTY_DOCX_IMAGE_EMBED_TARGETS: DocxImageEmbedTargets; /** * Builds the admission lookup for relationship-bound inline pictures. * Only image relationship types without TargetMode (or with an empty one) * are retained; hyperlinks and external targets stay absent. */ export declare function createDocxImageEmbedTargets(relationships: Iterable<{ id: string; type: string; targetMode?: string; }>): DocxImageEmbedTargets; export type DocxParagraphMarkChangeKind = 'insertion' | 'deletion'; export interface ImportedDocxParagraphMarkChangeMarker { marker: string; id: string; kind: DocxParagraphMarkChangeKind; author: string; date: string; } export interface ImportedDocxParagraphMarkChangeMarkers { paragraphs: ImportedDocxParagraphMarkChangeMarker[]; } /** * Finds the bounded Word paragraph-mark insertion/deletion shape. Word and * WPS store the revision on the paragraph mark's run-properties node while * keeping the paragraph's text revisions in ordinary w:ins/w:del wrappers. */ export declare function markDocxParagraphMarkChanges(document: Document, externalHyperlinks?: DocxExternalHyperlinkTargets, imageEmbeds?: DocxImageEmbedTargets): ImportedDocxParagraphMarkChangeMarkers; export declare function applyImportedDocxParagraphMarkChangeMarkers(document: Document, markers: ImportedDocxParagraphMarkChangeMarkers): void; export declare function hasImportedDocxParagraphMarkChangeMarkers(markers: ImportedDocxParagraphMarkChangeMarkers): boolean; /** Returns true only for a native, unambiguous paragraph-mark revision. */ export declare function isSupportedDocxParagraphMarkChange(change: Element, externalHyperlinks?: DocxExternalHyperlinkTargets, imageEmbeds?: DocxImageEmbedTargets): boolean; export type DocxParagraphBreakMarkKind = 'merge' | 'split'; export interface InspectedDocxParagraphBreakMark { author: string; date: string; id: string; kind: DocxParagraphBreakMarkKind; } export interface ImportedDocxParagraphBreakChangeMarker { marker: string; id: string; kind: DocxParagraphBreakMarkKind; author: string; date: string; } export interface ImportedDocxParagraphBreakChangeMarkers { paragraphs: ImportedDocxParagraphBreakChangeMarker[]; } /** * Mark-only paragraph revisions (no matching body wrap) are paragraph-break * merge/split candidates. Eligible neighbors promote them into reviewable * Work changes; others stay diagnostics-only. */ export declare function isIsolatedDocxParagraphBreakMarkChange(change: Element, externalHyperlinks?: DocxExternalHyperlinkTargets, imageEmbeds?: DocxImageEmbedTargets): boolean; export declare function inspectDocxParagraphBreakMarkChanges(document: Document, externalHyperlinks?: DocxExternalHyperlinkTargets, imageEmbeds?: DocxImageEmbedTargets): InspectedDocxParagraphBreakMark[]; /** * Promotes eligible isolated paragraph-break marks into Work review markers. * Mammoth would join deleted marks; remove the native flag after capture so * both paragraphs survive for accept/reject. */ export declare function markDocxParagraphBreakChanges(document: Document, externalHyperlinks?: DocxExternalHyperlinkTargets, imageEmbeds?: DocxImageEmbedTargets): ImportedDocxParagraphBreakChangeMarkers; export declare function applyImportedDocxParagraphBreakChangeMarkers(document: Document, markers: ImportedDocxParagraphBreakChangeMarkers): void; export declare function hasImportedDocxParagraphBreakChangeMarkers(markers: ImportedDocxParagraphBreakChangeMarkers): boolean;