export interface HighlightRange { start: number; /** One past the last. */ end: number; } export interface HighlightSegment { text: string; highlighted: boolean; } /** * Split out because an off-by-one paints the tint half a character adrift while everything looks * fine. Ranges match text the caller does not control, so overlapping, unsorted, reversed and * out-of-bounds inputs are normal, and none may drop or duplicate a character. */ export declare function splitHighlightSegments(value: string, ranges: readonly HighlightRange[]): HighlightSegment[];