xray16 1.3.4 → 1.5.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 (84) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +112 -106
  3. package/package.json +45 -42
  4. package/plugins/built_at_info.d.ts +1 -1
  5. package/plugins/from_cast_utils.d.ts +1 -1
  6. package/plugins/global_declarations_transform.d.ts +1 -1
  7. package/plugins/inject_file_meta.d.ts +1 -1
  8. package/plugins/inject_tracy_zones.d.ts +1 -1
  9. package/plugins/inject_tracy_zones.js +2 -2
  10. package/plugins/strip_lua_logger.d.ts +1 -1
  11. package/plugins/strip_lua_logger.js +1 -1
  12. package/plugins/transform_luabind_class/plugin.d.ts +1 -1
  13. package/plugins/transform_luabind_class/transformation/class_declaration.d.ts +3 -3
  14. package/plugins/transform_luabind_class/transformation/decorators.d.ts +5 -2
  15. package/plugins/transform_luabind_class/transformation/decorators.js +3 -0
  16. package/plugins/transform_luabind_class/transformation/members/accessors.d.ts +1 -1
  17. package/plugins/transform_luabind_class/transformation/members/constructor.d.ts +2 -2
  18. package/plugins/transform_luabind_class/transformation/members/constructor.js +2 -2
  19. package/plugins/transform_luabind_class/transformation/members/fields.d.ts +5 -2
  20. package/plugins/transform_luabind_class/transformation/members/fields.js +5 -2
  21. package/plugins/transform_luabind_class/transformation/members/method.d.ts +6 -3
  22. package/plugins/transform_luabind_class/transformation/members/method.js +4 -1
  23. package/plugins/transform_luabind_class/transformation/new.d.ts +7 -3
  24. package/plugins/transform_luabind_class/transformation/new.js +5 -1
  25. package/plugins/transform_luabind_class/transformation/setup.d.ts +9 -3
  26. package/plugins/transform_luabind_class/transformation/setup.js +22 -6
  27. package/plugins/transform_luabind_class/transformation/super.d.ts +19 -3
  28. package/plugins/transform_luabind_class/transformation/super.js +17 -1
  29. package/plugins/transform_luabind_class/transformation/utils.d.ts +27 -4
  30. package/plugins/transform_luabind_class/transformation/utils.js +25 -2
  31. package/plugins/utils/ast.d.ts +1 -1
  32. package/plugins/utils/diagnostics.d.ts +9 -5
  33. package/plugins/utils/diagnostics.js +5 -1
  34. package/plugins/utils/tracy.d.ts +1 -1
  35. package/types/index.d.ts +55 -55
  36. package/types/xr_ai/xr_action.d.ts +1802 -510
  37. package/types/xr_ai/xr_alife.d.ts +1870 -566
  38. package/types/xr_ai/xr_enemy_evaluation.d.ts +134 -41
  39. package/types/xr_ai/xr_goap.d.ts +1116 -668
  40. package/types/xr_ai/xr_graph.d.ts +135 -47
  41. package/types/xr_ai/xr_memory.d.ts +382 -148
  42. package/types/xr_lib/xr_animation.d.ts +252 -81
  43. package/types/xr_lib/xr_bitwise.d.ts +44 -21
  44. package/types/xr_lib/xr_color.d.ts +142 -40
  45. package/types/xr_lib/xr_debug.d.ts +181 -77
  46. package/types/xr_lib/xr_dialog.d.ts +132 -40
  47. package/types/xr_lib/xr_flags.d.ts +592 -148
  48. package/types/xr_lib/xr_fs.d.ts +539 -148
  49. package/types/xr_lib/xr_game.d.ts +362 -158
  50. package/types/xr_lib/xr_hit.d.ts +125 -41
  51. package/types/xr_lib/xr_ini.d.ts +473 -188
  52. package/types/xr_lib/xr_level.d.ts +795 -225
  53. package/types/xr_lib/xr_luabind.d.ts +90 -59
  54. package/types/xr_lib/xr_map.d.ts +192 -61
  55. package/types/xr_lib/xr_math.d.ts +871 -233
  56. package/types/xr_lib/xr_multiplayer.d.ts +1079 -351
  57. package/types/xr_lib/xr_profile.d.ts +272 -160
  58. package/types/xr_lib/xr_properties.d.ts +610 -166
  59. package/types/xr_lib/xr_relation.d.ts +231 -84
  60. package/types/xr_lib/xr_render.d.ts +167 -69
  61. package/types/xr_lib/xr_save.d.ts +833 -223
  62. package/types/xr_lib/xr_sound.d.ts +515 -151
  63. package/types/xr_lib/xr_stats.ts +49 -20
  64. package/types/xr_lib/xr_task.d.ts +388 -111
  65. package/types/xr_lib/xr_time.d.ts +177 -61
  66. package/types/xr_lib/xr_type.d.ts +75 -75
  67. package/types/xr_object/client/xr_anomaly.d.ts +70 -50
  68. package/types/xr_object/client/xr_artefact.d.ts +153 -98
  69. package/types/xr_object/client/xr_client_object.d.ts +207 -76
  70. package/types/xr_object/client/xr_creature.d.ts +243 -164
  71. package/types/xr_object/client/xr_item.d.ts +370 -264
  72. package/types/xr_object/client/xr_level.d.ts +753 -285
  73. package/types/xr_object/client/xr_physic.d.ts +644 -214
  74. package/types/xr_object/client/xr_zone.d.ts +85 -47
  75. package/types/xr_object/script/xr_script_interface.d.ts +819 -584
  76. package/types/xr_object/script/xr_script_object.d.ts +5728 -1390
  77. package/types/xr_object/script/xr_script_trade.d.ts +51 -26
  78. package/types/xr_object/server/xr_server_object.d.ts +1486 -792
  79. package/types/xr_ui/xr_ui_asset.d.ts +364 -123
  80. package/types/xr_ui/xr_ui_core.d.ts +424 -97
  81. package/types/xr_ui/xr_ui_event.d.ts +1449 -381
  82. package/types/xr_ui/xr_ui_interface.d.ts +2447 -903
  83. package/types/xr_ui/xr_ui_menu.d.ts +385 -142
  84. package/types/xrf_plugin.d.ts +89 -51
@@ -1,148 +1,539 @@
1
- declare module "xray16" {
2
- /**
3
- * @source C++ class FS_file_list
4
- * @customConstructor FS_file_list
5
- * @group xr_fs
6
- */
7
- export class FS_file_list {
8
- public Free(): void;
9
-
10
- public GetAt(number: u32): FS_item;
11
-
12
- public Size(): u32;
13
- }
14
-
15
- /**
16
- * @source C++ class FS_file_list_ex
17
- * @customConstructor FS_file_list_ex
18
- * @group xr_fs
19
- */
20
- export class FS_file_list_ex {
21
- public Sort(number: u32): void;
22
-
23
- public GetAt(index: u32): FS_item;
24
-
25
- public Size(): u32;
26
- }
27
-
28
- /**
29
- * @source C++ class FS_item
30
- * @customConstructor FS_item
31
- * @group xr_fs
32
- */
33
- export class FS_item {
34
- public Modif(): string;
35
-
36
- public NameFull(): string;
37
-
38
- public NameShort(): string;
39
-
40
- public ModifDigitOnly(): string;
41
-
42
- public Size(): u32;
43
- }
44
-
45
- /**
46
- * @source C++ class fs_file
47
- * @customConstructor fs_file
48
- * @group xr_fs
49
- */
50
- export class fs_file {
51
- public modif: u32;
52
- public name: string;
53
- public ptr: u32;
54
- public size_compressed: u32;
55
- public size_real: u32;
56
- }
57
-
58
- /**
59
- * @source C++ class FS
60
- * @customConstructor FS
61
- * @group xr_fs
62
- */
63
- export class FS {
64
- public static FS_ClampExt: 4;
65
- public static FS_ListFiles: 1;
66
- public static FS_ListFolders: 2;
67
- public static FS_RootOnly: 8;
68
- public static FS_sort_by_modif_down: 5;
69
- public static FS_sort_by_modif_up: 4;
70
- public static FS_sort_by_name_down: 1;
71
- public static FS_sort_by_name_up: 0;
72
- public static FS_sort_by_size_down: 3;
73
- public static FS_sort_by_size_up: 2;
74
-
75
- public dir_delete(path: string, filename: string, remove_files: boolean): void;
76
-
77
- public dir_delete(path: string, remove_files: boolean): void;
78
-
79
- public file_list_open(alias: string, folder: string, flags: u32): FS_file_list;
80
-
81
- public file_list_open(path: string, flags: u32): FS_file_list;
82
-
83
- public file_list_open_ex(path: string, flags: u32, mask: string): FS_file_list_ex;
84
-
85
- public file_copy(source: string, destination: string): void;
86
-
87
- public file_length(path: string): i32;
88
-
89
- public file_rename(path: string, destination: string, overwrite: boolean): void;
90
-
91
- public get_file_age(path: string): u32;
92
-
93
- public get_file_age_str(path: string): u32;
94
-
95
- public file_delete(path: string, filename: string): void;
96
-
97
- public file_delete(path: string): void;
98
-
99
- public exist(alias: string, filename: string, fs_type: TXR_fs_type): i32 | null;
100
-
101
- public exist(alias: string, filename: string): i32 | null;
102
-
103
- public exist(path: string): i32 | null;
104
-
105
- public append_path(alias: string, root: string, path: string, recursive: boolean): unknown /* FS_Path */;
106
-
107
- public path_exist(path: string): boolean;
108
-
109
- public update_path(alias: string, add: string): string;
110
-
111
- public rescan_path(path: string): void;
112
-
113
- /**
114
- * Not registered in LUA, will throw.
115
- */
116
- public get_path(alias: string): unknown;
117
-
118
- public r_close(reader: reader): void;
119
-
120
- public r_open(path: string): reader;
121
-
122
- public r_open(alias: string, path: string): reader;
123
-
124
- public w_close(writer: unknown /* IWriter */): void;
125
-
126
- public w_open(path: string, filename: string): unknown /* IWriter */;
127
-
128
- public w_open(path: string): unknown /* IWriter */;
129
- }
130
-
131
- /**
132
- * @group xr_fs
133
- */
134
- export type TXR_fs_type = EnumeratedStaticsValues<typeof FS>;
135
-
136
- /**
137
- * @group xr_fs
138
- */
139
- export function getFS(this: void): FS;
140
-
141
- /**
142
- * Get operating system active username.
143
- *
144
- * @group xr_fs
145
- * @returns username string
146
- */
147
- export function user_name(this: void): string;
148
- }
1
+ declare module "xray16" {
2
+ /**
3
+ * File list returned by the engine filesystem.
4
+ *
5
+ * @source C++ class FS_file_list
6
+ * @customConstructor FS_file_list
7
+ * @group xr_fs
8
+ *
9
+ * @remarks
10
+ * This wraps a native list allocated by the filesystem. Call `Free` when you are done and do not use the list after
11
+ * freeing it.
12
+ */
13
+ export class FS_file_list {
14
+ /**
15
+ * Release the native file list.
16
+ */
17
+ public Free(): void;
18
+
19
+ /**
20
+ * Get file item by index.
21
+ *
22
+ * @remarks
23
+ * The binding does not clamp the index. Use `Size` before indexing.
24
+ *
25
+ * @param index - Zero-based item index.
26
+ * @returns File item.
27
+ */
28
+ public GetAt(index: u32): FS_item;
29
+
30
+ /**
31
+ * Get number of items in the list.
32
+ *
33
+ * @returns Item count.
34
+ */
35
+ public Size(): u32;
36
+ }
37
+
38
+ /**
39
+ * Sortable file list returned by extended filesystem queries.
40
+ *
41
+ * @source C++ class FS_file_list_ex
42
+ * @customConstructor FS_file_list_ex
43
+ * @group xr_fs
44
+ *
45
+ * @remarks
46
+ * Extended lists copy file entries into script-owned storage and force a rescan of the queried path when created.
47
+ */
48
+ export class FS_file_list_ex {
49
+ /**
50
+ * Sort the list with an `FS_sort_by_*` mode.
51
+ *
52
+ * @remarks
53
+ * Unknown sort modes are ignored.
54
+ *
55
+ * @param mode - Sort mode.
56
+ */
57
+ public Sort(mode: u32): void;
58
+
59
+ /**
60
+ * Get file item by index.
61
+ *
62
+ * @remarks
63
+ * The binding does not clamp the index. Use `Size` before indexing.
64
+ *
65
+ * @param index - Zero-based item index.
66
+ * @returns File item.
67
+ */
68
+ public GetAt(index: u32): FS_item;
69
+
70
+ /**
71
+ * Get number of items in the list.
72
+ *
73
+ * @returns Item count.
74
+ */
75
+ public Size(): u32;
76
+ }
77
+
78
+ /**
79
+ * File item from an engine file list.
80
+ *
81
+ * @source C++ class FS_item
82
+ * @customConstructor FS_item
83
+ * @group xr_fs
84
+ */
85
+ export class FS_item {
86
+ /**
87
+ * Get modification time as display text.
88
+ *
89
+ * @returns Modification time text.
90
+ */
91
+ public Modif(): string;
92
+
93
+ /**
94
+ * Get full file name.
95
+ *
96
+ * @returns Full file name.
97
+ */
98
+ public NameFull(): string;
99
+
100
+ /**
101
+ * Get short file name.
102
+ *
103
+ * @returns Short file name.
104
+ */
105
+ public NameShort(): string;
106
+
107
+ /**
108
+ * Get numeric-only modification time text.
109
+ *
110
+ * @returns Modification time digits.
111
+ */
112
+ public ModifDigitOnly(): string;
113
+
114
+ /**
115
+ * Get file size.
116
+ *
117
+ * @returns File size in bytes.
118
+ */
119
+ public Size(): u32;
120
+ }
121
+
122
+ /**
123
+ * File descriptor exposed by the filesystem.
124
+ *
125
+ * @source C++ class fs_file
126
+ * @customConstructor fs_file
127
+ * @group xr_fs
128
+ */
129
+ export class fs_file {
130
+ /**
131
+ * Modification timestamp.
132
+ */
133
+ public modif: u32;
134
+
135
+ /**
136
+ * File name.
137
+ */
138
+ public name: string;
139
+
140
+ /**
141
+ * Native file pointer.
142
+ */
143
+ public ptr: u32;
144
+
145
+ /**
146
+ * Compressed file size.
147
+ */
148
+ public size_compressed: u32;
149
+
150
+ /**
151
+ * Real file size.
152
+ */
153
+ public size_real: u32;
154
+ }
155
+
156
+ /**
157
+ * Result of an `FS.exist` query that checks virtual and/or external files.
158
+ *
159
+ * @source C++ class FileStatus
160
+ * @customConstructor FileStatus
161
+ * @group xr_fs
162
+ *
163
+ * @remarks
164
+ * The object can be used as a boolean in Lua. `External` means the file was found outside registered virtual archives.
165
+ */
166
+ export class FileStatus {
167
+ /**
168
+ * Whether the file exists.
169
+ */
170
+ public readonly Exists: boolean;
171
+
172
+ /**
173
+ * Whether the match came from the external filesystem.
174
+ */
175
+ public readonly External: boolean;
176
+
177
+ /**
178
+ * Engine-created file status.
179
+ */
180
+ private constructor();
181
+ }
182
+
183
+ /**
184
+ * Engine filesystem facade.
185
+ *
186
+ * Path aliases such as `$game_config$` and `$logs$` are resolved by this object.
187
+ *
188
+ * @source C++ class FS
189
+ * @customConstructor FS
190
+ * @group xr_fs
191
+ *
192
+ * @remarks
193
+ * Mutating methods operate on real files or engine path aliases. Prefer `exist`, `path_exist`, and `update_path`
194
+ * before destructive operations.
195
+ */
196
+ export class FS {
197
+ /**
198
+ * Clamp listed paths by extension.
199
+ */
200
+ public static FS_ClampExt: 4;
201
+
202
+ /**
203
+ * List files.
204
+ */
205
+ public static FS_ListFiles: 1;
206
+
207
+ /**
208
+ * List folders.
209
+ */
210
+ public static FS_ListFolders: 2;
211
+
212
+ /**
213
+ * Do not recurse into subfolders.
214
+ */
215
+ public static FS_RootOnly: 8;
216
+
217
+ /**
218
+ * Sort by modification time, newest first.
219
+ */
220
+ public static FS_sort_by_modif_down: 5;
221
+
222
+ /**
223
+ * Sort by modification time, oldest first.
224
+ */
225
+ public static FS_sort_by_modif_up: 4;
226
+
227
+ /**
228
+ * Sort by name descending.
229
+ */
230
+ public static FS_sort_by_name_down: 1;
231
+
232
+ /**
233
+ * Sort by name ascending.
234
+ */
235
+ public static FS_sort_by_name_up: 0;
236
+
237
+ /**
238
+ * Sort by size descending.
239
+ */
240
+ public static FS_sort_by_size_down: 3;
241
+
242
+ /**
243
+ * Sort by size ascending.
244
+ */
245
+ public static FS_sort_by_size_up: 2;
246
+
247
+ /**
248
+ * Search virtual registered files only.
249
+ */
250
+ public static FSType_Virtual: 1;
251
+
252
+ /**
253
+ * Search external files only.
254
+ */
255
+ public static FSType_External: 2;
256
+
257
+ /**
258
+ * Search virtual and external files.
259
+ */
260
+ public static FSType_Any: 3;
261
+
262
+ /**
263
+ * Delete a directory below a path alias.
264
+ *
265
+ * @param path - Path alias or root path.
266
+ * @param filename - Directory name.
267
+ * @param remove_files - Whether files inside should be removed.
268
+ */
269
+ public dir_delete(path: string, filename: string, remove_files: boolean): void;
270
+
271
+ /**
272
+ * Delete a directory.
273
+ *
274
+ * @param path - Directory path.
275
+ * @param remove_files - Whether files inside should be removed.
276
+ */
277
+ public dir_delete(path: string, remove_files: boolean): void;
278
+
279
+ /**
280
+ * Open a file list below a path alias and folder.
281
+ *
282
+ * @param alias - Filesystem path alias.
283
+ * @param folder - Folder inside the alias.
284
+ * @param flags - Listing flags.
285
+ * @returns File list.
286
+ */
287
+ public file_list_open(alias: string, folder: string, flags: u32): FS_file_list;
288
+
289
+ /**
290
+ * Open a file list for a resolved path or alias.
291
+ *
292
+ * @param path - Path or path alias.
293
+ * @param flags - Listing flags.
294
+ * @returns File list.
295
+ */
296
+ public file_list_open(path: string, flags: u32): FS_file_list;
297
+
298
+ /**
299
+ * Open a sortable filtered file list.
300
+ *
301
+ * @remarks
302
+ * Forces the path to be rescanned before collecting matching entries.
303
+ *
304
+ * @param path - Path or path alias.
305
+ * @param flags - Listing flags.
306
+ * @param mask - File mask.
307
+ * @returns Sortable file list.
308
+ */
309
+ public file_list_open_ex(path: string, flags: u32, mask: string): FS_file_list_ex;
310
+
311
+ /**
312
+ * Copy a file.
313
+ *
314
+ * @param source - Source file path.
315
+ * @param destination - Destination file path.
316
+ */
317
+ public file_copy(source: string, destination: string): void;
318
+
319
+ /**
320
+ * Get file length.
321
+ *
322
+ * @param path - File path.
323
+ * @returns File length in bytes, or engine error value.
324
+ */
325
+ public file_length(path: string): i32;
326
+
327
+ /**
328
+ * Rename or move a file.
329
+ *
330
+ * @param path - Source file path.
331
+ * @param destination - Destination file path.
332
+ * @param overwrite - Whether an existing destination may be overwritten.
333
+ */
334
+ public file_rename(path: string, destination: string, overwrite: boolean): void;
335
+
336
+ /**
337
+ * Get file modification timestamp.
338
+ *
339
+ * @param path - File path.
340
+ * @returns Modification timestamp.
341
+ */
342
+ public get_file_age(path: string): u32;
343
+
344
+ /**
345
+ * Get file modification timestamp as packed display value.
346
+ *
347
+ * @param path - File path.
348
+ * @returns Modification timestamp value.
349
+ */
350
+ public get_file_age_str(path: string): u32;
351
+
352
+ /**
353
+ * Delete a file below a path alias.
354
+ *
355
+ * @param path - Path alias or root path.
356
+ * @param filename - File name.
357
+ */
358
+ public file_delete(path: string, filename: string): void;
359
+
360
+ /**
361
+ * Delete a file.
362
+ *
363
+ * @param path - File path.
364
+ */
365
+ public file_delete(path: string): void;
366
+
367
+ /**
368
+ * Check whether a file exists below a path alias.
369
+ *
370
+ * @remarks
371
+ * This overload checks virtual and/or external files and returns a status object.
372
+ *
373
+ * @param alias - Filesystem path alias.
374
+ * @param filename - File name.
375
+ * @param fs_type - Filesystem source to search.
376
+ * @returns File status.
377
+ */
378
+ public exist(alias: string, filename: string, fs_type: TXR_fs_type): FileStatus;
379
+
380
+ /**
381
+ * Check whether a file exists below a path alias.
382
+ *
383
+ * @remarks
384
+ * This overload resolves `alias` and `filename`, then returns a registered file descriptor when found.
385
+ *
386
+ * @param alias - Filesystem path alias.
387
+ * @param filename - File name.
388
+ * @returns File descriptor pointer or `null`.
389
+ */
390
+ public exist(alias: string, filename: string): i32 | null;
391
+
392
+ /**
393
+ * Check whether a file exists.
394
+ *
395
+ * @remarks
396
+ * This overload returns a registered file descriptor when found.
397
+ *
398
+ * @param path - File path.
399
+ * @returns File descriptor pointer or `null`.
400
+ */
401
+ public exist(path: string): i32 | null;
402
+
403
+ /**
404
+ * Check whether a file exists.
405
+ *
406
+ * @remarks
407
+ * This overload checks virtual and/or external files and returns a status object.
408
+ *
409
+ * @param path - File path.
410
+ * @param fs_type - Filesystem source to search.
411
+ * @returns File status.
412
+ */
413
+ public exist(path: string, fs_type: TXR_fs_type): FileStatus;
414
+
415
+ /**
416
+ * Add a path alias.
417
+ *
418
+ * @param alias - Alias name.
419
+ * @param root - Root path.
420
+ * @param path - Relative path.
421
+ * @param recursive - Whether subfolders should be scanned.
422
+ * @returns Native filesystem path descriptor.
423
+ */
424
+ public append_path(alias: string, root: string, path: string, recursive: boolean): unknown; /* FS_Path */
425
+
426
+ /**
427
+ * Check whether a path alias exists.
428
+ *
429
+ * @param path - Path alias.
430
+ * @returns Whether the path exists.
431
+ */
432
+ public path_exist(path: string): boolean;
433
+
434
+ /**
435
+ * Resolve path alias and suffix into a real path.
436
+ *
437
+ * @remarks
438
+ * Non-Windows builds normalize path separators before returning the string.
439
+ *
440
+ * @param alias - Filesystem path alias.
441
+ * @param add - Relative path to append.
442
+ * @returns Resolved path.
443
+ */
444
+ public update_path(alias: string, add: string): string;
445
+
446
+ /**
447
+ * Rescan a path alias.
448
+ *
449
+ * @since OpenXRay 2015-07-07, 6e703b4c
450
+ *
451
+ * @remarks
452
+ * Marks the alias as needing a rescan. The next filesystem check refreshes cached entries.
453
+ *
454
+ * @param path - Path alias.
455
+ */
456
+ public rescan_path(path: string): void;
457
+
458
+ /**
459
+ * Get native path descriptor for an alias.
460
+ *
461
+ * @param alias - Filesystem path alias.
462
+ * @returns Native filesystem path descriptor.
463
+ */
464
+ public get_path(alias: string): unknown;
465
+
466
+ /**
467
+ * Close a binary reader.
468
+ *
469
+ * @param reader - Reader returned by `r_open`.
470
+ */
471
+ public r_close(reader: reader): void;
472
+
473
+ /**
474
+ * Open a binary reader.
475
+ *
476
+ * @param path - File path.
477
+ * @returns Binary reader.
478
+ */
479
+ public r_open(path: string): reader;
480
+
481
+ /**
482
+ * Open a binary reader below a path alias.
483
+ *
484
+ * @param alias - Filesystem path alias.
485
+ * @param path - Relative file path.
486
+ * @returns Binary reader.
487
+ */
488
+ public r_open(alias: string, path: string): reader;
489
+
490
+ /**
491
+ * Close a binary writer.
492
+ *
493
+ * @param writer - Writer returned by `w_open`.
494
+ */
495
+ public w_close(writer: unknown /* IWriter */): void;
496
+
497
+ /**
498
+ * Open a binary writer below a path alias.
499
+ *
500
+ * @param path - Filesystem path alias.
501
+ * @param filename - Relative file path.
502
+ * @returns Binary writer.
503
+ */
504
+ public w_open(path: string, filename: string): unknown; /* IWriter */
505
+
506
+ /**
507
+ * Open a binary writer.
508
+ *
509
+ * @param path - File path.
510
+ * @returns Binary writer.
511
+ */
512
+ public w_open(path: string): unknown; /* IWriter */
513
+ }
514
+
515
+ /**
516
+ * Filesystem enum value accepted by filesystem queries.
517
+ *
518
+ * @group xr_fs
519
+ */
520
+ export type TXR_fs_type = typeof FS.FSType_Virtual | typeof FS.FSType_External | typeof FS.FSType_Any;
521
+
522
+ /**
523
+ * Get the global filesystem facade.
524
+ *
525
+ * @group xr_fs
526
+ *
527
+ * @returns Filesystem facade.
528
+ */
529
+ export function getFS(this: void): FS;
530
+
531
+ /**
532
+ * Get operating system active username.
533
+ *
534
+ * @group xr_fs
535
+ *
536
+ * @returns Username string.
537
+ */
538
+ export function user_name(this: void): string;
539
+ }