/** * Fixed-width pager chrome rows (meta/footer) and body wrapping. OpenTUI flex * children paint past borders; a single pre-padded string of exact column width * does not. * * Every budget here is measured in terminal columns and cut on grapheme * boundaries. Measuring with `String.length` counts UTF-16 units, which * over-counts combining scripts (Devanagari matras, Hangul jamo) and * under-counts wide glyphs (CJK, emoji) — the latter paints past the border, * and slicing mid-cluster orphans marks that then trail at the pane edge. */ export declare function fitOneLine(candidates: readonly string[], maxCols: number): string; /** * One terminal row of exactly `width` columns: left clipped, right clipped, * spaces between. */ export declare function padChromeRow(left: string, right: string, width: number): string; /** * Soft-wrap a body line so it stays inside the pager border. Breaks on a word * boundary when one sits late enough in the row, otherwise hard-breaks between * clusters. Zero-width marks stay attached to their base character. */ export declare function wrapPagerLine(line: string, width: number): string[];