import { SourcedFragment, SourcedRun } from "./text-layout.cjs"; import { Alignment, Box, ContentCellBorders, ContentImageBlock, ContentRun, ContentTableRow, LayoutFont, LayoutFrame, LayoutMetadata, MathFontMetrics, MathMlNode, PageSize, StyledRun, TextMeasurer, WrappedLine } from "document-schema.js"; import { LayoutDocument, LayoutImageAsset, LayoutItem, LayoutPage, LayoutText } from "pdf-codec"; //#region src/layout/shared.d.ts declare function stampFrame(node: { frames?: LayoutFrame[]; }, pageIndex: number, box: Box): void; declare function textBoxForFragment(item: LayoutText, textWidthPt: number, ascentPt: number, descentPt: number): Box; declare function stampFragmentFrame(runs: readonly ContentRun[], fragment: SourcedFragment, pageIndex: number, item: LayoutText, measurer: TextMeasurer, line: { readonly ascentPt: number; readonly descentPt: number; }): void; declare function packagePagesOf(pages: readonly LayoutPage[]): PageSize[]; declare function layoutDocumentOf(metadata: LayoutMetadata, pages: LayoutPage[], images: Record): LayoutDocument; declare const NOMINAL_TEXT_SIZE_PT = 18; declare function formulaSizePtForFrame(mathml: readonly MathMlNode[], frame: Box, mathMetricsAt: (sizePt: number) => MathFontMetrics): number; declare const HEADING_STYLES: Record; declare function headingStyleFor(styleId: string | undefined): { bold: boolean; sizePt: number; } | undefined; declare function runFont(run: ContentRun, headingBold?: boolean): LayoutFont; declare function toStyledRuns(runs: readonly ContentRun[], fontScale?: number, headingStyle?: { bold: boolean; sizePt: number; }): SourcedRun[]; declare function effectiveStyledRuns(runs: readonly ContentRun[], fontScale?: number, headingStyle?: { bold: boolean; sizePt: number; }): SourcedRun[]; declare function lineNaturalHeightPt(line: WrappedLine, measurer: TextMeasurer, fallback: StyledRun): number; declare function alignmentOffsetPt(alignment: Alignment | undefined, contentWidthPt: number, lineWidthPt: number): number; declare function justifyLineGapsPt(line: WrappedLine, targetWidthPt: number, measurer: TextMeasurer): readonly number[]; declare function pushCellBorderLines(borders: ContentCellBorders, frameYDown: Box, pageHeightPt: number, sourcePath: string | undefined, out: LayoutItem[]): void; declare function registerImage(block: ContentImageBlock, images: Record): string; declare function sumColumnWidthsPt(columnWidthsPt: readonly number[], startIndex: number, span: number): number; declare function estimateRowHeightPt(row: ContentTableRow, measurer: TextMeasurer, columnWidthsPt: readonly number[], scale: number): number; //#endregion export { HEADING_STYLES, NOMINAL_TEXT_SIZE_PT, alignmentOffsetPt, effectiveStyledRuns, estimateRowHeightPt, formulaSizePtForFrame, headingStyleFor, justifyLineGapsPt, layoutDocumentOf, lineNaturalHeightPt, packagePagesOf, pushCellBorderLines, registerImage, runFont, stampFragmentFrame, stampFrame, sumColumnWidthsPt, textBoxForFragment, toStyledRuns };