import { DropCapDescriptor, Line, ParagraphBlock, ParagraphMeasure, ResolvedParagraphContent, Run, SdtMetadata, SourceAnchor } from '../../../../contracts/src/index.js'; import { MinimalWordLayout } from '../../../../../shared/common/list-marker-utils.js'; import { SdtAncestorOptions, SdtBoundaryOptions } from '../sdt/container.js'; import { BetweenBorderInfo } from './borders/index.js'; export type RenderedParagraphLineInfo = { el: HTMLElement; top: number; height: number; }; export type ParagraphRenderLineInput = { block: ParagraphBlock; line: Line; lineIndex: number; isLastLine: boolean; availableWidth?: number; skipJustify?: boolean; preExpandedRuns?: Run[]; resolvedListTextStartPx?: number; indentOffsetOverride?: number; paragraphMarkLeftOffsetOverride?: number; }; export type ParagraphRenderLine = (input: ParagraphRenderLineInput) => HTMLElement; export type ParagraphRenderDropCap = (descriptor: DropCapDescriptor, measure?: { width: number; height: number; lines: number; mode: 'drop' | 'margin'; }) => HTMLElement; export type ParagraphContainerKind = 'body-fragment' | 'table-cell'; type ParagraphSpacingPolicy = { isFirstBlock: boolean; isLastBlock: boolean; paddingTop: number; }; export type RenderParagraphContentParams = { doc: Document; frameEl: HTMLElement; block: ParagraphBlock; measure: ParagraphMeasure; containerKind: ParagraphContainerKind; width: number; localStartLine: number; localEndLine: number; linesOverride?: Line[]; lineIndexOffset?: number; continuesFromPrev?: boolean; continuesOnNext?: boolean; markerWidth?: number; markerTextWidth?: number; wordLayout?: MinimalWordLayout; resolvedContent?: ResolvedParagraphContent; betweenInfo?: BetweenBorderInfo; sdtBoundary?: SdtBoundaryOptions; spacingPolicy?: ParagraphSpacingPolicy; ancestorContainerKey?: string | null; ancestorContainerSdt?: SdtMetadata | null; ancestorContainerKeys?: SdtAncestorOptions['ancestorContainerKeys']; ancestorContainerSdts?: SdtAncestorOptions['ancestorContainerSdts']; onSdtContainerChrome?: () => void; applySdtDataset: (el: HTMLElement | null, metadata?: SdtMetadata | null) => void; applyContainerSdtDataset?: (el: HTMLElement | null, metadata?: SdtMetadata | null) => void; renderLine: ParagraphRenderLine; renderDropCap?: ParagraphRenderDropCap; captureLineSnapshot?: (lineEl: HTMLElement, options?: { inTableParagraph?: boolean; wrapperEl?: HTMLElement; sourceAnchor?: SourceAnchor; }) => void; convertFinalParagraphMark?: boolean; lineTopOffset?: number; sourceAnchor?: SourceAnchor; contentControlsChrome?: 'default' | 'none'; }; export type RenderParagraphContentResult = { renderedHeight: number; totalHeight: number; renderedLines: RenderedParagraphLineInfo[]; }; export declare const renderParagraphContent: (params: RenderParagraphContentParams) => RenderParagraphContentResult; export {}; //# sourceMappingURL=renderParagraphContent.d.ts.map