import type { Node as ProseMirrorNode } from '@tiptap/pm/model'; import type { Transaction } from '@tiptap/pm/state'; export type DocumentParagraphBreakKind = 'merge' | 'split'; export interface DocumentParagraphBreakChangeSegment { id: string; kind: DocumentParagraphBreakKind; position: number; from: number; to: number; } export declare function clearDocumentParagraphBreakChangeAttributes(attributes: Record): Record; export declare function documentParagraphBreakChangeSegments(document: ProseMirrorNode): DocumentParagraphBreakChangeSegment[]; /** * Accept merge / reject split joins this paragraph with its neighbor. * Accept split / reject merge only clears the break attrs. */ export declare function resolveDocumentParagraphBreakChange(tr: Transaction, segment: DocumentParagraphBreakChangeSegment, decision: 'accept' | 'reject'): boolean; export declare function paragraphBreakChangeAttribute(field: 'kind' | 'id' | 'author' | 'date'): { default: string | null; parseHTML: (element: HTMLElement) => string | null; renderHTML: (attributes: Record) => { 'data-paragraph-break-change': string; 'data-paragraph-break-kind': string; } | { [x: string]: string; 'data-paragraph-break-change'?: undefined; 'data-paragraph-break-kind'?: undefined; }; };