import type { GlyphInfo } from "../../types.ts"; /** * Thai/Lao character categories */ export declare enum ThaiLaoCategory { Other = 0, Consonant = 1, LeadingVowel = 2,// Vowels that appear before consonant AboveVowel = 3,// Vowels above consonant BelowVowel = 4,// Vowels below consonant FollowingVowel = 5,// Vowels after consonant Tone = 6,// Tone marks NikhahitMaiEk = 7,// Special combining marks SaraAm = 8,// Thai Sara Am (combines anusvara + aa) Symbol = 9 } /** * Check if codepoint is Thai */ export declare function isThai(cp: number): boolean; /** * Check if codepoint is Lao */ export declare function isLao(cp: number): boolean; /** * Get Thai/Lao category for a codepoint */ export declare function getThaiLaoCategory(cp: number): ThaiLaoCategory; /** * Set up masks for Thai/Lao shaping * * Thai/Lao require: * 1. Reordering of pre-base vowels (they appear before consonant visually but after in Unicode) * 2. Proper stacking of above/below vowels and tone marks */ export declare function setupThaiLaoMasks(infos: GlyphInfo[]): void; /** * Reorder Thai/Lao clusters * Leading vowels (Sara E, Sara Ae, Sara O, Sara Ai Mai Muan, Sara Ai Mai Malai) * are stored after consonant in Unicode but displayed before */ export declare function reorderThaiLao(infos: GlyphInfo[]): void;