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,142 +1,385 @@
1
- declare module "xray16" {
2
- /**
3
- * @source C++ class COptionsManager
4
- * @customConstructor COptionsManager
5
- * @group xr_ui_menu
6
- */
7
- export class COptionsManager {
8
- public constructor();
9
-
10
- public SendMessage2Group(group: string, message: string): void;
11
-
12
- public UndoGroup(group: string): void;
13
-
14
- public SaveBackupValues(group: string): void;
15
-
16
- public IsGroupChanged(group: string): boolean;
17
-
18
- public SaveValues(group: string): void;
19
-
20
- public SetCurrentValues(group: string): void;
21
-
22
- public NeedSystemRestart(): boolean;
23
-
24
- public NeedVidRestart(): boolean;
25
-
26
- public OptionsPostAccept(): void;
27
- }
28
-
29
- /**
30
- * @source C++ class CMainMenu
31
- * @customConstructor CMainMenu
32
- * @group xr_ui_menu
33
- */
34
- export class CMainMenu {
35
- public GetCDKey(): string;
36
-
37
- public GetAccountMngr(): account_manager;
38
-
39
- public GetDemoInfo(fileName: string): demo_info | null;
40
-
41
- public GetPatchProgress(): Patch_Dawnload_Progress;
42
-
43
- public GetProfileStore(): profile_store;
44
-
45
- public GetGSVer(): string;
46
-
47
- public GetLoginMngr(): login_manager;
48
-
49
- public GetPlayerName(): string;
50
-
51
- public CancelDownload(): void;
52
-
53
- public ValidateCDKey(): boolean;
54
- }
55
-
56
- /**
57
- * @source C++ class CUIGameCustom
58
- * @customConstructor CUIGameCustom
59
- * @group xr_ui_menu
60
- */
61
- export class CUIGameCustom {
62
- public AddCustomStatic(id: string, b: boolean): StaticDrawableWrapper;
63
-
64
- public AddCustomStatic(id: string, b: boolean, n: f32): StaticDrawableWrapper;
65
-
66
- public AddDialogToRender(window: CUIWindow): void;
67
-
68
- public CurrentItemAtCell(): game_object;
69
-
70
- public GetCustomStatic(value: string): StaticDrawableWrapper | null;
71
-
72
- public HideActorMenu(): void;
73
-
74
- public ShowActorMenu(): boolean;
75
-
76
- public HidePdaMenu(): void;
77
-
78
- public RemoveCustomStatic(id: string): void;
79
-
80
- public RemoveDialogToRender(window: CUIWindow): void;
81
-
82
- public UpdateActorMenu(): void;
83
-
84
- public enable_fake_indicators(enabled: boolean): void;
85
-
86
- public hide_messages(): void;
87
-
88
- public show_messages(): void;
89
-
90
- public update_fake_indicators(u8: number, enabled: boolean): void;
91
-
92
- public update_fake_indicators(u8: number, value: f32): void;
93
- }
94
-
95
- /**
96
- * @source namespace main_menu
97
- * @group xr_ui_menu
98
- */
99
- export interface IXR_main_menu {
100
- /**
101
- * @returns main game menu c++ controller singleton
102
- */
103
- get_main_menu(this: void): CMainMenu;
104
- }
105
-
106
- /**
107
- * @source namespace ActorMenu
108
- * @group xr_ui_menu
109
- */
110
- export interface IXR_ActorMenu {
111
- get_pda_menu(this: void): CUIPdaWnd;
112
- get_actor_menu(this: void): CUIActorMenu;
113
-
114
- /**
115
- * enum EMenuMode
116
- * {
117
- * mmUndefined,
118
- * mmInventory,
119
- * mmTrade,
120
- * mmUpgrade,
121
- * mmDeadBodySearch,
122
- * };
123
- */
124
- get_menu_mode(this: void): number;
125
- // get_maingame(this: void): unknown; // CUIMainIngameWnd - not registered, throws exception
126
- }
127
-
128
- /**
129
- * @group xr_ui_menu
130
- */
131
- export const ActorMenu: IXR_ActorMenu;
132
-
133
- /**
134
- * @group xr_ui_menu
135
- */
136
- export const main_menu: IXR_main_menu;
137
-
138
- /**
139
- * @group xr_ui_menu
140
- */
141
- export function get_hud(this: void): CUIGameCustom;
142
- }
1
+ declare module "xray16" {
2
+ /**
3
+ * Main-menu options manager binding.
4
+ *
5
+ * @source C++ class COptionsManager
6
+ * @customConstructor COptionsManager
7
+ * @group xr_ui_menu
8
+ *
9
+ * @remarks
10
+ * Operates on option item groups registered by the options UI.
11
+ */
12
+ export class COptionsManager {
13
+ /**
14
+ * Create an options manager script proxy.
15
+ */
16
+ public constructor();
17
+
18
+ /**
19
+ * Send a UI options message to every option item in a group.
20
+ *
21
+ * @param group - Options group name.
22
+ * @param message - Message name.
23
+ */
24
+ public SendMessage2Group(group: string, message: string): void;
25
+
26
+ /**
27
+ * Restore options in a group from their backup values.
28
+ *
29
+ * @param group - Options group name.
30
+ */
31
+ public UndoGroup(group: string): void;
32
+
33
+ /**
34
+ * Save current option values as the backup for a group.
35
+ *
36
+ * @param group - Options group name.
37
+ */
38
+ public SaveBackupValues(group: string): void;
39
+
40
+ /**
41
+ * Persist current option values for a group.
42
+ *
43
+ * @param group - Options group name.
44
+ */
45
+ public SaveValues(group: string): void;
46
+
47
+ /**
48
+ * Apply current engine option values to controls in a group.
49
+ *
50
+ * @param group - Options group name.
51
+ */
52
+ public SetCurrentValues(group: string): void;
53
+
54
+ /**
55
+ * Check whether accepted options require a system restart.
56
+ *
57
+ * @returns Whether a system restart is needed.
58
+ */
59
+ public NeedSystemRestart(): boolean;
60
+
61
+ /**
62
+ * Check whether accepted options require a video restart.
63
+ *
64
+ * @returns Whether a video restart is needed.
65
+ */
66
+ public NeedVidRestart(): boolean;
67
+
68
+ /**
69
+ * Run post-accept handling after options are saved.
70
+ */
71
+ public OptionsPostAccept(): void;
72
+ }
73
+
74
+ /**
75
+ * Main menu binding.
76
+ *
77
+ * @source C++ class CMainMenu
78
+ * @customConstructor CMainMenu
79
+ * @group xr_ui_menu
80
+ *
81
+ * @remarks
82
+ * Engine-owned singleton returned by `main_menu.get_main_menu()`.
83
+ */
84
+ export class CMainMenu {
85
+ /**
86
+ * Get the CD key stored by the game.
87
+ *
88
+ * @returns CD key string.
89
+ */
90
+ public GetCDKey(): string;
91
+
92
+ /**
93
+ * Get the multiplayer account manager.
94
+ *
95
+ * @returns Account manager.
96
+ */
97
+ public GetAccountMngr(): account_manager;
98
+
99
+ /**
100
+ * Read metadata for a recorded demo file.
101
+ *
102
+ * @param fileName - Demo file name.
103
+ * @returns Demo info, or `null` when it cannot be read.
104
+ */
105
+ public GetDemoInfo(fileName: string): demo_info | null;
106
+
107
+ /**
108
+ * Get patch download progress.
109
+ *
110
+ * @returns Patch progress object.
111
+ */
112
+ public GetPatchProgress(): Patch_Dawnload_Progress;
113
+
114
+ /**
115
+ * Get the multiplayer profile store.
116
+ *
117
+ * @returns Profile store.
118
+ */
119
+ public GetProfileStore(): profile_store;
120
+
121
+ /**
122
+ * Get GameSpy protocol version string.
123
+ *
124
+ * @returns GameSpy version.
125
+ */
126
+ public GetGSVer(): string;
127
+
128
+ /**
129
+ * Get the multiplayer login manager.
130
+ *
131
+ * @returns Login manager.
132
+ */
133
+ public GetLoginMngr(): login_manager;
134
+
135
+ /**
136
+ * Get the current player name.
137
+ *
138
+ * @returns Player name.
139
+ */
140
+ public GetPlayerName(): string;
141
+
142
+ /**
143
+ * Cancel the active multiplayer map download.
144
+ */
145
+ public CancelDownload(): void;
146
+
147
+ /**
148
+ * Validate the stored CD key.
149
+ *
150
+ * @returns Whether the CD key is valid.
151
+ */
152
+ public ValidateCDKey(): boolean;
153
+ }
154
+
155
+ /**
156
+ * In-game UI root binding.
157
+ *
158
+ * @source C++ class CUIGameCustom
159
+ * @customConstructor CUIGameCustom
160
+ * @group xr_ui_menu
161
+ *
162
+ * @remarks
163
+ * Current in-game HUD UI. Global helpers dereference the current game UI, so call them only while a level UI exists.
164
+ */
165
+ export class CUIGameCustom {
166
+ /**
167
+ * Add a custom HUD static by XML id.
168
+ *
169
+ * @remarks
170
+ * If `singleInstance` is true and an active static with this id already exists, that wrapper is returned.
171
+ *
172
+ * @param id - Static descriptor id.
173
+ * @param singleInstance - Whether an existing static with the same id should be reused.
174
+ * @returns Drawable wrapper for the static.
175
+ */
176
+ public AddCustomStatic(id: string, singleInstance: boolean): StaticDrawableWrapper;
177
+
178
+ /**
179
+ * Add a custom HUD static by XML id and lifetime.
180
+ *
181
+ * @remarks
182
+ * The static is initialized from `ui_custom_msgs.xml`. Positive lifetime values remove it automatically after
183
+ * that many seconds unless the XML entry overrides `ttl`.
184
+ *
185
+ * @param id - Static descriptor id.
186
+ * @param singleInstance - Whether an existing static with the same id should be reused.
187
+ * @param lifetime - Time before the static is removed.
188
+ * @returns Drawable wrapper for the static.
189
+ */
190
+ public AddCustomStatic(id: string, singleInstance: boolean, lifetime: f32): StaticDrawableWrapper;
191
+
192
+ /**
193
+ * Add a dialog window to the HUD render list.
194
+ *
195
+ * @remarks
196
+ * Adds the window to the HUD dialog holder. It shows the window but does not take ownership of it.
197
+ *
198
+ * @param window - Dialog window.
199
+ */
200
+ public AddDialogToRender(window: CUIWindow): void;
201
+
202
+ /**
203
+ * Get the inventory item currently under the actor menu cursor.
204
+ *
205
+ * @since OpenXRay 2015-07-07, 6e703b4c
206
+ *
207
+ * @remarks
208
+ * Requires the actor menu to have a current inventory cell.
209
+ *
210
+ * @returns Game object for the item, or `null` when the cell has no item.
211
+ */
212
+ public CurrentItemAtCell(): game_object | null;
213
+
214
+ /**
215
+ * Get an active custom HUD static by id.
216
+ *
217
+ * @param id - Static descriptor id.
218
+ * @returns Drawable wrapper, or `null` when missing.
219
+ */
220
+ public GetCustomStatic(id: string): StaticDrawableWrapper | null;
221
+
222
+ /**
223
+ * Hide the actor inventory menu.
224
+ *
225
+ * @remarks
226
+ * No-op when the actor menu is already hidden.
227
+ */
228
+ public HideActorMenu(): void;
229
+
230
+ /**
231
+ * Show the actor inventory menu.
232
+ *
233
+ * @remarks
234
+ * Toggles the actor menu. If it is already shown, the call hides it instead.
235
+ *
236
+ * @returns `true` after handling the toggle.
237
+ */
238
+ public ShowActorMenu(): boolean;
239
+
240
+ /**
241
+ * Hide the PDA menu.
242
+ *
243
+ * @remarks
244
+ * No-op when the PDA menu is already hidden.
245
+ */
246
+ public HidePdaMenu(): void;
247
+
248
+ /**
249
+ * Remove a custom HUD static.
250
+ *
251
+ * @remarks
252
+ * Destroys the matching HUD-owned wrapper when it exists.
253
+ *
254
+ * @param id - Static descriptor id.
255
+ */
256
+ public RemoveCustomStatic(id: string): void;
257
+
258
+ /**
259
+ * Remove a dialog window from the HUD render list.
260
+ *
261
+ * @remarks
262
+ * Hides and disables the window in the HUD dialog holder. It does not destroy the window.
263
+ *
264
+ * @param window - Dialog window.
265
+ */
266
+ public RemoveDialogToRender(window: CUIWindow): void;
267
+
268
+ /**
269
+ * Refresh actor menu state.
270
+ *
271
+ * @since OpenXRay 2015-07-07, 6e703b4c
272
+ *
273
+ * @remarks
274
+ * Updates the actor menu only when it is currently shown.
275
+ */
276
+ public UpdateActorMenu(): void;
277
+
278
+ /**
279
+ * Enable or disable fake HUD indicators.
280
+ *
281
+ * @param enabled - New fake-indicator state.
282
+ */
283
+ public enable_fake_indicators(enabled: boolean): void;
284
+
285
+ /**
286
+ * Hide HUD messages.
287
+ */
288
+ public hide_messages(): void;
289
+
290
+ /**
291
+ * Show HUD messages.
292
+ */
293
+ public show_messages(): void;
294
+
295
+ /**
296
+ * Update fake indicator visibility.
297
+ *
298
+ * @param indicator - Indicator id.
299
+ * @param enabled - New indicator state.
300
+ */
301
+ public update_fake_indicators(indicator: number, enabled: boolean): void;
302
+
303
+ /**
304
+ * Update fake indicator value.
305
+ *
306
+ * @param indicator - Indicator id.
307
+ * @param value - New indicator value.
308
+ */
309
+ public update_fake_indicators(indicator: number, value: f32): void;
310
+ }
311
+
312
+ /**
313
+ * Main menu namespace exposed to scripts.
314
+ *
315
+ * @source namespace main_menu
316
+ * @group xr_ui_menu
317
+ */
318
+ export interface IXR_main_menu {
319
+ /**
320
+ * @returns Main game menu c++ controller singleton.
321
+ */
322
+ get_main_menu(this: void): CMainMenu;
323
+ }
324
+
325
+ /**
326
+ * Actor/PDA menu namespace exposed to scripts.
327
+ *
328
+ * @source namespace ActorMenu
329
+ * @group xr_ui_menu
330
+ *
331
+ * @remarks
332
+ * These helpers dereference `CurrentGameUI()` directly. Use them only in-game after the HUD UI has been created.
333
+ */
334
+ export interface IXR_ActorMenu {
335
+ /**
336
+ * Get the current PDA menu window.
337
+ *
338
+ * @throws When called without an active current game UI.
339
+ *
340
+ * @returns PDA menu window.
341
+ */
342
+ get_pda_menu(this: void): CUIPdaWnd;
343
+
344
+ /**
345
+ * Get the current actor menu window.
346
+ *
347
+ * @throws When called without an active current game UI.
348
+ *
349
+ * @returns Actor menu window.
350
+ */
351
+ get_actor_menu(this: void): CUIActorMenu;
352
+
353
+ /**
354
+ * Get current actor menu mode.
355
+ *
356
+ * @throws When called without an active current game UI.
357
+ *
358
+ * @returns Numeric `EMenuMode` value.
359
+ */
360
+ get_menu_mode(this: void): number;
361
+ // Get_maingame(this: void): unknown; // CUIMainIngameWnd - not registered, throws exception
362
+ }
363
+
364
+ /**
365
+ * @group xr_ui_menu
366
+ */
367
+ export const ActorMenu: IXR_ActorMenu;
368
+
369
+ /**
370
+ * @group xr_ui_menu
371
+ */
372
+ export const main_menu: IXR_main_menu;
373
+
374
+ /**
375
+ * Get the current game HUD UI.
376
+ *
377
+ * @group xr_ui_menu
378
+ *
379
+ * @remarks
380
+ * The binding returns `CurrentGameUI()`. Call it only while a level HUD exists.
381
+ *
382
+ * @returns Current HUD UI controller.
383
+ */
384
+ export function get_hud(this: void): CUIGameCustom;
385
+ }
@@ -1,51 +1,89 @@
1
- declare global {
2
- /**
3
- * Utility to get current file name as inline value during transpiling, similar to __filename in node.
4
- *
5
- * @group xrf_plugin
6
- */
7
- const $filename: string;
8
-
9
- /**
10
- * Utility to get current directory name as inline value during transpiling, similar to __dirname in node.
11
- *
12
- * @group xrf_plugin
13
- */
14
- const $dirname: string;
15
-
16
- /**
17
- * Utility to transform TS provided array to a lua one.
18
- * Just wrapper that is stripped compile time, but simplifies unit testing with TS.
19
- *
20
- * @group xrf_plugin
21
- */
22
- function $fromArray<T>(array: Array<T>): LuaTable<number, T>;
23
-
24
- /**
25
- * Utility to transform LUA array to JS array.
26
- * Just wrapper that is stripped compile time, but simplifies unit testing with TS.
27
- *
28
- * @group xrf_plugin
29
- */
30
- function $fromLuaArray<T>(array: LuaTable<number, T>): Array<T>;
31
-
32
- /**
33
- * Utility to transform TS provided object to a lua table.
34
- * Just wrapper that is stripped compile time, but simplifies unit testing with TS.
35
- *
36
- * @group xrf_plugin
37
- */
38
- function $fromObject<K extends string | number, T>(object: Record<K, T>): LuaTable<K, T>;
39
- function $fromObject<D>(object: D): LuaTable<keyof D, D[keyof D]>;
40
-
41
- /**
42
- * Utility to transform LUA provided table to a TS one.
43
- * Just wrapper that is stripped compile time, but simplifies unit testing with TS.
44
- *
45
- * @group xrf_plugin
46
- */
47
- function $fromLuaTable<K extends string | number, T>(object: LuaTable<K, T>): Record<K, T>;
48
- function $fromLuaTable<D>(object: LuaTable<keyof D, D[keyof D]>): D;
49
- }
50
-
51
- export {};
1
+ declare global {
2
+ /**
3
+ * Current source file name injected at transpile time.
4
+ *
5
+ * @group xrf_plugin
6
+ */
7
+ const $filename: string;
8
+
9
+ /**
10
+ * Current source directory name injected at transpile time.
11
+ *
12
+ * @group xrf_plugin
13
+ */
14
+ const $dirname: string;
15
+
16
+ /**
17
+ * Treat a TypeScript array as a Lua array.
18
+ *
19
+ * The transformer removes this call and emits its argument.
20
+ *
21
+ * @group xrf_plugin
22
+ *
23
+ * @param array - TypeScript array.
24
+ * @returns Same value typed as a Lua array.
25
+ */
26
+ function $fromArray<T>(array: Array<T>): LuaTable<number, T>;
27
+
28
+ /**
29
+ * Treat a Lua array as a TypeScript array.
30
+ *
31
+ * The transformer removes this call and emits its argument.
32
+ *
33
+ * @group xrf_plugin
34
+ *
35
+ * @param array - Lua array.
36
+ * @returns Same value typed as a TypeScript array.
37
+ */
38
+ function $fromLuaArray<T>(array: LuaTable<number, T>): Array<T>;
39
+
40
+ /**
41
+ * Treat a TypeScript object as a Lua table.
42
+ *
43
+ * The transformer removes this call and emits its argument.
44
+ *
45
+ * @group xrf_plugin
46
+ *
47
+ * @param object - TypeScript object.
48
+ * @returns Same value typed as a Lua table.
49
+ */
50
+ function $fromObject<K extends string | number, T>(object: Record<K, T>): LuaTable<K, T>;
51
+
52
+ /**
53
+ * Treat a TypeScript object as a Lua table.
54
+ *
55
+ * The transformer removes this call and emits its argument.
56
+ *
57
+ * @group xrf_plugin
58
+ *
59
+ * @param object - TypeScript object.
60
+ * @returns Same value typed as a Lua table.
61
+ */
62
+ function $fromObject<D>(object: D): LuaTable<keyof D, D[keyof D]>;
63
+
64
+ /**
65
+ * Treat a Lua table as a TypeScript object.
66
+ *
67
+ * The transformer removes this call and emits its argument.
68
+ *
69
+ * @group xrf_plugin
70
+ *
71
+ * @param object - Lua table.
72
+ * @returns Same value typed as a TypeScript object.
73
+ */
74
+ function $fromLuaTable<K extends string | number, T>(object: LuaTable<K, T>): Record<K, T>;
75
+
76
+ /**
77
+ * Treat a Lua table as a TypeScript object.
78
+ *
79
+ * The transformer removes this call and emits its argument.
80
+ *
81
+ * @group xrf_plugin
82
+ *
83
+ * @param object - Lua table.
84
+ * @returns Same value typed as a TypeScript object.
85
+ */
86
+ function $fromLuaTable<D>(object: LuaTable<keyof D, D[keyof D]>): D;
87
+ }
88
+
89
+ export {};