import { HeaderGutter } from "./sheets.js"; import { Alignment, Box, ContentCellValue, ContentEmbeddedObject, ContentFormula, ContentSheet, ContentSheetCell, ContentSheetImage, MathFontMetrics, PositionedFormula, StyledFragment, StyledRun, TextMeasurer } from "document-schema.js"; import { LayoutImageAsset, LayoutItem } from "pdf-codec"; //#region src/layout/sheets-render.d.ts interface AnchoredFormula { readonly formula: ContentFormula; readonly anchorRow: number; readonly anchorColumn: number; readonly offsetXPt: number; readonly offsetYPt: number; readonly frame: Box; } declare function anchoredFormulas(sheet: ContentSheet): AnchoredFormula[]; declare function resolveAnchoredFormula(object: ContentEmbeddedObject): AnchoredFormula | undefined; declare function cellStyledRuns(cell: ContentSheetCell): StyledRun[]; declare function isNumericLikeValue(kind: ContentCellValue["kind"]): boolean; declare function defaultAlignmentForValue(kind: ContentCellValue["kind"]): Alignment; declare function isCellVisuallyEmpty(cell: ContentSheetCell | undefined): boolean; declare function truncateFragmentsToWidth(fragments: readonly (StyledFragment & { readonly xOffsetPt: number; })[], measurer: TextMeasurer, maxWidthPt: number): (StyledFragment & { readonly xOffsetPt: number; })[]; interface PositionedAxis { readonly indices: readonly number[]; readonly sizesPt: readonly number[]; readonly offsetsPt: readonly number[]; readonly positionByIndex: ReadonlyMap; } declare function buildPositionedAxis(repeatIndices: readonly number[], repeatSizePtOf: (index: number) => number, bandIndices: readonly number[], bandSizePtOf: (index: number) => number): PositionedAxis; declare function axisSpanSizePt(axis: PositionedAxis, startIndex: number, span: number): number; declare function resolveCellFrame(cell: ContentSheetCell, columnAxis: PositionedAxis, rowAxis: PositionedAxis, gridLeftXPt: number, gridTopYDownPt: number): Box | undefined; declare function renderCellBackground(cell: ContentSheetCell, frameYDown: Box, pageHeightPt: number, out: LayoutItem[]): void; declare function verticalLineTopYDownPt(verticalAlignment: "top" | "middle" | "bottom", cellTopYDownPt: number, cellHeightPt: number, lineHeightPt: number): number; declare function renderCellText(cell: ContentSheetCell, frameYDown: Box, pageIndex: number, rowCells: ReadonlyMap | undefined, columnAxis: PositionedAxis, pageHeightPt: number, measurer: TextMeasurer, out: LayoutItem[]): void; declare function renderHeaderLabels(gutter: HeaderGutter, columnAxis: PositionedAxis, rowAxis: PositionedAxis, gridLeftXPt: number, gridTopYDownPt: number, pageHeightPt: number, measurer: TextMeasurer, out: LayoutItem[]): void; declare function renderGridlines(gridLeftXPt: number, gridTopYDownPt: number, gridWidthPt: number, gridHeightPt: number, columnOffsetsPt: readonly number[], rowOffsetsPt: readonly number[], pageHeightPt: number, out: LayoutItem[]): void; declare function renderAnchoredFormulas(formulas: readonly AnchoredFormula[], columnAxis: PositionedAxis, rowAxis: PositionedAxis, gridLeftXPt: number, gridTopYDownPt: number, pageHeightPt: number, pageIndex: number, hiddenColumnIndices: ReadonlySet, hiddenRowIndices: ReadonlySet, out: PositionedFormula[], mathMetricsAt: (sizePt: number) => MathFontMetrics): void; declare function renderAnchoredImages(sheetImages: readonly ContentSheetImage[], columnAxis: PositionedAxis, rowAxis: PositionedAxis, gridLeftXPt: number, gridTopYDownPt: number, pageHeightPt: number, pageIndex: number, hiddenColumnIndices: ReadonlySet, hiddenRowIndices: ReadonlySet, out: LayoutItem[], images: Record): void; //#endregion export { AnchoredFormula, PositionedAxis, anchoredFormulas, axisSpanSizePt, buildPositionedAxis, cellStyledRuns, defaultAlignmentForValue, isCellVisuallyEmpty, isNumericLikeValue, renderAnchoredFormulas, renderAnchoredImages, renderCellBackground, renderCellText, renderGridlines, renderHeaderLabels, resolveAnchoredFormula, resolveCellFrame, truncateFragmentsToWidth, verticalLineTopYDownPt };