import type { Editor } from '@tiptap/core'; import type { Node as ProseMirrorNode } from '@tiptap/pm/model'; import type { OfficeKernelLayoutBlock } from '../../kernel/office-kernel-protocol'; import type { MeasuredDocumentLayoutBlock } from './work-document-pagination-types'; import type { WorkDocumentSectionLayout } from './work-types'; export declare function reusableDocumentLayoutBlocks(previous: readonly MeasuredDocumentLayoutBlock[], blockId: string, element: HTMLElement, nodeTo: number, dirtyFrom: number): MeasuredDocumentLayoutBlock[]; export declare function reusableDocumentChunkLayoutBlocks(previous: readonly MeasuredDocumentLayoutBlock[], element: HTMLElement, chunkFrom: number, chunkTo: number, dirtyFrom: number): MeasuredDocumentLayoutBlock[]; export declare function isDocumentListNode(node: ProseMirrorNode): boolean; export declare function documentListChildId(listId: string, itemIndex: number, node: ProseMirrorNode, childIndex: number, nestedList?: boolean): string; export declare function verticalBlockStart(style: CSSStyleDeclaration): number; export declare function verticalBlockEnd(style: CSSStyleDeclaration): number; export declare function documentInlineOffsets(editor: Editor, element: HTMLElement): { inlineOffsetLeft: number; inlineOffsetRight: number; }; export interface DocumentNodeParagraphPagination { keepLines: boolean; keepWithNext: boolean; pageBreakBefore: boolean; widowControl: boolean; } export declare function documentNodeParagraphPagination(node: ProseMirrorNode): DocumentNodeParagraphPagination; export declare function measuredDocumentBlock({ block, element, from, to, }: { block: OfficeKernelLayoutBlock; element: HTMLElement; from: number; to: number; }): MeasuredDocumentLayoutBlock; export declare function shouldKeepDocumentBlockTogether(node: ProseMirrorNode): boolean; export declare function documentPaginationLayoutKey(layout: WorkDocumentSectionLayout): string; export declare function documentBlockId(sectionPosition: number, index: number, position: number): string; export declare function outerHeight(element: HTMLElement | null): number; export declare function nonNegativePixels(value: string): number; export declare function positivePixels(value: string): number; export declare function finitePixels(value: string): number; export declare function elementForNode(editor: Editor, position: number): HTMLElement | null;