/* tslint:disable */ /* eslint-disable */ /** * Check if hyphenation data has been loaded for a language. */ export function has_hyphenation_data(lang: string): boolean; export function init_panic_hook(): void; export function kp_break_pass(types: Uint8Array, w: Float64Array, y: Float64Array, z: Float64Array, p: Float64Array, f: Uint8Array, hy: Float64Array, hz: Float64Array, target_width: number, sim_dem: number, extra_stretch: number, extra_shrink: number): Uint32Array; /** * Unified pipeline: text + font bytes in, Line[] out. * One WASM call replaces measure -> tokenise -> break -> build. */ export function layout_paragraph(font_data: Uint8Array, font_size_px: number, text: string, line_width: number, sim_dem: number, hyphenate: boolean, lang: string, dir: string, writing_mode: string, hz_min: number, hz_max: number, liga: boolean, font_weight: number, opsz: number, ital: number): any; export function layout_paragraph_for_font(font_handle: number, font_size_px: number, text: string, line_width: number, sim_dem: number, hyphenate: boolean, lang: string, dir: string, writing_mode: string, hz_min: number, hz_max: number, liga: boolean, font_weight: number, opsz: number, ital: number): any; /** * Load hyphenation trie data for a language. Must be called before * `layout_paragraph` with `hyphenate=true` for that language. */ export function load_hyphenation_data(lang: string, data: Uint8Array): void; /** * Measure a single word using harfrust. Useful for validation/debugging. * * `wdth` controls the font-width variation axis (default 100.0 = normal). * Pass a value != 100.0 to measure at a different width (e.g. 85.0 for compressed). */ export function measure_word_width(font_data: Uint8Array, font_size_px: number, text: string, liga: boolean, font_weight: number, opsz: number, ital: number, wdth: number): number; export function register_layout_font(font_data: Uint8Array): number; export function unregister_layout_font(handle: number): boolean; export function wasm_build_id(): string; export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; export interface InitOutput { readonly memory: WebAssembly.Memory; readonly has_hyphenation_data: (a: number, b: number) => number; readonly init_panic_hook: () => void; readonly kp_break_pass: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number) => void; readonly layout_paragraph: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number) => number; readonly layout_paragraph_for_font: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number) => number; readonly load_hyphenation_data: (a: number, b: number, c: number, d: number) => void; readonly measure_word_width: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => number; readonly register_layout_font: (a: number, b: number) => number; readonly unregister_layout_font: (a: number) => number; readonly wasm_build_id: (a: number) => void; readonly __wbindgen_export: (a: number, b: number) => number; readonly __wbindgen_export2: (a: number, b: number, c: number, d: number) => number; readonly __wbindgen_export3: (a: number, b: number, c: number) => void; readonly __wbindgen_add_to_stack_pointer: (a: number) => number; readonly __wbindgen_start: () => void; } export type SyncInitInput = BufferSource | WebAssembly.Module; /** * Instantiates the given `module`, which can either be bytes or * a precompiled `WebAssembly.Module`. * * @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated. * * @returns {InitOutput} */ export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput; /** * If `module_or_path` is {RequestInfo} or {URL}, makes a request and * for everything else, calls `WebAssembly.instantiate` directly. * * @param {{ module_or_path: InitInput | Promise }} module_or_path - Passing `InitInput` directly is deprecated. * * @returns {Promise} */ export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise } | InitInput | Promise): Promise;