@vui-rs/core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/README.md +29 -0
  2. package/dist/char-width.d.ts +7 -0
  3. package/dist/char-width.js +20 -0
  4. package/dist/color-names.js +46 -0
  5. package/dist/color.d.ts +5 -0
  6. package/dist/color.js +57 -0
  7. package/dist/image-decode.d.ts +21 -0
  8. package/dist/image-decode.js +42 -0
  9. package/dist/index.d.ts +402 -0
  10. package/dist/index.js +27 -0
  11. package/dist/keys.d.ts +76 -0
  12. package/dist/keys.js +373 -0
  13. package/dist/named-colors.d.ts +7 -0
  14. package/dist/named-colors.js +20 -0
  15. package/dist/native/darwin-arm64/libvui_core.dylib +0 -0
  16. package/dist/native/darwin-x64/libvui_core.dylib +0 -0
  17. package/dist/native/ffi-symbols.d.ts +453 -0
  18. package/dist/native/ffi-symbols.js +680 -0
  19. package/dist/native/linux-arm64/libvui_core.so +0 -0
  20. package/dist/native/linux-x64/libvui_core.so +0 -0
  21. package/dist/native/load-native-lib.d.ts +384 -0
  22. package/dist/native/load-native-lib.js +63 -0
  23. package/dist/native/win32-x64/vui_core.dll +0 -0
  24. package/dist/node.d.ts +61 -0
  25. package/dist/node.js +157 -0
  26. package/dist/offscreen-buffer.d.ts +28 -0
  27. package/dist/offscreen-buffer.js +73 -0
  28. package/dist/renderer.d.ts +106 -0
  29. package/dist/renderer.js +186 -0
  30. package/dist/style.d.ts +48 -0
  31. package/dist/style.js +134 -0
  32. package/dist/terminal-session.d.ts +43 -0
  33. package/dist/terminal-session.js +82 -0
  34. package/dist/text/edit-buffer.d.ts +31 -0
  35. package/dist/text/edit-buffer.js +96 -0
  36. package/dist/text/editor-view.d.ts +22 -0
  37. package/dist/text/editor-view.js +48 -0
  38. package/dist/text/index.d.ts +5 -0
  39. package/dist/text/index.js +5 -0
  40. package/dist/text/text-buffer-view.d.ts +22 -0
  41. package/dist/text/text-buffer-view.js +49 -0
  42. package/dist/text/text-buffer.d.ts +16 -0
  43. package/dist/text/text-buffer.js +43 -0
  44. package/package.json +46 -0
@@ -0,0 +1,453 @@
1
+ import { FFIType } from "bun:ffi";
2
+
3
+ //#region src/native/ffi-symbols.d.ts
4
+ /**
5
+ * FFI ABI contract for vui-core. This file is the single source of truth that
6
+ * MUST stay in lockstep with the `#[unsafe(no_mangle)] extern "C"` exports in
7
+ * `crates/vui-core/src/ffi/` and the `#[repr(C)]` `Cell`. Any change here is an
8
+ * ABI change — bump `ABI_VERSION` in `crates/vui-core/src/lib.rs` and
9
+ * `EXPECTED_ABI_VERSION` below together.
10
+ */
11
+ declare const EXPECTED_ABI_VERSION = 12;
12
+ /**
13
+ * Size of one native `Cell` in bytes (`ch:u32, fg:Rgba, bg:Rgba, attrs:u16` +
14
+ * padding). The loader verifies this against `vui_cell_size_bytes()` so a JS
15
+ * typed-array view over the back buffer can never silently mis-stride.
16
+ */
17
+ declare const CELL_BYTES = 16;
18
+ /** Status codes returned by the renderer/buffer exports (`ffi::status`). */
19
+ declare const Status: {
20
+ readonly OK: 0;
21
+ readonly NULL_PTR: 1;
22
+ readonly PANIC: 2;
23
+ readonly BAD_ARG: 3;
24
+ };
25
+ /** Text attribute bitflags, mirroring `buffer::attr` on the Rust side. */
26
+ declare const Attr: {
27
+ readonly BOLD: number;
28
+ readonly DIM: number;
29
+ readonly ITALIC: number;
30
+ readonly UNDERLINE: number;
31
+ readonly STRIKETHROUGH: number;
32
+ readonly INVERSE: number;
33
+ readonly WIDE_CONTINUATION: number;
34
+ };
35
+ /**
36
+ * Bit position of the OSC 8 link id within a cell's `attrs` (mirrors
37
+ * `buffer::attr::LINK_SHIFT`). The high byte holds the id (1..255, 0 = no link);
38
+ * the host ORs `id << LINK_SHIFT` into a run's attrs and the emitter wraps those
39
+ * cells in a hyperlink. Not an SGR flag — kept out of the low byte deliberately.
40
+ */
41
+ declare const LINK_SHIFT = 8;
42
+ /**
43
+ * Size of one packed `StyleFfi` in bytes (7 u32 enums + 2 f32 + 25 DimFfi at 8
44
+ * bytes each = 236). The loader verifies this against `vui_style_ffi_size()`, so
45
+ * a drift between the TS packer (`style.ts`) and the Rust struct fails loud.
46
+ */
47
+ declare const STYLE_FFI_BYTES = 236;
48
+ /** Node kinds for `vui_node_new` (mirrors `node::NodeKind::from_u8`). */
49
+ declare const NodeKindCode: {
50
+ readonly Box: 1;
51
+ readonly Text: 2;
52
+ readonly Edit: 3;
53
+ };
54
+ /** Cursor motion codes for the JS-host edit model (`EditRenderable.move`). */
55
+ declare const EditMotion: {
56
+ readonly Left: 0;
57
+ readonly Right: 1;
58
+ readonly WordLeft: 2;
59
+ readonly WordRight: 3;
60
+ readonly Home: 4;
61
+ readonly End: 5;
62
+ readonly Up: 6;
63
+ readonly Down: 7;
64
+ readonly DocStart: 8;
65
+ readonly DocEnd: 9;
66
+ };
67
+ type EditMotionCode = (typeof EditMotion)[keyof typeof EditMotion];
68
+ declare const NativeTextWrap: {
69
+ readonly None: 0;
70
+ readonly Char: 1;
71
+ readonly Word: 2;
72
+ };
73
+ type NativeTextWrapCode = (typeof NativeTextWrap)[keyof typeof NativeTextWrap];
74
+ declare const symbols: {
75
+ readonly vui_version: {
76
+ readonly args: readonly [];
77
+ readonly returns: FFIType.uint32_t;
78
+ };
79
+ readonly vui_abi_version: {
80
+ readonly args: readonly [];
81
+ readonly returns: FFIType.uint32_t;
82
+ };
83
+ readonly vui_char_width: {
84
+ readonly args: readonly [FFIType.uint32_t];
85
+ readonly returns: FFIType.uint32_t;
86
+ };
87
+ readonly vui_renderer_new: {
88
+ readonly args: readonly [FFIType.uint32_t, FFIType.uint32_t];
89
+ readonly returns: FFIType.ptr;
90
+ };
91
+ readonly vui_renderer_free: {
92
+ readonly args: readonly [FFIType.ptr];
93
+ readonly returns: FFIType.void;
94
+ };
95
+ readonly vui_renderer_resize: {
96
+ readonly args: readonly [FFIType.ptr, FFIType.uint32_t, FFIType.uint32_t];
97
+ readonly returns: FFIType.uint32_t;
98
+ };
99
+ readonly vui_renderer_back_buffer_ptr: {
100
+ readonly args: readonly [FFIType.ptr];
101
+ readonly returns: FFIType.ptr;
102
+ };
103
+ readonly vui_renderer_buffer_len: {
104
+ readonly args: readonly [FFIType.ptr];
105
+ readonly returns: "usize";
106
+ };
107
+ readonly vui_cell_size_bytes: {
108
+ readonly args: readonly [];
109
+ readonly returns: "usize";
110
+ };
111
+ readonly vui_buffer_draw_text: {
112
+ readonly args: readonly [FFIType.ptr, FFIType.uint32_t, FFIType.uint32_t, FFIType.ptr, "usize", FFIType.uint32_t, FFIType.uint32_t, FFIType.uint16_t];
113
+ readonly returns: FFIType.uint32_t;
114
+ };
115
+ readonly vui_buffer_fill_rect: {
116
+ readonly args: readonly [FFIType.ptr, FFIType.uint32_t, FFIType.uint32_t, FFIType.uint32_t, FFIType.uint32_t, FFIType.uint32_t];
117
+ readonly returns: FFIType.uint32_t;
118
+ };
119
+ readonly vui_buffer_set_cell: {
120
+ readonly args: readonly [FFIType.ptr, FFIType.uint32_t, FFIType.uint32_t, FFIType.uint32_t, FFIType.uint32_t, FFIType.uint32_t, FFIType.uint16_t];
121
+ readonly returns: FFIType.uint32_t;
122
+ };
123
+ readonly vui_buffer_clear: {
124
+ readonly args: readonly [FFIType.ptr, FFIType.uint32_t];
125
+ readonly returns: FFIType.uint32_t;
126
+ };
127
+ readonly vui_renderer_render: {
128
+ readonly args: readonly [FFIType.ptr];
129
+ readonly returns: FFIType.uint32_t;
130
+ };
131
+ readonly vui_renderer_flush: {
132
+ readonly args: readonly [FFIType.ptr];
133
+ readonly returns: FFIType.uint32_t;
134
+ };
135
+ readonly vui_renderer_clear_links: {
136
+ readonly args: readonly [FFIType.ptr];
137
+ readonly returns: FFIType.uint32_t;
138
+ };
139
+ readonly vui_renderer_stage_link: {
140
+ readonly args: readonly [FFIType.ptr, FFIType.uint16_t, FFIType.ptr, "usize"];
141
+ readonly returns: FFIType.uint32_t;
142
+ };
143
+ readonly vui_renderer_stage_passthrough: {
144
+ readonly args: readonly [FFIType.ptr, FFIType.ptr, "usize"];
145
+ readonly returns: FFIType.uint32_t;
146
+ };
147
+ readonly vui_image_decode: {
148
+ readonly args: readonly [FFIType.ptr, "usize", FFIType.uint32_t, FFIType.uint32_t];
149
+ readonly returns: FFIType.ptr;
150
+ };
151
+ readonly vui_renderer_stage_image_placement: {
152
+ readonly args: readonly [FFIType.ptr, FFIType.uint32_t, FFIType.int32_t, FFIType.int32_t];
153
+ readonly returns: FFIType.uint32_t;
154
+ };
155
+ readonly vui_renderer_clear_image_placements: {
156
+ readonly args: readonly [FFIType.ptr];
157
+ readonly returns: FFIType.uint32_t;
158
+ };
159
+ readonly vui_image_decode_bytes: {
160
+ readonly args: readonly [FFIType.ptr, "usize", FFIType.uint32_t, FFIType.uint32_t];
161
+ readonly returns: FFIType.ptr;
162
+ };
163
+ readonly vui_image_width: {
164
+ readonly args: readonly [FFIType.ptr];
165
+ readonly returns: FFIType.uint32_t;
166
+ };
167
+ readonly vui_image_height: {
168
+ readonly args: readonly [FFIType.ptr];
169
+ readonly returns: FFIType.uint32_t;
170
+ };
171
+ readonly vui_image_rgba_ptr: {
172
+ readonly args: readonly [FFIType.ptr];
173
+ readonly returns: FFIType.ptr;
174
+ };
175
+ readonly vui_image_rgba_len: {
176
+ readonly args: readonly [FFIType.ptr];
177
+ readonly returns: "usize";
178
+ };
179
+ readonly vui_image_free: {
180
+ readonly args: readonly [FFIType.ptr];
181
+ readonly returns: FFIType.void;
182
+ };
183
+ readonly vui_buffer_draw_text_clipped: {
184
+ readonly args: readonly [FFIType.ptr, FFIType.int32_t, FFIType.int32_t, FFIType.ptr, "usize", FFIType.uint32_t, FFIType.uint32_t, FFIType.uint16_t, FFIType.ptr];
185
+ readonly returns: FFIType.uint32_t;
186
+ };
187
+ readonly vui_buffer_fill_rect_clipped: {
188
+ readonly args: readonly [FFIType.ptr, FFIType.int32_t, FFIType.int32_t, FFIType.uint32_t, FFIType.uint32_t, FFIType.uint32_t, FFIType.ptr];
189
+ readonly returns: FFIType.uint32_t;
190
+ };
191
+ readonly vui_buffer_set_cell_clipped: {
192
+ readonly args: readonly [FFIType.ptr, FFIType.int32_t, FFIType.int32_t, FFIType.uint32_t, FFIType.uint32_t, FFIType.uint32_t, FFIType.uint16_t, FFIType.ptr];
193
+ readonly returns: FFIType.uint32_t;
194
+ };
195
+ readonly vui_buffer_blit: {
196
+ readonly args: readonly [FFIType.ptr, FFIType.ptr, FFIType.int32_t, FFIType.int32_t, FFIType.ptr];
197
+ readonly returns: FFIType.uint32_t;
198
+ };
199
+ readonly vui_buffer_draw_textbuffer: {
200
+ readonly args: readonly [FFIType.ptr, FFIType.ptr, FFIType.int32_t, FFIType.int32_t, FFIType.uint32_t, FFIType.uint32_t, FFIType.uint8_t, FFIType.uint16_t, FFIType.ptr];
201
+ readonly returns: FFIType.uint32_t;
202
+ };
203
+ readonly vui_buffer_draw_editor: {
204
+ readonly args: readonly [FFIType.ptr, FFIType.ptr, FFIType.int32_t, FFIType.int32_t, FFIType.uint32_t, FFIType.uint32_t, FFIType.uint32_t, FFIType.uint16_t, FFIType.ptr];
205
+ readonly returns: FFIType.uint32_t;
206
+ };
207
+ readonly vui_textbuf_new: {
208
+ readonly args: readonly [];
209
+ readonly returns: FFIType.ptr;
210
+ };
211
+ readonly vui_textbuf_free: {
212
+ readonly args: readonly [FFIType.ptr];
213
+ readonly returns: FFIType.void;
214
+ };
215
+ readonly vui_textbuf_set_text: {
216
+ readonly args: readonly [FFIType.ptr, FFIType.ptr, "usize"];
217
+ readonly returns: FFIType.uint32_t;
218
+ };
219
+ readonly vui_textbuf_set_runs: {
220
+ readonly args: readonly [FFIType.ptr, FFIType.ptr, "usize", FFIType.ptr, "usize"];
221
+ readonly returns: FFIType.uint32_t;
222
+ };
223
+ readonly vui_textbuf_line_count: {
224
+ readonly args: readonly [FFIType.ptr];
225
+ readonly returns: FFIType.uint32_t;
226
+ };
227
+ readonly vui_textbuf_length: {
228
+ readonly args: readonly [FFIType.ptr];
229
+ readonly returns: FFIType.uint32_t;
230
+ };
231
+ readonly vui_textview_new: {
232
+ readonly args: readonly [FFIType.ptr];
233
+ readonly returns: FFIType.ptr;
234
+ };
235
+ readonly vui_textview_free: {
236
+ readonly args: readonly [FFIType.ptr];
237
+ readonly returns: FFIType.void;
238
+ };
239
+ readonly vui_textview_set_wrap: {
240
+ readonly args: readonly [FFIType.ptr, FFIType.uint8_t];
241
+ readonly returns: FFIType.uint32_t;
242
+ };
243
+ readonly vui_textview_set_width: {
244
+ readonly args: readonly [FFIType.ptr, FFIType.uint32_t];
245
+ readonly returns: FFIType.uint32_t;
246
+ };
247
+ readonly vui_textview_measure: {
248
+ readonly args: readonly [FFIType.ptr, FFIType.uint32_t, FFIType.uint8_t, FFIType.ptr];
249
+ readonly returns: FFIType.uint32_t;
250
+ };
251
+ readonly vui_editbuf_new: {
252
+ readonly args: readonly [];
253
+ readonly returns: FFIType.ptr;
254
+ };
255
+ readonly vui_editbuf_free: {
256
+ readonly args: readonly [FFIType.ptr];
257
+ readonly returns: FFIType.void;
258
+ };
259
+ readonly vui_editbuf_set_value: {
260
+ readonly args: readonly [FFIType.ptr, FFIType.ptr, "usize"];
261
+ readonly returns: FFIType.uint32_t;
262
+ };
263
+ readonly vui_editbuf_value_len: {
264
+ readonly args: readonly [FFIType.ptr];
265
+ readonly returns: "usize";
266
+ };
267
+ readonly vui_editbuf_copy_value: {
268
+ readonly args: readonly [FFIType.ptr, FFIType.ptr, "usize"];
269
+ readonly returns: "usize";
270
+ };
271
+ readonly vui_editbuf_insert: {
272
+ readonly args: readonly [FFIType.ptr, FFIType.ptr, "usize"];
273
+ readonly returns: FFIType.uint32_t;
274
+ };
275
+ readonly vui_editbuf_backspace: {
276
+ readonly args: readonly [FFIType.ptr];
277
+ readonly returns: FFIType.uint32_t;
278
+ };
279
+ readonly vui_editbuf_delete: {
280
+ readonly args: readonly [FFIType.ptr];
281
+ readonly returns: FFIType.uint32_t;
282
+ };
283
+ readonly vui_editbuf_newline: {
284
+ readonly args: readonly [FFIType.ptr];
285
+ readonly returns: FFIType.uint32_t;
286
+ };
287
+ readonly vui_editbuf_move: {
288
+ readonly args: readonly [FFIType.ptr, FFIType.uint8_t, FFIType.uint8_t];
289
+ readonly returns: FFIType.uint32_t;
290
+ };
291
+ readonly vui_editbuf_select_all: {
292
+ readonly args: readonly [FFIType.ptr];
293
+ readonly returns: FFIType.uint32_t;
294
+ };
295
+ readonly vui_editbuf_has_selection: {
296
+ readonly args: readonly [FFIType.ptr];
297
+ readonly returns: FFIType.uint32_t;
298
+ };
299
+ readonly vui_editbuf_selected_len: {
300
+ readonly args: readonly [FFIType.ptr];
301
+ readonly returns: "usize";
302
+ };
303
+ readonly vui_editbuf_copy_selected: {
304
+ readonly args: readonly [FFIType.ptr, FFIType.ptr, "usize"];
305
+ readonly returns: "usize";
306
+ };
307
+ readonly vui_editbuf_delete_selection: {
308
+ readonly args: readonly [FFIType.ptr, FFIType.ptr];
309
+ readonly returns: FFIType.uint32_t;
310
+ };
311
+ readonly vui_editbuf_undo: {
312
+ readonly args: readonly [FFIType.ptr, FFIType.ptr];
313
+ readonly returns: FFIType.uint32_t;
314
+ };
315
+ readonly vui_editbuf_redo: {
316
+ readonly args: readonly [FFIType.ptr, FFIType.ptr];
317
+ readonly returns: FFIType.uint32_t;
318
+ };
319
+ readonly vui_editbuf_can_undo: {
320
+ readonly args: readonly [FFIType.ptr];
321
+ readonly returns: FFIType.uint32_t;
322
+ };
323
+ readonly vui_editbuf_can_redo: {
324
+ readonly args: readonly [FFIType.ptr];
325
+ readonly returns: FFIType.uint32_t;
326
+ };
327
+ readonly vui_editbuf_cursor: {
328
+ readonly args: readonly [FFIType.ptr, FFIType.ptr, FFIType.ptr];
329
+ readonly returns: FFIType.uint32_t;
330
+ };
331
+ readonly vui_editor_new: {
332
+ readonly args: readonly [FFIType.ptr, FFIType.uint32_t, FFIType.uint32_t];
333
+ readonly returns: FFIType.ptr;
334
+ };
335
+ readonly vui_editor_free: {
336
+ readonly args: readonly [FFIType.ptr];
337
+ readonly returns: FFIType.void;
338
+ };
339
+ readonly vui_editor_set_wrap: {
340
+ readonly args: readonly [FFIType.ptr, FFIType.uint8_t];
341
+ readonly returns: FFIType.uint32_t;
342
+ };
343
+ readonly vui_editor_set_viewport: {
344
+ readonly args: readonly [FFIType.ptr, FFIType.uint32_t, FFIType.uint32_t];
345
+ readonly returns: FFIType.uint32_t;
346
+ };
347
+ readonly vui_editor_set_focused: {
348
+ readonly args: readonly [FFIType.ptr, FFIType.uint8_t];
349
+ readonly returns: FFIType.uint32_t;
350
+ };
351
+ readonly vui_editor_move: {
352
+ readonly args: readonly [FFIType.ptr, FFIType.uint8_t, FFIType.uint8_t];
353
+ readonly returns: FFIType.uint32_t;
354
+ };
355
+ readonly vui_editor_measure: {
356
+ readonly args: readonly [FFIType.ptr, FFIType.uint32_t, FFIType.uint8_t, FFIType.ptr];
357
+ readonly returns: FFIType.uint32_t;
358
+ };
359
+ readonly vui_cbuf_new: {
360
+ readonly args: readonly [FFIType.uint32_t, FFIType.uint32_t];
361
+ readonly returns: FFIType.ptr;
362
+ };
363
+ readonly vui_cbuf_free: {
364
+ readonly args: readonly [FFIType.ptr];
365
+ readonly returns: FFIType.void;
366
+ };
367
+ readonly vui_cbuf_resize: {
368
+ readonly args: readonly [FFIType.ptr, FFIType.uint32_t, FFIType.uint32_t];
369
+ readonly returns: FFIType.uint32_t;
370
+ };
371
+ readonly vui_cbuf_ptr: {
372
+ readonly args: readonly [FFIType.ptr];
373
+ readonly returns: FFIType.ptr;
374
+ };
375
+ readonly vui_cbuf_len: {
376
+ readonly args: readonly [FFIType.ptr];
377
+ readonly returns: "usize";
378
+ };
379
+ readonly vui_cbuf_clear: {
380
+ readonly args: readonly [FFIType.ptr, FFIType.uint32_t];
381
+ readonly returns: FFIType.uint32_t;
382
+ };
383
+ readonly vui_cbuf_draw_text: {
384
+ readonly args: readonly [FFIType.ptr, FFIType.uint32_t, FFIType.uint32_t, FFIType.ptr, "usize", FFIType.uint32_t, FFIType.uint32_t, FFIType.uint16_t];
385
+ readonly returns: FFIType.uint32_t;
386
+ };
387
+ readonly vui_cbuf_fill_rect: {
388
+ readonly args: readonly [FFIType.ptr, FFIType.uint32_t, FFIType.uint32_t, FFIType.uint32_t, FFIType.uint32_t, FFIType.uint32_t];
389
+ readonly returns: FFIType.uint32_t;
390
+ };
391
+ readonly vui_cbuf_set_cell: {
392
+ readonly args: readonly [FFIType.ptr, FFIType.uint32_t, FFIType.uint32_t, FFIType.uint32_t, FFIType.uint32_t, FFIType.uint32_t, FFIType.uint16_t];
393
+ readonly returns: FFIType.uint32_t;
394
+ };
395
+ readonly vui_renderer_set_root: {
396
+ readonly args: readonly [FFIType.ptr];
397
+ readonly returns: FFIType.uint32_t;
398
+ };
399
+ readonly vui_node_new: {
400
+ readonly args: readonly [FFIType.ptr, FFIType.uint8_t];
401
+ readonly returns: FFIType.uint32_t;
402
+ };
403
+ readonly vui_node_free: {
404
+ readonly args: readonly [FFIType.ptr, FFIType.uint32_t];
405
+ readonly returns: FFIType.uint32_t;
406
+ };
407
+ readonly vui_node_append_child: {
408
+ readonly args: readonly [FFIType.ptr, FFIType.uint32_t, FFIType.uint32_t];
409
+ readonly returns: FFIType.uint32_t;
410
+ };
411
+ readonly vui_node_insert_before: {
412
+ readonly args: readonly [FFIType.ptr, FFIType.uint32_t, FFIType.uint32_t, FFIType.uint32_t];
413
+ readonly returns: FFIType.uint32_t;
414
+ };
415
+ readonly vui_node_remove_child: {
416
+ readonly args: readonly [FFIType.ptr, FFIType.uint32_t, FFIType.uint32_t];
417
+ readonly returns: FFIType.uint32_t;
418
+ };
419
+ readonly vui_node_set_text: {
420
+ readonly args: readonly [FFIType.ptr, FFIType.uint32_t, FFIType.ptr, "usize"];
421
+ readonly returns: FFIType.uint32_t;
422
+ };
423
+ readonly vui_node_set_text_runs: {
424
+ readonly args: readonly [FFIType.ptr, FFIType.uint32_t, FFIType.ptr, "usize", FFIType.ptr, "usize"];
425
+ readonly returns: FFIType.uint32_t;
426
+ };
427
+ readonly vui_node_set_text_wrap: {
428
+ readonly args: readonly [FFIType.ptr, FFIType.uint32_t, FFIType.uint8_t];
429
+ readonly returns: FFIType.uint32_t;
430
+ };
431
+ readonly vui_node_set_style: {
432
+ readonly args: readonly [FFIType.ptr, FFIType.uint32_t, FFIType.ptr];
433
+ readonly returns: FFIType.uint32_t;
434
+ };
435
+ readonly vui_style_ffi_size: {
436
+ readonly args: readonly [];
437
+ readonly returns: "usize";
438
+ };
439
+ readonly vui_debug_tree_hash: {
440
+ readonly args: readonly [FFIType.ptr];
441
+ readonly returns: FFIType.uint64_t;
442
+ };
443
+ readonly vui_layout_compute: {
444
+ readonly args: readonly [FFIType.ptr, FFIType.uint32_t, FFIType.uint32_t];
445
+ readonly returns: FFIType.uint32_t;
446
+ };
447
+ readonly vui_node_rect: {
448
+ readonly args: readonly [FFIType.ptr, FFIType.uint32_t, FFIType.ptr];
449
+ readonly returns: FFIType.uint32_t;
450
+ };
451
+ };
452
+ //#endregion
453
+ export { Attr, CELL_BYTES, EXPECTED_ABI_VERSION, EditMotion, EditMotionCode, LINK_SHIFT, NativeTextWrap, NativeTextWrapCode, NodeKindCode, STYLE_FFI_BYTES, Status, symbols };