import type { InlineSpan } from '../parse/index.js'; import type { MeasuredBlock, MeasurementCache, MeasureBlockOptions } from './types.js'; export type { BreakTrace, LineInsetStep, LineWidthStep, MeasuredBlock, MeasurementCache, MeasureBlockOptions } from './types.js'; export { lineIndentAt, maxLineIndent } from './types.js'; export { buildFontString, initHyphenator, clearMeasurementCache, createMeasurementCache, evictFontFamilies } from './font.js'; export { measurementGeneration } from './canvas.js'; export { parseFontString, fontStringFamily } from './fontString.js'; export type { FontFaceRequest } from './fontString.js'; export { measureGlyphWidth, measureTextWidth } from './canvas.js'; export { measureBlock } from './plain.js'; export { measureRichBlock } from './rich.js'; export { setCjkLineBreak, getCjkLineBreak } from './cjkClasses.js'; export { setCjkComposition, getCjkComposition, cjkCompositionOf, cjkCompositionKey, punctuationAdvance, punctuationSide, PLAIN_CJK_COMPOSITION } from './cjkPunctuation.js'; export type { CjkComposition, PunctuationSide } from './cjkPunctuation.js'; /** {@link measureBlock} through `cache`: the same text, font, width, * leading and options measured before come back from it (a copy). A * measurement with `options.keepBreaks`, `options.restWidths` or * `options.lineInsets` is never cached, since its lines follow the breaks it keeps or the measures it * was given: it is measured afresh and leaves the cache as it was. One * with `breakAfterDashes`, `optimalRagged`, `breakAfterHyphens`, * `hyphenateCompounds: false` or `repeatHyphen` is kept apart from the * others, one set per combination of them. */ export declare function cachedMeasureBlock(text: string, font: string, maxWidthPx: number, lineHeightPx: number, options: MeasureBlockOptions | undefined, cache: MeasurementCache): MeasuredBlock; /** {@link measureRichBlock} through `cache`, as {@link cachedMeasureBlock} * does it: a measurement with `options.keepBreaks` or * `options.restWidths` is never cached. */ export declare function cachedMeasureRichBlock(spans: InlineSpan[], normalFont: string, boldFont: string, italicFont: string, boldItalicFont: string, maxWidthPx: number, lineHeightPx: number, options: MeasureBlockOptions | undefined, cache: MeasurementCache): MeasuredBlock; /** {@link measureRichSnippet} (a table cell's paragraph, a piece of a * caption or a note) through `cache`, as {@link cachedMeasureRichBlock} * does it (#781): a table is laid out on every pass of every build, and * its cells measured afresh each time were a third of a warm relayout. */ export declare function cachedMeasureRichSnippet(spans: InlineSpan[], normalFont: string, boldFont: string, italicFont: string, boldItalicFont: string, maxWidthPx: number, lineHeightPx: number, options: MeasureBlockOptions | undefined, cache: MeasurementCache): MeasuredBlock; //# sourceMappingURL=index.d.ts.map