@overlayed/app 0.2.2 → 0.3.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.
package/dist/index.d.ts CHANGED
@@ -1,3 +1,2777 @@
1
- export * from './overlayed';
2
- export { type OverlayedApp } from './types';
3
- //# sourceMappingURL=index.d.ts.map
1
+ /// <reference types="electron" />
2
+ /// <reference types="node" />
3
+
4
+ import { Module } from 'arktype';
5
+ import { NumberType } from 'arktype/internal/methods/number.ts';
6
+ import { ObjectType } from 'arktype/internal/methods/object.ts';
7
+ import { Out } from 'arktype/internal/attributes.ts';
8
+ import { Process } from '@overlayed-gg/native-interface';
9
+ import { StringType } from 'arktype/internal/methods/string.ts';
10
+
11
+ export const enum AccessLevel {
12
+ Default = 0,
13
+ Global = 1,
14
+ Admin = 2,
15
+ }
16
+
17
+ export declare type ActiveGameInfo = {
18
+ isConnected: boolean;
19
+ resolution: {
20
+ width: number;
21
+ height: number;
22
+ };
23
+ };
24
+
25
+ declare const BaseEvent: ObjectType< {
26
+ game: string;
27
+ type: string;
28
+ creation_time: number;
29
+ }, {}>;
30
+
31
+ declare type BaseEvent = typeof BaseEvent.infer;
32
+
33
+ declare const BOT_ID = "00000000-0000-0000-0000-000000000000";
34
+
35
+ declare type CustomLoggerScope = ReturnType<typeof Logger.scope>;
36
+
37
+ declare const DAMAGE_TEAM_TYPES: readonly ["unknown", "enemy", "friendly", "invalid"];
38
+
39
+ declare const DAMAGE_TYPES: readonly ["bullet", "melee", "explosive", "falling", "regeneration", "unknown", "debris", "projectile", "downed", "gas", "thermal_explosion", "melee_gadget", "barbed_wire", "electric", "reinforcement", "frag", "paralyzed", "emp", "break", "cleanup", "interrogation", "melee-finisher", "toxic", "toxic-explosion", "pneumatic", "body-contact", "contact-explosion", "flash", "parasite-spike", "laser", "concussion", "blowtorch", "taser-shield", "reverse-friendly-fire", "self-destroyed", "area-control", "fire", "breach-kick", "break-wall", "blade-mine", "invalid"];
40
+
41
+ declare type DamageTeamType = typeof DamageTeamTypeSchema.infer;
42
+
43
+ declare const DamageTeamTypeSchema: StringType<"unknown" | "invalid" | "enemy" | "friendly", {}>;
44
+
45
+ declare type DamageType = typeof DamageTypeSchema.infer;
46
+
47
+ declare const DamageTypeSchema: StringType<"unknown" | "invalid" | "downed" | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine", {}>;
48
+
49
+ declare const DefuserDropped: ObjectType< {
50
+ game: "siege";
51
+ type: "defuser_dropped";
52
+ creation_time: number;
53
+ content: {
54
+ player_id: number;
55
+ };
56
+ }, {}>;
57
+
58
+ declare type DefuserDroppedEvent = typeof DefuserDropped.infer;
59
+
60
+ declare const DefuserPickedUp: ObjectType< {
61
+ game: "siege";
62
+ type: "defuser_picked_up";
63
+ creation_time: number;
64
+ content: {
65
+ player_id: number;
66
+ initial: boolean;
67
+ };
68
+ }, {}>;
69
+
70
+ declare type DefuserPickedUpEvent = typeof DefuserPickedUp.infer;
71
+
72
+ declare const DefuserPlanted: ObjectType< {
73
+ game: "siege";
74
+ type: "defuser_planted";
75
+ creation_time: number;
76
+ content: {
77
+ player_id: number;
78
+ };
79
+ }, {}>;
80
+
81
+ declare type DefuserPlantedEvent = typeof DefuserPlanted.infer;
82
+
83
+ declare const DefuserSabotaged: ObjectType< {
84
+ game: "siege";
85
+ type: "defuser_sabotaged";
86
+ creation_time: number;
87
+ content: {
88
+ player_id: number;
89
+ };
90
+ }, {}>;
91
+
92
+ declare type DefuserSabotagedEvent = typeof DefuserSabotaged.infer;
93
+
94
+ declare interface ErrorEvent_2 {
95
+ message: string;
96
+ code: ErrorEventCode;
97
+ data?: Record<string, any>;
98
+ timestamp: number;
99
+ }
100
+
101
+ declare type ErrorEventCode = "ELEVATION_MISMATCH";
102
+
103
+ declare interface ErrorManagerEvents {
104
+ error: ErrorEvent_2;
105
+ warning: WarningEvent;
106
+ }
107
+
108
+ declare type EventCallback<TEvent extends BaseEvent, TEventType extends EventType<TEvent>> = (event: Extract<TEvent, {
109
+ type: TEventType;
110
+ }>) => void;
111
+
112
+ declare const events: Module< {
113
+ event: {
114
+ game: "siege";
115
+ type: "local_player";
116
+ creation_time: number;
117
+ content: {
118
+ profile_id: string;
119
+ };
120
+ } | {
121
+ game: "siege";
122
+ type: "match_started";
123
+ creation_time: number;
124
+ content: {
125
+ game_mode: string;
126
+ game_type: {
127
+ id: number;
128
+ value: string;
129
+ };
130
+ match_type: string;
131
+ match_id: string;
132
+ map: {
133
+ id: number;
134
+ name: {
135
+ id: number;
136
+ value: string;
137
+ };
138
+ time_of_day: {
139
+ id: number;
140
+ value: string;
141
+ };
142
+ };
143
+ is_round_based: boolean;
144
+ current_round_index: number;
145
+ rounds: {
146
+ index: number;
147
+ rounds_until_next_segment: number;
148
+ segment_size: number;
149
+ segment_index: number;
150
+ team_0: {
151
+ role: "invalid" | "attacker" | "defender" | "both";
152
+ state: number;
153
+ };
154
+ team_1: {
155
+ role: "invalid" | "attacker" | "defender" | "both";
156
+ state: number;
157
+ };
158
+ }[];
159
+ };
160
+ } | {
161
+ game: "siege";
162
+ type: "module_loaded";
163
+ creation_time: number;
164
+ } | {
165
+ game: "siege";
166
+ type: "module_unloaded";
167
+ creation_time: number;
168
+ } | {
169
+ game: "siege";
170
+ type: "started_queuing";
171
+ creation_time: number;
172
+ content: {
173
+ game_mode: string;
174
+ game_type: {
175
+ id: number;
176
+ value: string;
177
+ };
178
+ match_type: string;
179
+ };
180
+ } | {
181
+ game: "siege";
182
+ type: "stopped_queuing";
183
+ creation_time: number;
184
+ } | {
185
+ game: "siege";
186
+ type: "unsupported_game_version";
187
+ creation_time: number;
188
+ content: {
189
+ hash: string | null;
190
+ version: string | null;
191
+ };
192
+ } | {
193
+ game: "siege";
194
+ type: "match_ended";
195
+ creation_time: number;
196
+ } | {
197
+ game: "siege";
198
+ type: "map_changed";
199
+ creation_time: number;
200
+ content: {
201
+ map: {
202
+ id: number;
203
+ name: {
204
+ id: number;
205
+ value: string;
206
+ };
207
+ time_of_day: {
208
+ id: number;
209
+ value: string;
210
+ };
211
+ };
212
+ };
213
+ } | {
214
+ game: "siege";
215
+ type: "operator_banned";
216
+ creation_time: number;
217
+ content: {
218
+ index: number;
219
+ team: 0 | 1;
220
+ side: "invalid" | "attacker" | "defender" | "both";
221
+ operator_name: {
222
+ id: number;
223
+ value: string;
224
+ } | null;
225
+ };
226
+ } | {
227
+ game: "siege";
228
+ type: "round_ended";
229
+ creation_time: number;
230
+ content: {
231
+ round_data: {
232
+ index: number;
233
+ rounds_until_next_segment: number;
234
+ segment_size: number;
235
+ segment_index: number;
236
+ team_0: {
237
+ role: "invalid" | "attacker" | "defender" | "both";
238
+ state: number;
239
+ };
240
+ team_1: {
241
+ role: "invalid" | "attacker" | "defender" | "both";
242
+ state: number;
243
+ };
244
+ };
245
+ damage_events: {
246
+ instigator_player_id: number;
247
+ receiver_player_id: number;
248
+ damage_amount: number;
249
+ remaining_health: number;
250
+ pre_damage_health: number;
251
+ max_health: number;
252
+ damage_type: "unknown" | "invalid" | "downed" | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine";
253
+ damage_team_type: "unknown" | "invalid" | "enemy" | "friendly";
254
+ damage_item_id: number | null;
255
+ damage_time: number;
256
+ }[];
257
+ players: {
258
+ player_id: number;
259
+ final_health: number;
260
+ final_life_state: "normal" | "overhealed" | "low_health" | "downed" | "dead" | "respawning";
261
+ operator_name: {
262
+ id: number;
263
+ value: string;
264
+ } | null;
265
+ }[];
266
+ };
267
+ } | {
268
+ game: "siege";
269
+ type: "phase_changed";
270
+ creation_time: number;
271
+ content: {
272
+ phase: "intro" | "planning" | "prep" | "action" | "results" | "invalid";
273
+ };
274
+ } | ((In: {
275
+ game: "siege";
276
+ type: "player_joined";
277
+ creation_time: number;
278
+ content: {
279
+ player_id: number;
280
+ profile_id: string;
281
+ is_bot: boolean;
282
+ is_enemy: boolean;
283
+ is_squad_member: boolean;
284
+ is_local_player: boolean;
285
+ username: string;
286
+ side: "invalid" | "attacker" | "defender" | "both";
287
+ team: 0 | 1;
288
+ is_privacy_username: boolean;
289
+ has_avatar_hidden: boolean;
290
+ has_commend_streak: boolean;
291
+ ping_id: number;
292
+ match_stats: {
293
+ kills: number;
294
+ deaths: number;
295
+ assists: number;
296
+ plants: number;
297
+ score: number;
298
+ };
299
+ life_state: "normal" | "overhealed" | "low_health" | "downed" | "dead" | "respawning";
300
+ ping: number;
301
+ };
302
+ }) => Out< {
303
+ content: {
304
+ starting_side: "invalid" | "attacker" | "defender" | "both";
305
+ player_id: number;
306
+ profile_id: string;
307
+ is_bot: boolean;
308
+ is_enemy: boolean;
309
+ is_squad_member: boolean;
310
+ is_local_player: boolean;
311
+ username: string;
312
+ side: "invalid" | "attacker" | "defender" | "both";
313
+ team: 0 | 1;
314
+ is_privacy_username: boolean;
315
+ has_avatar_hidden: boolean;
316
+ has_commend_streak: boolean;
317
+ ping_id: number;
318
+ match_stats: {
319
+ kills: number;
320
+ deaths: number;
321
+ assists: number;
322
+ plants: number;
323
+ score: number;
324
+ };
325
+ life_state: "normal" | "overhealed" | "low_health" | "downed" | "dead" | "respawning";
326
+ ping: number;
327
+ };
328
+ game: "siege";
329
+ type: "player_joined";
330
+ creation_time: number;
331
+ }>) | {
332
+ game: "siege";
333
+ type: "player_left";
334
+ creation_time: number;
335
+ content: {
336
+ player_id: number;
337
+ };
338
+ } | {
339
+ game: "siege";
340
+ type: "player_operator_changed";
341
+ creation_time: number;
342
+ content: {
343
+ player_id: number;
344
+ operator_name: {
345
+ id: number;
346
+ value: string;
347
+ } | null;
348
+ };
349
+ } | {
350
+ game: "siege";
351
+ type: "player_location_changed";
352
+ creation_time: number;
353
+ content: {
354
+ player_id: number;
355
+ location_name: string;
356
+ };
357
+ } | {
358
+ game: "siege";
359
+ type: "player_side_changed";
360
+ creation_time: number;
361
+ content: {
362
+ player_id: number;
363
+ side: "invalid" | "attacker" | "defender" | "both";
364
+ };
365
+ } | {
366
+ game: "siege";
367
+ type: "player_stats_changed";
368
+ creation_time: number;
369
+ content: {
370
+ player_id: number;
371
+ match_stats: {
372
+ kills: number;
373
+ deaths: number;
374
+ assists: number;
375
+ plants: number;
376
+ score: number;
377
+ };
378
+ };
379
+ } | {
380
+ game: "siege";
381
+ type: "player_ping_updated";
382
+ creation_time: number;
383
+ content: {
384
+ player_id: number;
385
+ ping: number;
386
+ };
387
+ } | {
388
+ game: "siege";
389
+ type: "defuser_planted";
390
+ creation_time: number;
391
+ content: {
392
+ player_id: number;
393
+ };
394
+ } | {
395
+ game: "siege";
396
+ type: "defuser_sabotaged";
397
+ creation_time: number;
398
+ content: {
399
+ player_id: number;
400
+ };
401
+ } | {
402
+ game: "siege";
403
+ type: "defuser_picked_up";
404
+ creation_time: number;
405
+ content: {
406
+ player_id: number;
407
+ initial: boolean;
408
+ };
409
+ } | {
410
+ game: "siege";
411
+ type: "defuser_dropped";
412
+ creation_time: number;
413
+ content: {
414
+ player_id: number;
415
+ };
416
+ } | {
417
+ game: "siege";
418
+ type: "player_life_state_changed";
419
+ creation_time: number;
420
+ content: {
421
+ player_id: number;
422
+ life_state: "normal" | "overhealed" | "low_health" | "downed" | "dead" | "respawning";
423
+ };
424
+ } | {
425
+ game: "siege";
426
+ type: "player_died";
427
+ creation_time: number;
428
+ content: {
429
+ player_id: number;
430
+ instigator_player_id: number;
431
+ };
432
+ } | {
433
+ game: "siege";
434
+ type: "player_downed";
435
+ creation_time: number;
436
+ content: {
437
+ player_id: number;
438
+ instigator_player_id: number;
439
+ };
440
+ } | {
441
+ game: "siege";
442
+ type: "player_ping_id_changed";
443
+ creation_time: number;
444
+ content: {
445
+ player_id: number;
446
+ ping_id: number;
447
+ };
448
+ } | {
449
+ game: "siege";
450
+ type: "player_team_changed";
451
+ creation_time: number;
452
+ content: {
453
+ player_id: number;
454
+ team: 0 | 1;
455
+ };
456
+ };
457
+ local_player: {
458
+ game: "siege";
459
+ type: "local_player";
460
+ creation_time: number;
461
+ content: {
462
+ profile_id: string;
463
+ };
464
+ };
465
+ match_started: {
466
+ game: "siege";
467
+ type: "match_started";
468
+ creation_time: number;
469
+ content: {
470
+ game_mode: string;
471
+ game_type: {
472
+ id: number;
473
+ value: string;
474
+ };
475
+ match_type: string;
476
+ match_id: string;
477
+ map: {
478
+ id: number;
479
+ name: {
480
+ id: number;
481
+ value: string;
482
+ };
483
+ time_of_day: {
484
+ id: number;
485
+ value: string;
486
+ };
487
+ };
488
+ is_round_based: boolean;
489
+ current_round_index: number;
490
+ rounds: {
491
+ index: number;
492
+ rounds_until_next_segment: number;
493
+ segment_size: number;
494
+ segment_index: number;
495
+ team_0: {
496
+ role: "invalid" | "attacker" | "defender" | "both";
497
+ state: number;
498
+ };
499
+ team_1: {
500
+ role: "invalid" | "attacker" | "defender" | "both";
501
+ state: number;
502
+ };
503
+ }[];
504
+ };
505
+ };
506
+ module_loaded: {
507
+ game: "siege";
508
+ type: "module_loaded";
509
+ creation_time: number;
510
+ };
511
+ module_unloaded: {
512
+ game: "siege";
513
+ type: "module_unloaded";
514
+ creation_time: number;
515
+ };
516
+ started_queuing: {
517
+ game: "siege";
518
+ type: "started_queuing";
519
+ creation_time: number;
520
+ content: {
521
+ game_mode: string;
522
+ game_type: {
523
+ id: number;
524
+ value: string;
525
+ };
526
+ match_type: string;
527
+ };
528
+ };
529
+ stopped_queuing: {
530
+ game: "siege";
531
+ type: "stopped_queuing";
532
+ creation_time: number;
533
+ };
534
+ unsupported_game_version: {
535
+ game: "siege";
536
+ type: "unsupported_game_version";
537
+ creation_time: number;
538
+ content: {
539
+ hash: string | null;
540
+ version: string | null;
541
+ };
542
+ };
543
+ match_ended: {
544
+ game: "siege";
545
+ type: "match_ended";
546
+ creation_time: number;
547
+ };
548
+ map_changed: {
549
+ game: "siege";
550
+ type: "map_changed";
551
+ creation_time: number;
552
+ content: {
553
+ map: {
554
+ id: number;
555
+ name: {
556
+ id: number;
557
+ value: string;
558
+ };
559
+ time_of_day: {
560
+ id: number;
561
+ value: string;
562
+ };
563
+ };
564
+ };
565
+ };
566
+ operator_banned: {
567
+ game: "siege";
568
+ type: "operator_banned";
569
+ creation_time: number;
570
+ content: {
571
+ index: number;
572
+ team: 0 | 1;
573
+ side: "invalid" | "attacker" | "defender" | "both";
574
+ operator_name: {
575
+ id: number;
576
+ value: string;
577
+ } | null;
578
+ };
579
+ };
580
+ round_ended: {
581
+ game: "siege";
582
+ type: "round_ended";
583
+ creation_time: number;
584
+ content: {
585
+ round_data: {
586
+ index: number;
587
+ rounds_until_next_segment: number;
588
+ segment_size: number;
589
+ segment_index: number;
590
+ team_0: {
591
+ role: "invalid" | "attacker" | "defender" | "both";
592
+ state: number;
593
+ };
594
+ team_1: {
595
+ role: "invalid" | "attacker" | "defender" | "both";
596
+ state: number;
597
+ };
598
+ };
599
+ damage_events: {
600
+ instigator_player_id: number;
601
+ receiver_player_id: number;
602
+ damage_amount: number;
603
+ remaining_health: number;
604
+ pre_damage_health: number;
605
+ max_health: number;
606
+ damage_type: "unknown" | "invalid" | "downed" | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine";
607
+ damage_team_type: "unknown" | "invalid" | "enemy" | "friendly";
608
+ damage_item_id: number | null;
609
+ damage_time: number;
610
+ }[];
611
+ players: {
612
+ player_id: number;
613
+ final_health: number;
614
+ final_life_state: "normal" | "overhealed" | "low_health" | "downed" | "dead" | "respawning";
615
+ operator_name: {
616
+ id: number;
617
+ value: string;
618
+ } | null;
619
+ }[];
620
+ };
621
+ };
622
+ phase_changed: {
623
+ game: "siege";
624
+ type: "phase_changed";
625
+ creation_time: number;
626
+ content: {
627
+ phase: "intro" | "planning" | "prep" | "action" | "results" | "invalid";
628
+ };
629
+ };
630
+ player_joined: (In: {
631
+ game: "siege";
632
+ type: "player_joined";
633
+ creation_time: number;
634
+ content: {
635
+ player_id: number;
636
+ profile_id: string;
637
+ is_bot: boolean;
638
+ is_enemy: boolean;
639
+ is_squad_member: boolean;
640
+ is_local_player: boolean;
641
+ username: string;
642
+ side: "invalid" | "attacker" | "defender" | "both";
643
+ team: 0 | 1;
644
+ is_privacy_username: boolean;
645
+ has_avatar_hidden: boolean;
646
+ has_commend_streak: boolean;
647
+ ping_id: number;
648
+ match_stats: {
649
+ kills: number;
650
+ deaths: number;
651
+ assists: number;
652
+ plants: number;
653
+ score: number;
654
+ };
655
+ life_state: "normal" | "overhealed" | "low_health" | "downed" | "dead" | "respawning";
656
+ ping: number;
657
+ };
658
+ }) => Out< {
659
+ content: {
660
+ starting_side: "invalid" | "attacker" | "defender" | "both";
661
+ player_id: number;
662
+ profile_id: string;
663
+ is_bot: boolean;
664
+ is_enemy: boolean;
665
+ is_squad_member: boolean;
666
+ is_local_player: boolean;
667
+ username: string;
668
+ side: "invalid" | "attacker" | "defender" | "both";
669
+ team: 0 | 1;
670
+ is_privacy_username: boolean;
671
+ has_avatar_hidden: boolean;
672
+ has_commend_streak: boolean;
673
+ ping_id: number;
674
+ match_stats: {
675
+ kills: number;
676
+ deaths: number;
677
+ assists: number;
678
+ plants: number;
679
+ score: number;
680
+ };
681
+ life_state: "normal" | "overhealed" | "low_health" | "downed" | "dead" | "respawning";
682
+ ping: number;
683
+ };
684
+ game: "siege";
685
+ type: "player_joined";
686
+ creation_time: number;
687
+ }>;
688
+ player_left: {
689
+ game: "siege";
690
+ type: "player_left";
691
+ creation_time: number;
692
+ content: {
693
+ player_id: number;
694
+ };
695
+ };
696
+ player_operator_changed: {
697
+ game: "siege";
698
+ type: "player_operator_changed";
699
+ creation_time: number;
700
+ content: {
701
+ player_id: number;
702
+ operator_name: {
703
+ id: number;
704
+ value: string;
705
+ } | null;
706
+ };
707
+ };
708
+ player_location_changed: {
709
+ game: "siege";
710
+ type: "player_location_changed";
711
+ creation_time: number;
712
+ content: {
713
+ player_id: number;
714
+ location_name: string;
715
+ };
716
+ };
717
+ player_side_changed: {
718
+ game: "siege";
719
+ type: "player_side_changed";
720
+ creation_time: number;
721
+ content: {
722
+ player_id: number;
723
+ side: "invalid" | "attacker" | "defender" | "both";
724
+ };
725
+ };
726
+ player_stats_changed: {
727
+ game: "siege";
728
+ type: "player_stats_changed";
729
+ creation_time: number;
730
+ content: {
731
+ player_id: number;
732
+ match_stats: {
733
+ kills: number;
734
+ deaths: number;
735
+ assists: number;
736
+ plants: number;
737
+ score: number;
738
+ };
739
+ };
740
+ };
741
+ player_ping_updated: {
742
+ game: "siege";
743
+ type: "player_ping_updated";
744
+ creation_time: number;
745
+ content: {
746
+ player_id: number;
747
+ ping: number;
748
+ };
749
+ };
750
+ defuser_planted: {
751
+ game: "siege";
752
+ type: "defuser_planted";
753
+ creation_time: number;
754
+ content: {
755
+ player_id: number;
756
+ };
757
+ };
758
+ defuser_sabotaged: {
759
+ game: "siege";
760
+ type: "defuser_sabotaged";
761
+ creation_time: number;
762
+ content: {
763
+ player_id: number;
764
+ };
765
+ };
766
+ defuser_picked_up: {
767
+ game: "siege";
768
+ type: "defuser_picked_up";
769
+ creation_time: number;
770
+ content: {
771
+ player_id: number;
772
+ initial: boolean;
773
+ };
774
+ };
775
+ defuser_dropped: {
776
+ game: "siege";
777
+ type: "defuser_dropped";
778
+ creation_time: number;
779
+ content: {
780
+ player_id: number;
781
+ };
782
+ };
783
+ player_life_state_changed: {
784
+ game: "siege";
785
+ type: "player_life_state_changed";
786
+ creation_time: number;
787
+ content: {
788
+ player_id: number;
789
+ life_state: "normal" | "overhealed" | "low_health" | "downed" | "dead" | "respawning";
790
+ };
791
+ };
792
+ player_died: {
793
+ game: "siege";
794
+ type: "player_died";
795
+ creation_time: number;
796
+ content: {
797
+ player_id: number;
798
+ instigator_player_id: number;
799
+ };
800
+ };
801
+ player_downed: {
802
+ game: "siege";
803
+ type: "player_downed";
804
+ creation_time: number;
805
+ content: {
806
+ player_id: number;
807
+ instigator_player_id: number;
808
+ };
809
+ };
810
+ player_ping_id_changed: {
811
+ game: "siege";
812
+ type: "player_ping_id_changed";
813
+ creation_time: number;
814
+ content: {
815
+ player_id: number;
816
+ ping_id: number;
817
+ };
818
+ };
819
+ player_team_changed: {
820
+ game: "siege";
821
+ type: "player_team_changed";
822
+ creation_time: number;
823
+ content: {
824
+ player_id: number;
825
+ team: 0 | 1;
826
+ };
827
+ };
828
+ }>;
829
+
830
+ declare type EventType<TEvent extends BaseEvent> = TEvent["type"];
831
+
832
+ declare const GAME_MODE_PHASES: readonly ["intro", "planning", "prep", "action", "results", "invalid"];
833
+
834
+ export declare type GameLaunchManagerEvents = {
835
+ gameLaunchInternal: {
836
+ ravenGame: RavenGame;
837
+ process: Process;
838
+ };
839
+ gameCloseInternal: {
840
+ ravenGame: RavenGame;
841
+ process: Process;
842
+ };
843
+ gameLaunch: {
844
+ game: string;
845
+ };
846
+ gameClose: {
847
+ game: string;
848
+ };
849
+ };
850
+
851
+ declare type GameModePhase = typeof GameModePhaseSchema.infer;
852
+
853
+ declare const GameModePhaseSchema: StringType<"intro" | "planning" | "prep" | "action" | "results" | "invalid", {}>;
854
+
855
+ declare interface GameModule<TEvents extends Record<string, BaseEvent> = Record<string, BaseEvent>, TKey extends string = string> {
856
+ key: TKey;
857
+ events: Module<GameModuleEvent<TEvents>>;
858
+ }
859
+
860
+ declare type GameModuleEvent<TEvents extends Record<string, BaseEvent>> = TEvents & {
861
+ event: BaseEvent;
862
+ };
863
+
864
+ declare type GameModuleEventInfer<TModule extends GameModule> = TModule["events"]["event"]["infer"];
865
+
866
+ declare type KeybindCallbacks = {
867
+ toggle?: KeybindPressedCallback;
868
+ down?: KeybindDownCallback;
869
+ up?: KeybindUpCallback;
870
+ };
871
+
872
+ declare type KeybindDownCallback = () => string | void;
873
+
874
+ declare type KeybindPressedCallback = () => string | void;
875
+
876
+ declare type KeybindUpCallback = () => void;
877
+
878
+ export interface KeyboardKeyEvent extends WindowEvent {
879
+ key: VirtualKey;
880
+ }
881
+
882
+ declare const LocalPlayer: ObjectType< {
883
+ game: "siege";
884
+ type: "local_player";
885
+ creation_time: number;
886
+ content: {
887
+ profile_id: string;
888
+ };
889
+ }, {}>;
890
+
891
+ declare type LocalPlayerEvent = typeof LocalPlayer.infer;
892
+
893
+ declare const Logger = {
894
+ scope: (name: string) => {
895
+ return {
896
+ log: (...args: any[]) => {
897
+ console.log(name, ...args);
898
+ },
899
+ error: (...args: any[]) => {
900
+ console.error(name, ...args);
901
+ },
902
+ warn: (...args: any[]) => {
903
+ console.warn(name, ...args);
904
+ },
905
+ info: (...args: any[]) => {
906
+ console.info(name, ...args);
907
+ },
908
+ debug: (...args: any[]) => {
909
+ console.debug(name, ...args);
910
+ },
911
+ captureSentryException: (...args: any[]) => {
912
+ console.error(name, ...args);
913
+ },
914
+ sentryError: (...args: any[]) => {
915
+ console.error(name, ...args);
916
+ },
917
+ sentryLog: (...args: any[]) => {
918
+ console.log(name, ...args);
919
+ },
920
+ sentryWarn: (...args: any[]) => {
921
+ console.warn(name, ...args);
922
+ },
923
+ };
924
+ },
925
+ error: (...args: any[]) => {
926
+ console.error(name, ...args);
927
+ },
928
+ warn: (...args: any[]) => {
929
+ console.warn(name, ...args);
930
+ },
931
+ info: (...args: any[]) => {
932
+ console.info(name, ...args);
933
+ },
934
+ debug: (...args: any[]) => {
935
+ console.debug(name, ...args);
936
+ },
937
+ captureSentryException: (...args: any[]) => {
938
+ console.error(name, ...args);
939
+ },
940
+ sentryError: (...args: any[]) => {
941
+ console.error(name, ...args);
942
+ },
943
+ sentryLog: (...args: any[]) => {
944
+ console.log(name, ...args);
945
+ },
946
+ sentryWarn: (...args: any[]) => {
947
+ console.warn(name, ...args);
948
+ },
949
+ sentryInfo: (...args: any[]) => {
950
+ console.info(name, ...args);
951
+ },
952
+ };
953
+
954
+ /** This should be kept in sync with EventEmitterManager */
955
+ declare class Manager {
956
+ protected logger: CustomLoggerScope;
957
+ initialized: boolean;
958
+ constructor(name: string);
959
+ init(): void;
960
+ destroy(): void;
961
+ }
962
+
963
+ declare const MapChanged: ObjectType< {
964
+ game: "siege";
965
+ type: "map_changed";
966
+ creation_time: number;
967
+ content: {
968
+ map: {
969
+ id: number;
970
+ name: {
971
+ id: number;
972
+ value: string;
973
+ };
974
+ time_of_day: {
975
+ id: number;
976
+ value: string;
977
+ };
978
+ };
979
+ };
980
+ }, {}>;
981
+
982
+ declare type MapChangedEvent = typeof MapChanged.infer;
983
+
984
+ declare type MapData = typeof MapDataSchema.infer;
985
+
986
+ declare const MapDataSchema: ObjectType< {
987
+ id: number;
988
+ name: {
989
+ id: number;
990
+ value: string;
991
+ };
992
+ time_of_day: {
993
+ id: number;
994
+ value: string;
995
+ };
996
+ }, {}>;
997
+
998
+ declare const MatchEnded: ObjectType< {
999
+ game: "siege";
1000
+ type: "match_ended";
1001
+ creation_time: number;
1002
+ }, {}>;
1003
+
1004
+ declare type MatchEndedEvent = typeof MatchEnded.infer;
1005
+
1006
+ declare type MatchRoundData = typeof MatchRoundDataSchema.infer;
1007
+
1008
+ declare const MatchRoundDataSchema: ObjectType< {
1009
+ index: number;
1010
+ rounds_until_next_segment: number;
1011
+ segment_size: number;
1012
+ segment_index: number;
1013
+ team_0: {
1014
+ role: "invalid" | "attacker" | "defender" | "both";
1015
+ state: number;
1016
+ };
1017
+ team_1: {
1018
+ role: "invalid" | "attacker" | "defender" | "both";
1019
+ state: number;
1020
+ };
1021
+ }, {}>;
1022
+
1023
+ declare const MatchStarted: ObjectType< {
1024
+ game: "siege";
1025
+ type: "match_started";
1026
+ creation_time: number;
1027
+ content: {
1028
+ game_mode: string;
1029
+ game_type: {
1030
+ id: number;
1031
+ value: string;
1032
+ };
1033
+ match_type: string;
1034
+ match_id: string;
1035
+ map: {
1036
+ id: number;
1037
+ name: {
1038
+ id: number;
1039
+ value: string;
1040
+ };
1041
+ time_of_day: {
1042
+ id: number;
1043
+ value: string;
1044
+ };
1045
+ };
1046
+ is_round_based: boolean;
1047
+ current_round_index: number;
1048
+ rounds: {
1049
+ index: number;
1050
+ rounds_until_next_segment: number;
1051
+ segment_size: number;
1052
+ segment_index: number;
1053
+ team_0: {
1054
+ role: "invalid" | "attacker" | "defender" | "both";
1055
+ state: number;
1056
+ };
1057
+ team_1: {
1058
+ role: "invalid" | "attacker" | "defender" | "both";
1059
+ state: number;
1060
+ };
1061
+ }[];
1062
+ };
1063
+ }, {}>;
1064
+
1065
+ declare type MatchStartedEvent = typeof MatchStarted.infer;
1066
+
1067
+ declare function module_2(): {
1068
+ readonly key: "siege";
1069
+ readonly events: Module< {
1070
+ event: {
1071
+ game: "siege";
1072
+ type: "local_player";
1073
+ creation_time: number;
1074
+ content: {
1075
+ profile_id: string;
1076
+ };
1077
+ } | {
1078
+ game: "siege";
1079
+ type: "match_started";
1080
+ creation_time: number;
1081
+ content: {
1082
+ game_mode: string;
1083
+ game_type: {
1084
+ id: number;
1085
+ value: string;
1086
+ };
1087
+ match_type: string;
1088
+ match_id: string;
1089
+ map: {
1090
+ id: number;
1091
+ name: {
1092
+ id: number;
1093
+ value: string;
1094
+ };
1095
+ time_of_day: {
1096
+ id: number;
1097
+ value: string;
1098
+ };
1099
+ };
1100
+ is_round_based: boolean;
1101
+ current_round_index: number;
1102
+ rounds: {
1103
+ index: number;
1104
+ rounds_until_next_segment: number;
1105
+ segment_size: number;
1106
+ segment_index: number;
1107
+ team_0: {
1108
+ role: "invalid" | "attacker" | "defender" | "both";
1109
+ state: number;
1110
+ };
1111
+ team_1: {
1112
+ role: "invalid" | "attacker" | "defender" | "both";
1113
+ state: number;
1114
+ };
1115
+ }[];
1116
+ };
1117
+ } | {
1118
+ game: "siege";
1119
+ type: "module_loaded";
1120
+ creation_time: number;
1121
+ } | {
1122
+ game: "siege";
1123
+ type: "module_unloaded";
1124
+ creation_time: number;
1125
+ } | {
1126
+ game: "siege";
1127
+ type: "started_queuing";
1128
+ creation_time: number;
1129
+ content: {
1130
+ game_mode: string;
1131
+ game_type: {
1132
+ id: number;
1133
+ value: string;
1134
+ };
1135
+ match_type: string;
1136
+ };
1137
+ } | {
1138
+ game: "siege";
1139
+ type: "stopped_queuing";
1140
+ creation_time: number;
1141
+ } | {
1142
+ game: "siege";
1143
+ type: "unsupported_game_version";
1144
+ creation_time: number;
1145
+ content: {
1146
+ hash: string | null;
1147
+ version: string | null;
1148
+ };
1149
+ } | {
1150
+ game: "siege";
1151
+ type: "match_ended";
1152
+ creation_time: number;
1153
+ } | {
1154
+ game: "siege";
1155
+ type: "map_changed";
1156
+ creation_time: number;
1157
+ content: {
1158
+ map: {
1159
+ id: number;
1160
+ name: {
1161
+ id: number;
1162
+ value: string;
1163
+ };
1164
+ time_of_day: {
1165
+ id: number;
1166
+ value: string;
1167
+ };
1168
+ };
1169
+ };
1170
+ } | {
1171
+ game: "siege";
1172
+ type: "operator_banned";
1173
+ creation_time: number;
1174
+ content: {
1175
+ index: number;
1176
+ team: 0 | 1;
1177
+ side: "invalid" | "attacker" | "defender" | "both";
1178
+ operator_name: {
1179
+ id: number;
1180
+ value: string;
1181
+ } | null;
1182
+ };
1183
+ } | {
1184
+ game: "siege";
1185
+ type: "round_ended";
1186
+ creation_time: number;
1187
+ content: {
1188
+ round_data: {
1189
+ index: number;
1190
+ rounds_until_next_segment: number;
1191
+ segment_size: number;
1192
+ segment_index: number;
1193
+ team_0: {
1194
+ role: "invalid" | "attacker" | "defender" | "both";
1195
+ state: number;
1196
+ };
1197
+ team_1: {
1198
+ role: "invalid" | "attacker" | "defender" | "both";
1199
+ state: number;
1200
+ };
1201
+ };
1202
+ damage_events: {
1203
+ instigator_player_id: number;
1204
+ receiver_player_id: number;
1205
+ damage_amount: number;
1206
+ remaining_health: number;
1207
+ pre_damage_health: number;
1208
+ max_health: number;
1209
+ damage_type: "unknown" | "invalid" | "downed" | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine";
1210
+ damage_team_type: "unknown" | "invalid" | "enemy" | "friendly";
1211
+ damage_item_id: number | null;
1212
+ damage_time: number;
1213
+ }[];
1214
+ players: {
1215
+ player_id: number;
1216
+ final_health: number;
1217
+ final_life_state: "normal" | "overhealed" | "low_health" | "downed" | "dead" | "respawning";
1218
+ operator_name: {
1219
+ id: number;
1220
+ value: string;
1221
+ } | null;
1222
+ }[];
1223
+ };
1224
+ } | {
1225
+ game: "siege";
1226
+ type: "phase_changed";
1227
+ creation_time: number;
1228
+ content: {
1229
+ phase: "intro" | "planning" | "prep" | "action" | "results" | "invalid";
1230
+ };
1231
+ } | ((In: {
1232
+ game: "siege";
1233
+ type: "player_joined";
1234
+ creation_time: number;
1235
+ content: {
1236
+ player_id: number;
1237
+ profile_id: string;
1238
+ is_bot: boolean;
1239
+ is_enemy: boolean;
1240
+ is_squad_member: boolean;
1241
+ is_local_player: boolean;
1242
+ username: string;
1243
+ side: "invalid" | "attacker" | "defender" | "both";
1244
+ team: 0 | 1;
1245
+ is_privacy_username: boolean;
1246
+ has_avatar_hidden: boolean;
1247
+ has_commend_streak: boolean;
1248
+ ping_id: number;
1249
+ match_stats: {
1250
+ kills: number;
1251
+ deaths: number;
1252
+ assists: number;
1253
+ plants: number;
1254
+ score: number;
1255
+ };
1256
+ life_state: "normal" | "overhealed" | "low_health" | "downed" | "dead" | "respawning";
1257
+ ping: number;
1258
+ };
1259
+ }) => Out< {
1260
+ content: {
1261
+ starting_side: "invalid" | "attacker" | "defender" | "both";
1262
+ player_id: number;
1263
+ profile_id: string;
1264
+ is_bot: boolean;
1265
+ is_enemy: boolean;
1266
+ is_squad_member: boolean;
1267
+ is_local_player: boolean;
1268
+ username: string;
1269
+ side: "invalid" | "attacker" | "defender" | "both";
1270
+ team: 0 | 1;
1271
+ is_privacy_username: boolean;
1272
+ has_avatar_hidden: boolean;
1273
+ has_commend_streak: boolean;
1274
+ ping_id: number;
1275
+ match_stats: {
1276
+ kills: number;
1277
+ deaths: number;
1278
+ assists: number;
1279
+ plants: number;
1280
+ score: number;
1281
+ };
1282
+ life_state: "normal" | "overhealed" | "low_health" | "downed" | "dead" | "respawning";
1283
+ ping: number;
1284
+ };
1285
+ game: "siege";
1286
+ type: "player_joined";
1287
+ creation_time: number;
1288
+ }>) | {
1289
+ game: "siege";
1290
+ type: "player_left";
1291
+ creation_time: number;
1292
+ content: {
1293
+ player_id: number;
1294
+ };
1295
+ } | {
1296
+ game: "siege";
1297
+ type: "player_operator_changed";
1298
+ creation_time: number;
1299
+ content: {
1300
+ player_id: number;
1301
+ operator_name: {
1302
+ id: number;
1303
+ value: string;
1304
+ } | null;
1305
+ };
1306
+ } | {
1307
+ game: "siege";
1308
+ type: "player_location_changed";
1309
+ creation_time: number;
1310
+ content: {
1311
+ player_id: number;
1312
+ location_name: string;
1313
+ };
1314
+ } | {
1315
+ game: "siege";
1316
+ type: "player_side_changed";
1317
+ creation_time: number;
1318
+ content: {
1319
+ player_id: number;
1320
+ side: "invalid" | "attacker" | "defender" | "both";
1321
+ };
1322
+ } | {
1323
+ game: "siege";
1324
+ type: "player_stats_changed";
1325
+ creation_time: number;
1326
+ content: {
1327
+ player_id: number;
1328
+ match_stats: {
1329
+ kills: number;
1330
+ deaths: number;
1331
+ assists: number;
1332
+ plants: number;
1333
+ score: number;
1334
+ };
1335
+ };
1336
+ } | {
1337
+ game: "siege";
1338
+ type: "player_ping_updated";
1339
+ creation_time: number;
1340
+ content: {
1341
+ player_id: number;
1342
+ ping: number;
1343
+ };
1344
+ } | {
1345
+ game: "siege";
1346
+ type: "defuser_planted";
1347
+ creation_time: number;
1348
+ content: {
1349
+ player_id: number;
1350
+ };
1351
+ } | {
1352
+ game: "siege";
1353
+ type: "defuser_sabotaged";
1354
+ creation_time: number;
1355
+ content: {
1356
+ player_id: number;
1357
+ };
1358
+ } | {
1359
+ game: "siege";
1360
+ type: "defuser_picked_up";
1361
+ creation_time: number;
1362
+ content: {
1363
+ player_id: number;
1364
+ initial: boolean;
1365
+ };
1366
+ } | {
1367
+ game: "siege";
1368
+ type: "defuser_dropped";
1369
+ creation_time: number;
1370
+ content: {
1371
+ player_id: number;
1372
+ };
1373
+ } | {
1374
+ game: "siege";
1375
+ type: "player_life_state_changed";
1376
+ creation_time: number;
1377
+ content: {
1378
+ player_id: number;
1379
+ life_state: "normal" | "overhealed" | "low_health" | "downed" | "dead" | "respawning";
1380
+ };
1381
+ } | {
1382
+ game: "siege";
1383
+ type: "player_died";
1384
+ creation_time: number;
1385
+ content: {
1386
+ player_id: number;
1387
+ instigator_player_id: number;
1388
+ };
1389
+ } | {
1390
+ game: "siege";
1391
+ type: "player_downed";
1392
+ creation_time: number;
1393
+ content: {
1394
+ player_id: number;
1395
+ instigator_player_id: number;
1396
+ };
1397
+ } | {
1398
+ game: "siege";
1399
+ type: "player_ping_id_changed";
1400
+ creation_time: number;
1401
+ content: {
1402
+ player_id: number;
1403
+ ping_id: number;
1404
+ };
1405
+ } | {
1406
+ game: "siege";
1407
+ type: "player_team_changed";
1408
+ creation_time: number;
1409
+ content: {
1410
+ player_id: number;
1411
+ team: 0 | 1;
1412
+ };
1413
+ };
1414
+ local_player: {
1415
+ game: "siege";
1416
+ type: "local_player";
1417
+ creation_time: number;
1418
+ content: {
1419
+ profile_id: string;
1420
+ };
1421
+ };
1422
+ match_started: {
1423
+ game: "siege";
1424
+ type: "match_started";
1425
+ creation_time: number;
1426
+ content: {
1427
+ game_mode: string;
1428
+ game_type: {
1429
+ id: number;
1430
+ value: string;
1431
+ };
1432
+ match_type: string;
1433
+ match_id: string;
1434
+ map: {
1435
+ id: number;
1436
+ name: {
1437
+ id: number;
1438
+ value: string;
1439
+ };
1440
+ time_of_day: {
1441
+ id: number;
1442
+ value: string;
1443
+ };
1444
+ };
1445
+ is_round_based: boolean;
1446
+ current_round_index: number;
1447
+ rounds: {
1448
+ index: number;
1449
+ rounds_until_next_segment: number;
1450
+ segment_size: number;
1451
+ segment_index: number;
1452
+ team_0: {
1453
+ role: "invalid" | "attacker" | "defender" | "both";
1454
+ state: number;
1455
+ };
1456
+ team_1: {
1457
+ role: "invalid" | "attacker" | "defender" | "both";
1458
+ state: number;
1459
+ };
1460
+ }[];
1461
+ };
1462
+ };
1463
+ module_loaded: {
1464
+ game: "siege";
1465
+ type: "module_loaded";
1466
+ creation_time: number;
1467
+ };
1468
+ module_unloaded: {
1469
+ game: "siege";
1470
+ type: "module_unloaded";
1471
+ creation_time: number;
1472
+ };
1473
+ started_queuing: {
1474
+ game: "siege";
1475
+ type: "started_queuing";
1476
+ creation_time: number;
1477
+ content: {
1478
+ game_mode: string;
1479
+ game_type: {
1480
+ id: number;
1481
+ value: string;
1482
+ };
1483
+ match_type: string;
1484
+ };
1485
+ };
1486
+ stopped_queuing: {
1487
+ game: "siege";
1488
+ type: "stopped_queuing";
1489
+ creation_time: number;
1490
+ };
1491
+ unsupported_game_version: {
1492
+ game: "siege";
1493
+ type: "unsupported_game_version";
1494
+ creation_time: number;
1495
+ content: {
1496
+ hash: string | null;
1497
+ version: string | null;
1498
+ };
1499
+ };
1500
+ match_ended: {
1501
+ game: "siege";
1502
+ type: "match_ended";
1503
+ creation_time: number;
1504
+ };
1505
+ map_changed: {
1506
+ game: "siege";
1507
+ type: "map_changed";
1508
+ creation_time: number;
1509
+ content: {
1510
+ map: {
1511
+ id: number;
1512
+ name: {
1513
+ id: number;
1514
+ value: string;
1515
+ };
1516
+ time_of_day: {
1517
+ id: number;
1518
+ value: string;
1519
+ };
1520
+ };
1521
+ };
1522
+ };
1523
+ operator_banned: {
1524
+ game: "siege";
1525
+ type: "operator_banned";
1526
+ creation_time: number;
1527
+ content: {
1528
+ index: number;
1529
+ team: 0 | 1;
1530
+ side: "invalid" | "attacker" | "defender" | "both";
1531
+ operator_name: {
1532
+ id: number;
1533
+ value: string;
1534
+ } | null;
1535
+ };
1536
+ };
1537
+ round_ended: {
1538
+ game: "siege";
1539
+ type: "round_ended";
1540
+ creation_time: number;
1541
+ content: {
1542
+ round_data: {
1543
+ index: number;
1544
+ rounds_until_next_segment: number;
1545
+ segment_size: number;
1546
+ segment_index: number;
1547
+ team_0: {
1548
+ role: "invalid" | "attacker" | "defender" | "both";
1549
+ state: number;
1550
+ };
1551
+ team_1: {
1552
+ role: "invalid" | "attacker" | "defender" | "both";
1553
+ state: number;
1554
+ };
1555
+ };
1556
+ damage_events: {
1557
+ instigator_player_id: number;
1558
+ receiver_player_id: number;
1559
+ damage_amount: number;
1560
+ remaining_health: number;
1561
+ pre_damage_health: number;
1562
+ max_health: number;
1563
+ damage_type: "unknown" | "invalid" | "downed" | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine";
1564
+ damage_team_type: "unknown" | "invalid" | "enemy" | "friendly";
1565
+ damage_item_id: number | null;
1566
+ damage_time: number;
1567
+ }[];
1568
+ players: {
1569
+ player_id: number;
1570
+ final_health: number;
1571
+ final_life_state: "normal" | "overhealed" | "low_health" | "downed" | "dead" | "respawning";
1572
+ operator_name: {
1573
+ id: number;
1574
+ value: string;
1575
+ } | null;
1576
+ }[];
1577
+ };
1578
+ };
1579
+ phase_changed: {
1580
+ game: "siege";
1581
+ type: "phase_changed";
1582
+ creation_time: number;
1583
+ content: {
1584
+ phase: "intro" | "planning" | "prep" | "action" | "results" | "invalid";
1585
+ };
1586
+ };
1587
+ player_joined: (In: {
1588
+ game: "siege";
1589
+ type: "player_joined";
1590
+ creation_time: number;
1591
+ content: {
1592
+ player_id: number;
1593
+ profile_id: string;
1594
+ is_bot: boolean;
1595
+ is_enemy: boolean;
1596
+ is_squad_member: boolean;
1597
+ is_local_player: boolean;
1598
+ username: string;
1599
+ side: "invalid" | "attacker" | "defender" | "both";
1600
+ team: 0 | 1;
1601
+ is_privacy_username: boolean;
1602
+ has_avatar_hidden: boolean;
1603
+ has_commend_streak: boolean;
1604
+ ping_id: number;
1605
+ match_stats: {
1606
+ kills: number;
1607
+ deaths: number;
1608
+ assists: number;
1609
+ plants: number;
1610
+ score: number;
1611
+ };
1612
+ life_state: "normal" | "overhealed" | "low_health" | "downed" | "dead" | "respawning";
1613
+ ping: number;
1614
+ };
1615
+ }) => Out< {
1616
+ content: {
1617
+ starting_side: "invalid" | "attacker" | "defender" | "both";
1618
+ player_id: number;
1619
+ profile_id: string;
1620
+ is_bot: boolean;
1621
+ is_enemy: boolean;
1622
+ is_squad_member: boolean;
1623
+ is_local_player: boolean;
1624
+ username: string;
1625
+ side: "invalid" | "attacker" | "defender" | "both";
1626
+ team: 0 | 1;
1627
+ is_privacy_username: boolean;
1628
+ has_avatar_hidden: boolean;
1629
+ has_commend_streak: boolean;
1630
+ ping_id: number;
1631
+ match_stats: {
1632
+ kills: number;
1633
+ deaths: number;
1634
+ assists: number;
1635
+ plants: number;
1636
+ score: number;
1637
+ };
1638
+ life_state: "normal" | "overhealed" | "low_health" | "downed" | "dead" | "respawning";
1639
+ ping: number;
1640
+ };
1641
+ game: "siege";
1642
+ type: "player_joined";
1643
+ creation_time: number;
1644
+ }>;
1645
+ player_left: {
1646
+ game: "siege";
1647
+ type: "player_left";
1648
+ creation_time: number;
1649
+ content: {
1650
+ player_id: number;
1651
+ };
1652
+ };
1653
+ player_operator_changed: {
1654
+ game: "siege";
1655
+ type: "player_operator_changed";
1656
+ creation_time: number;
1657
+ content: {
1658
+ player_id: number;
1659
+ operator_name: {
1660
+ id: number;
1661
+ value: string;
1662
+ } | null;
1663
+ };
1664
+ };
1665
+ player_location_changed: {
1666
+ game: "siege";
1667
+ type: "player_location_changed";
1668
+ creation_time: number;
1669
+ content: {
1670
+ player_id: number;
1671
+ location_name: string;
1672
+ };
1673
+ };
1674
+ player_side_changed: {
1675
+ game: "siege";
1676
+ type: "player_side_changed";
1677
+ creation_time: number;
1678
+ content: {
1679
+ player_id: number;
1680
+ side: "invalid" | "attacker" | "defender" | "both";
1681
+ };
1682
+ };
1683
+ player_stats_changed: {
1684
+ game: "siege";
1685
+ type: "player_stats_changed";
1686
+ creation_time: number;
1687
+ content: {
1688
+ player_id: number;
1689
+ match_stats: {
1690
+ kills: number;
1691
+ deaths: number;
1692
+ assists: number;
1693
+ plants: number;
1694
+ score: number;
1695
+ };
1696
+ };
1697
+ };
1698
+ player_ping_updated: {
1699
+ game: "siege";
1700
+ type: "player_ping_updated";
1701
+ creation_time: number;
1702
+ content: {
1703
+ player_id: number;
1704
+ ping: number;
1705
+ };
1706
+ };
1707
+ defuser_planted: {
1708
+ game: "siege";
1709
+ type: "defuser_planted";
1710
+ creation_time: number;
1711
+ content: {
1712
+ player_id: number;
1713
+ };
1714
+ };
1715
+ defuser_sabotaged: {
1716
+ game: "siege";
1717
+ type: "defuser_sabotaged";
1718
+ creation_time: number;
1719
+ content: {
1720
+ player_id: number;
1721
+ };
1722
+ };
1723
+ defuser_picked_up: {
1724
+ game: "siege";
1725
+ type: "defuser_picked_up";
1726
+ creation_time: number;
1727
+ content: {
1728
+ player_id: number;
1729
+ initial: boolean;
1730
+ };
1731
+ };
1732
+ defuser_dropped: {
1733
+ game: "siege";
1734
+ type: "defuser_dropped";
1735
+ creation_time: number;
1736
+ content: {
1737
+ player_id: number;
1738
+ };
1739
+ };
1740
+ player_life_state_changed: {
1741
+ game: "siege";
1742
+ type: "player_life_state_changed";
1743
+ creation_time: number;
1744
+ content: {
1745
+ player_id: number;
1746
+ life_state: "normal" | "overhealed" | "low_health" | "downed" | "dead" | "respawning";
1747
+ };
1748
+ };
1749
+ player_died: {
1750
+ game: "siege";
1751
+ type: "player_died";
1752
+ creation_time: number;
1753
+ content: {
1754
+ player_id: number;
1755
+ instigator_player_id: number;
1756
+ };
1757
+ };
1758
+ player_downed: {
1759
+ game: "siege";
1760
+ type: "player_downed";
1761
+ creation_time: number;
1762
+ content: {
1763
+ player_id: number;
1764
+ instigator_player_id: number;
1765
+ };
1766
+ };
1767
+ player_ping_id_changed: {
1768
+ game: "siege";
1769
+ type: "player_ping_id_changed";
1770
+ creation_time: number;
1771
+ content: {
1772
+ player_id: number;
1773
+ ping_id: number;
1774
+ };
1775
+ };
1776
+ player_team_changed: {
1777
+ game: "siege";
1778
+ type: "player_team_changed";
1779
+ creation_time: number;
1780
+ content: {
1781
+ player_id: number;
1782
+ team: 0 | 1;
1783
+ };
1784
+ };
1785
+ }>;
1786
+ };
1787
+
1788
+ declare const ModuleLoaded: ObjectType< {
1789
+ game: "siege";
1790
+ type: "module_loaded";
1791
+ creation_time: number;
1792
+ }, {}>;
1793
+
1794
+ declare type ModuleLoadedEvent = typeof ModuleLoaded.infer;
1795
+
1796
+ declare const ModuleUnloaded: ObjectType< {
1797
+ game: "siege";
1798
+ type: "module_unloaded";
1799
+ creation_time: number;
1800
+ }, {}>;
1801
+
1802
+ declare type ModuleUnloadedEvent = typeof ModuleUnloaded.infer;
1803
+
1804
+ export interface MouseButtonEvent extends WindowEvent {
1805
+ x: number;
1806
+ y: number;
1807
+
1808
+ globalX: number;
1809
+ globalY: number;
1810
+
1811
+ key: VirtualKey;
1812
+ }
1813
+
1814
+ declare const OperatorBanned: ObjectType< {
1815
+ game: "siege";
1816
+ type: "operator_banned";
1817
+ creation_time: number;
1818
+ content: {
1819
+ index: number;
1820
+ team: 0 | 1;
1821
+ side: "invalid" | "attacker" | "defender" | "both";
1822
+ operator_name: {
1823
+ id: number;
1824
+ value: string;
1825
+ } | null;
1826
+ };
1827
+ }, {}>;
1828
+
1829
+ declare type OperatorBannedEvent = typeof OperatorBanned.infer;
1830
+
1831
+ export declare function overlayed<TModule extends GameModule, TShortcut extends string>(data: OverlayedData<TModule, TShortcut>): OverlayedApp<TModule, TShortcut>;
1832
+
1833
+ export declare type OverlayedApp<TModule extends GameModule, TKeybind extends string> = OverlayedAppGameModules<TModule> & OverlayedAppHandlers & {
1834
+ keybinds: OverlayedAppKeybindHandlers<TKeybind>;
1835
+ windows: OverlayedAppWindowsModule;
1836
+ input: OverlayedAppInputModule;
1837
+ /**
1838
+ * Returns true if any monitored processes are running.
1839
+ *
1840
+ * Useful for stopping the overlay from updating when the game is running.
1841
+ */
1842
+ hasAnyActiveProcesses: () => boolean;
1843
+ /**
1844
+ * Initializes the overlayed app.
1845
+ *
1846
+ * This should only be called once, and is automatically called by default, unless `init: false` is passed:
1847
+ * ```ts
1848
+ * overlayed({
1849
+ * init: false,
1850
+ * });
1851
+ * ```
1852
+ */
1853
+ init: () => void;
1854
+ };
1855
+
1856
+ declare type OverlayedAppGameModules<TModule extends GameModule> = {
1857
+ [TKey in TModule["key"]]: {
1858
+ onAny<TEvent extends Extract<TModule, {
1859
+ key: TKey;
1860
+ }>["events"]["event"]["infer"]>(cb: (data: TEvent) => void): void;
1861
+ on<TEvent extends Extract<TModule, {
1862
+ key: TKey;
1863
+ }>["events"]["event"]["infer"], TEventType extends EventType<TEvent> = EventType<TEvent>>(event: TEventType, cb: EventCallback<TEvent, TEventType>): void;
1864
+ offAny<TEvent extends Extract<TModule, {
1865
+ key: TKey;
1866
+ }>["events"]["event"]["infer"]>(cb: (data: TEvent) => void): void;
1867
+ off<TEvent extends GameModuleEventInfer<Extract<TModule, {
1868
+ key: TKey;
1869
+ }>>, TEventType extends EventType<TEvent> = EventType<TEvent>>(event: TEventType, cb: EventCallback<TEvent, TEventType>): void;
1870
+ };
1871
+ };
1872
+
1873
+ declare type OverlayedAppHandlers = {
1874
+ on: <TEvent extends keyof OverlayedAppHandlersMapping = keyof OverlayedAppHandlersMapping>(event: TEvent, cb: OverlayedAppHandlersMapping[TEvent]) => void;
1875
+ off: <TEvent extends keyof OverlayedAppHandlersMapping = keyof OverlayedAppHandlersMapping>(event: TEvent, cb: OverlayedAppHandlersMapping[TEvent]) => void;
1876
+ };
1877
+
1878
+ declare type OverlayedAppHandlersMapping = {
1879
+ error: (data: ErrorManagerEvents["error"]) => void;
1880
+ warning: (data: ErrorManagerEvents["warning"]) => void;
1881
+ gameLaunch: (data: GameLaunchManagerEvents["gameLaunch"]) => void;
1882
+ gameClose: (data: GameLaunchManagerEvents["gameClose"]) => void;
1883
+ };
1884
+
1885
+ declare interface OverlayedAppInputModule {
1886
+ scope: (scopeName: string) => ReturnType<OverridesManager["scope"]>;
1887
+ raw: OverlayedAppInputModuleRaw;
1888
+ }
1889
+
1890
+ declare type OverlayedAppInputModuleRaw = Pick<RenderInterface, "getGlobalMouseBlock" | "getGlobalKeyboardBlock" | "getGlobalCursorOverride" | "getKeyInputBlock" | "setGlobalMouseBlock" | "setGlobalKeyboardBlock" | "setGlobalCursorOverride" | "setKeyInputBlock">;
1891
+
1892
+ declare type OverlayedAppKeybindHandlers<TKeybind extends string> = Record<TKeybind, {
1893
+ on: <TEvent extends "down" | "up" | "toggle">(event: TEvent, cb: KeybindCallbacks[TEvent]) => void;
1894
+ }> & {
1895
+ toggleRecording: (override?: boolean) => void;
1896
+ };
1897
+
1898
+ declare type OverlayedAppKeybindsConfig<TKeybind extends string> = Record<TKeybind, {
1899
+ keys: Array<OverlayedAppKeybindsConfigKey>;
1900
+ mode: OverlayedAppKeybindsConfigMode;
1901
+ }>;
1902
+
1903
+ declare type OverlayedAppKeybindsConfigKey = "ctrl" | "shift" | "alt" | (string & {});
1904
+
1905
+ declare type OverlayedAppKeybindsConfigMode = "toggle" | "hold";
1906
+
1907
+ declare interface OverlayedAppWindowsModule extends Pick<RenderInterface, "on" | "off" | "once" | "addListener" | "prependListener" | "prependOnceListener" | "removeListener" | "removeAllListeners"> {
1908
+ createWindow(options: RenderWindowConstructorOptions): RenderWindow;
1909
+ getActiveGameInfo: () => ActiveGameInfo;
1910
+ }
1911
+
1912
+ declare interface OverlayedData<TModule extends GameModule, TKeybind extends string> {
1913
+ /**
1914
+ * The app name.
1915
+ *
1916
+ * TODO: replace with endpoint to get app name from server.
1917
+ */
1918
+ appName: string;
1919
+ /**
1920
+ * App modules to load.
1921
+ */
1922
+ modules: TModule[];
1923
+ /**
1924
+ * App keybinds config.
1925
+ */
1926
+ keybinds: OverlayedAppKeybindsConfig<TKeybind>;
1927
+ /**
1928
+ * Whether to initialize the app when the module is loaded.
1929
+ * @default true;
1930
+ */
1931
+ init?: boolean;
1932
+ }
1933
+
1934
+ declare class OverridesManager extends Manager {
1935
+ private renderInterface;
1936
+ private globalCursorOverrideCount;
1937
+ private globalMouseBlockCount;
1938
+ private globalKeyboardBlockCount;
1939
+ private keyInputBlocks;
1940
+ constructor(interfaceName: RenderInterfaceName);
1941
+ scope(scopeName: string): OverridesManagerScope;
1942
+ private setGlobalCursorOverride;
1943
+ private setGlobalMouseBlock;
1944
+ private setGlobalKeyboardBlock;
1945
+ private setKeyInputBlock;
1946
+ }
1947
+
1948
+ export declare interface OverridesManagerScope {
1949
+ setGlobalCursorOverride: (override: boolean) => void;
1950
+ setGlobalMouseBlock: (block: boolean) => void;
1951
+ setGlobalKeyboardBlock: (block: boolean) => void;
1952
+ setKeyInputBlock: (key: number, block: boolean) => void;
1953
+ }
1954
+
1955
+ declare const PhaseChanged: ObjectType< {
1956
+ game: "siege";
1957
+ type: "phase_changed";
1958
+ creation_time: number;
1959
+ content: {
1960
+ phase: "intro" | "planning" | "prep" | "action" | "results" | "invalid";
1961
+ };
1962
+ }, {}>;
1963
+
1964
+ declare type PhaseChangedEvent = typeof PhaseChanged.infer;
1965
+
1966
+ declare const PLAYER_LIFE_STATES: readonly ["normal", "overhealed", "low_health", "downed", "dead", "respawning"];
1967
+
1968
+ declare type PlayerDamageData = typeof PlayerDamageDataSchema.infer;
1969
+
1970
+ declare const PlayerDamageDataSchema: ObjectType< {
1971
+ instigator_player_id: number;
1972
+ receiver_player_id: number;
1973
+ damage_amount: number;
1974
+ remaining_health: number;
1975
+ pre_damage_health: number;
1976
+ max_health: number;
1977
+ damage_type: "unknown" | "invalid" | "downed" | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine";
1978
+ damage_team_type: "unknown" | "invalid" | "enemy" | "friendly";
1979
+ damage_item_id: number | null;
1980
+ damage_time: number;
1981
+ }, {}>;
1982
+
1983
+ declare const PlayerDied: ObjectType< {
1984
+ game: "siege";
1985
+ type: "player_died";
1986
+ creation_time: number;
1987
+ content: {
1988
+ player_id: number;
1989
+ instigator_player_id: number;
1990
+ };
1991
+ }, {}>;
1992
+
1993
+ declare type PlayerDiedEvent = typeof PlayerDied.infer;
1994
+
1995
+ declare const PlayerDowned: ObjectType< {
1996
+ game: "siege";
1997
+ type: "player_downed";
1998
+ creation_time: number;
1999
+ content: {
2000
+ player_id: number;
2001
+ instigator_player_id: number;
2002
+ };
2003
+ }, {}>;
2004
+
2005
+ declare type PlayerDownedEvent = typeof PlayerDowned.infer;
2006
+
2007
+ declare const PlayerJoined: ObjectType<(In: {
2008
+ game: "siege";
2009
+ type: "player_joined";
2010
+ creation_time: number;
2011
+ content: {
2012
+ player_id: number;
2013
+ profile_id: string;
2014
+ is_bot: boolean;
2015
+ is_enemy: boolean;
2016
+ is_squad_member: boolean;
2017
+ is_local_player: boolean;
2018
+ username: string;
2019
+ side: "invalid" | "attacker" | "defender" | "both";
2020
+ team: 0 | 1;
2021
+ is_privacy_username: boolean;
2022
+ has_avatar_hidden: boolean;
2023
+ has_commend_streak: boolean;
2024
+ ping_id: number;
2025
+ match_stats: {
2026
+ kills: number;
2027
+ deaths: number;
2028
+ assists: number;
2029
+ plants: number;
2030
+ score: number;
2031
+ };
2032
+ life_state: "normal" | "overhealed" | "low_health" | "downed" | "dead" | "respawning";
2033
+ ping: number;
2034
+ };
2035
+ }) => Out< {
2036
+ content: {
2037
+ starting_side: "invalid" | "attacker" | "defender" | "both";
2038
+ player_id: number;
2039
+ profile_id: string;
2040
+ is_bot: boolean;
2041
+ is_enemy: boolean;
2042
+ is_squad_member: boolean;
2043
+ is_local_player: boolean;
2044
+ username: string;
2045
+ side: "invalid" | "attacker" | "defender" | "both";
2046
+ team: 0 | 1;
2047
+ is_privacy_username: boolean;
2048
+ has_avatar_hidden: boolean;
2049
+ has_commend_streak: boolean;
2050
+ ping_id: number;
2051
+ match_stats: {
2052
+ kills: number;
2053
+ deaths: number;
2054
+ assists: number;
2055
+ plants: number;
2056
+ score: number;
2057
+ };
2058
+ life_state: "normal" | "overhealed" | "low_health" | "downed" | "dead" | "respawning";
2059
+ ping: number;
2060
+ };
2061
+ game: "siege";
2062
+ type: "player_joined";
2063
+ creation_time: number;
2064
+ }>, {}>;
2065
+
2066
+ declare type PlayerJoinedEvent = typeof PlayerJoined.infer;
2067
+
2068
+ declare const PlayerLeft: ObjectType< {
2069
+ game: "siege";
2070
+ type: "player_left";
2071
+ creation_time: number;
2072
+ content: {
2073
+ player_id: number;
2074
+ };
2075
+ }, {}>;
2076
+
2077
+ declare type PlayerLeftEvent = typeof PlayerLeft.infer;
2078
+
2079
+ declare type PlayerLifeState = typeof PlayerLifeStateSchema.infer;
2080
+
2081
+ declare const PlayerLifeStateChanged: ObjectType< {
2082
+ game: "siege";
2083
+ type: "player_life_state_changed";
2084
+ creation_time: number;
2085
+ content: {
2086
+ player_id: number;
2087
+ life_state: "normal" | "overhealed" | "low_health" | "downed" | "dead" | "respawning";
2088
+ };
2089
+ }, {}>;
2090
+
2091
+ declare type PlayerLifeStateChangedEvent = typeof PlayerLifeStateChanged.infer;
2092
+
2093
+ declare const PlayerLifeStateSchema: StringType<"normal" | "overhealed" | "low_health" | "downed" | "dead" | "respawning", {}>;
2094
+
2095
+ declare const PlayerLocationChanged: ObjectType< {
2096
+ game: "siege";
2097
+ type: "player_location_changed";
2098
+ creation_time: number;
2099
+ content: {
2100
+ player_id: number;
2101
+ location_name: string;
2102
+ };
2103
+ }, {}>;
2104
+
2105
+ declare type PlayerLocationChangedEvent = typeof PlayerLocationChanged.infer;
2106
+
2107
+ declare type PlayerMatchStatsData = typeof PlayerMatchStatsDataSchema.infer;
2108
+
2109
+ declare const PlayerMatchStatsDataSchema: ObjectType< {
2110
+ kills: number;
2111
+ deaths: number;
2112
+ assists: number;
2113
+ plants: number;
2114
+ score: number;
2115
+ }, {}>;
2116
+
2117
+ declare const PlayerOperatorChanged: ObjectType< {
2118
+ game: "siege";
2119
+ type: "player_operator_changed";
2120
+ creation_time: number;
2121
+ content: {
2122
+ player_id: number;
2123
+ operator_name: {
2124
+ id: number;
2125
+ value: string;
2126
+ } | null;
2127
+ };
2128
+ }, {}>;
2129
+
2130
+ declare type PlayerOperatorChangedEvent = typeof PlayerOperatorChanged.infer;
2131
+
2132
+ declare const PlayerPingIdChanged: ObjectType< {
2133
+ game: "siege";
2134
+ type: "player_ping_id_changed";
2135
+ creation_time: number;
2136
+ content: {
2137
+ player_id: number;
2138
+ ping_id: number;
2139
+ };
2140
+ }, {}>;
2141
+
2142
+ declare type PlayerPingIdChangedEvent = typeof PlayerPingIdChanged.infer;
2143
+
2144
+ declare const PlayerPingUpdated: ObjectType< {
2145
+ game: "siege";
2146
+ type: "player_ping_updated";
2147
+ creation_time: number;
2148
+ content: {
2149
+ player_id: number;
2150
+ ping: number;
2151
+ };
2152
+ }, {}>;
2153
+
2154
+ declare type PlayerPingUpdatedEvent = typeof PlayerPingUpdated.infer;
2155
+
2156
+ declare const PlayerSideChanged: ObjectType< {
2157
+ game: "siege";
2158
+ type: "player_side_changed";
2159
+ creation_time: number;
2160
+ content: {
2161
+ player_id: number;
2162
+ side: "invalid" | "attacker" | "defender" | "both";
2163
+ };
2164
+ }, {}>;
2165
+
2166
+ declare type PlayerSideChangedEvent = typeof PlayerSideChanged.infer;
2167
+
2168
+ declare const PlayerStatsChanged: ObjectType< {
2169
+ game: "siege";
2170
+ type: "player_stats_changed";
2171
+ creation_time: number;
2172
+ content: {
2173
+ player_id: number;
2174
+ match_stats: {
2175
+ kills: number;
2176
+ deaths: number;
2177
+ assists: number;
2178
+ plants: number;
2179
+ score: number;
2180
+ };
2181
+ };
2182
+ }, {}>;
2183
+
2184
+ declare type PlayerStatsChangedEvent = typeof PlayerStatsChanged.infer;
2185
+
2186
+ declare const PlayerTeamChanged: ObjectType< {
2187
+ game: "siege";
2188
+ type: "player_team_changed";
2189
+ creation_time: number;
2190
+ content: {
2191
+ player_id: number;
2192
+ team: 0 | 1;
2193
+ };
2194
+ }, {}>;
2195
+
2196
+ declare type PlayerTeamChangedEvent = typeof PlayerTeamChanged.infer;
2197
+
2198
+ declare const ProfileId: StringType<string, {}>;
2199
+
2200
+ declare interface RavenGame {
2201
+ name: string;
2202
+ identifier: RavenGameIdentifier;
2203
+ executables: string[];
2204
+ dlls_to_inject: string[];
2205
+ version_pattern: string;
2206
+ }
2207
+
2208
+ declare type RavenGameIdentifier = "siege";
2209
+
2210
+ export class RenderInterface {
2211
+ constructor(name: String, options?: { maxWindowCount?: number; eventQueueSize?: number; access?: AccessLevel }); // default: { maxWindowCount: 10, eventQueueSize: 200, access: AccessLevel.Default }
2212
+
2213
+ newWindow(options?: RenderWindowConstructorOptions): RenderWindow;
2214
+
2215
+ getGlobalMouseBlock(): boolean;
2216
+ getGlobalKeyboardBlock(): boolean;
2217
+ getGlobalCursorOverride(): boolean;
2218
+ getKeyInputBlock(key: VirtualKey): boolean;
2219
+
2220
+ setGlobalMouseBlock(block: boolean): void;
2221
+ setGlobalKeyboardBlock(block: boolean): void;
2222
+ setGlobalCursorOverride(show: boolean): void;
2223
+ setKeyInputBlock(key: VirtualKey, block: boolean): void;
2224
+
2225
+ eventNames(): string[];
2226
+ getMaxListeners(): number;
2227
+ removeAllListeners(): this;
2228
+
2229
+ listeners(eventName: "keyDown"): Function[];
2230
+ rawListeners(eventName: "keyDown"): Function[];
2231
+ listenerCount(eventName: "keyDown", listener?: (event: KeyboardKeyEvent) => void): number;
2232
+
2233
+ on(eventName: "keyDown", listener: (event: KeyboardKeyEvent) => void): this;
2234
+ once(eventName: "keyDown", listener: (event: KeyboardKeyEvent) => void): this;
2235
+ addListener(eventName: "keyDown", listener: (event: KeyboardKeyEvent) => void): this;
2236
+ prependListener(eventName: "keyDown", listener: (event: KeyboardKeyEvent) => void): this;
2237
+ prependOnceListener(eventName: "keyDown", listener: (event: KeyboardKeyEvent) => void): this;
2238
+
2239
+ off(eventName: "keyDown", listener: (event: KeyboardKeyEvent) => void): this;
2240
+ removeListener(eventName: "keyDown", listener: (event: KeyboardKeyEvent) => void): this;
2241
+ removeAllListeners(eventName: "keyDown"): this;
2242
+
2243
+ listeners(eventName: "keyUp"): Function[];
2244
+ rawListeners(eventName: "keyUp"): Function[];
2245
+ listenerCount(eventName: "keyUp", listener?: (event: KeyboardKeyEvent) => void): number;
2246
+
2247
+ on(eventName: "keyUp", listener: (event: KeyboardKeyEvent) => void): this;
2248
+ once(eventName: "keyUp", listener: (event: KeyboardKeyEvent) => void): this;
2249
+ addListener(eventName: "keyUp", listener: (event: KeyboardKeyEvent) => void): this;
2250
+ prependListener(eventName: "keyUp", listener: (event: KeyboardKeyEvent) => void): this;
2251
+ prependOnceListener(eventName: "keyUp", listener: (event: KeyboardKeyEvent) => void): this;
2252
+
2253
+ off(eventName: "keyUp", listener: (event: KeyboardKeyEvent) => void): this;
2254
+ removeListener(eventName: "keyUp", listener: (event: KeyboardKeyEvent) => void): this;
2255
+ removeAllListeners(eventName: "keyUp"): this;
2256
+
2257
+ listeners(eventName: "mouseDown"): Function[];
2258
+ rawListeners(eventName: "mouseDown"): Function[];
2259
+ listenerCount(eventName: "mouseDown", listener?: (event: MouseButtonEvent) => void): number;
2260
+
2261
+ on(eventName: "mouseDown", listener: (event: MouseButtonEvent) => void): this;
2262
+ once(eventName: "mouseDown", listener: (event: MouseButtonEvent) => void): this;
2263
+ addListener(eventName: "mouseDown", listener: (event: MouseButtonEvent) => void): this;
2264
+ prependListener(eventName: "mouseDown", listener: (event: MouseButtonEvent) => void): this;
2265
+ prependOnceListener(eventName: "mouseDown", listener: (event: MouseButtonEvent) => void): this;
2266
+
2267
+ off(eventName: "mouseDown", listener: (event: MouseButtonEvent) => void): this;
2268
+ removeListener(eventName: "mouseDown", listener: (event: MouseButtonEvent) => void): this;
2269
+ removeAllListeners(eventName: "mouseDown"): this;
2270
+
2271
+ listeners(eventName: "mouseUp"): Function[];
2272
+ rawListeners(eventName: "mouseUp"): Function[];
2273
+ listenerCount(eventName: "mouseUp", listener?: (event: MouseButtonEvent) => void): number;
2274
+
2275
+ on(eventName: "mouseUp", listener: (event: MouseButtonEvent) => void): this;
2276
+ once(eventName: "mouseUp", listener: (event: MouseButtonEvent) => void): this;
2277
+ addListener(eventName: "mouseUp", listener: (event: MouseButtonEvent) => void): this;
2278
+ prependListener(eventName: "mouseUp", listener: (event: MouseButtonEvent) => void): this;
2279
+ prependOnceListener(eventName: "mouseUp", listener: (event: MouseButtonEvent) => void): this;
2280
+
2281
+ off(eventName: "mouseUp", listener: (event: MouseButtonEvent) => void): this;
2282
+ removeListener(eventName: "mouseUp", listener: (event: MouseButtonEvent) => void): this;
2283
+ removeAllListeners(eventName: "mouseUp"): this;
2284
+
2285
+ listeners(eventName: "resolution"): Function[];
2286
+ rawListeners(eventName: "resolution"): Function[];
2287
+ listenerCount(eventName: "resolution", listener?: (width: number, height: number) => void): number;
2288
+
2289
+ on(eventName: "resolution", listener: (width: number, height: number) => void): this;
2290
+ once(eventName: "resolution", listener: (width: number, height: number) => void): this;
2291
+ addListener(eventName: "resolution", listener: (width: number, height: number) => void): this;
2292
+ prependListener(eventName: "resolution", listener: (width: number, height: number) => void): this;
2293
+ prependOnceListener(eventName: "resolution", listener: (width: number, height: number) => void): this;
2294
+
2295
+ off(eventName: "resolution", listener: (width: number, height: number) => void): this;
2296
+ removeListener(eventName: "resolution", listener: (width: number, height: number) => void): this;
2297
+ removeAllListeners(eventName: "resolution"): this;
2298
+
2299
+ listeners(eventName: "keyboardFocus"): Function[];
2300
+ rawListeners(eventName: "keyboardFocus"): Function[];
2301
+ listenerCount(eventName: "keyboardFocus", listener?: (focus: boolean) => void): number;
2302
+
2303
+ on(eventName: "keyboardFocus", listener: (focus: boolean) => void): this;
2304
+ once(eventName: "keyboardFocus", listener: (focus: boolean) => void): this;
2305
+ addListener(eventName: "keyboardFocus", listener: (focus: boolean) => void): this;
2306
+ prependListener(eventName: "keyboardFocus", listener: (focus: boolean) => void): this;
2307
+ prependOnceListener(eventName: "keyboardFocus", listener: (focus: boolean) => void): this;
2308
+
2309
+ off(eventName: "keyboardFocus", listener: (focus: boolean) => void): this;
2310
+ removeListener(eventName: "keyboardFocus", listener: (focus: boolean) => void): this;
2311
+ removeAllListeners(eventName: "keyboardFocus"): this;
2312
+ }
2313
+
2314
+ declare type RenderInterfaceName = "SCC_RAINBOW";
2315
+
2316
+ export interface RenderWindow extends Electron.BrowserWindow {
2317
+ getLayer(): number;
2318
+ getInput(): boolean;
2319
+ getInputBlock(): boolean;
2320
+ getCursorOverride(): boolean;
2321
+
2322
+ setLayer(layer: number): void;
2323
+ setInput(input: boolean): void;
2324
+ setInputBlock(block: boolean): void;
2325
+ setCursorOverride(override: boolean): void;
2326
+ }
2327
+
2328
+ export interface RenderWindowConstructorOptions extends Electron.BrowserWindowConstructorOptions {
2329
+ layer?: number; // default: 0
2330
+
2331
+ createForeground?: boolean; // default: true
2332
+
2333
+ hasInput?: boolean; // default: true
2334
+ hasInputBlock?: boolean; // default: true
2335
+ hasCursorOverride?: boolean; // default: true
2336
+ }
2337
+
2338
+ declare type RoundEndData = typeof RoundEndDataSchema.infer;
2339
+
2340
+ declare const RoundEndDataSchema: ObjectType< {
2341
+ round_data: {
2342
+ index: number;
2343
+ rounds_until_next_segment: number;
2344
+ segment_size: number;
2345
+ segment_index: number;
2346
+ team_0: {
2347
+ role: "invalid" | "attacker" | "defender" | "both";
2348
+ state: number;
2349
+ };
2350
+ team_1: {
2351
+ role: "invalid" | "attacker" | "defender" | "both";
2352
+ state: number;
2353
+ };
2354
+ };
2355
+ damage_events: {
2356
+ instigator_player_id: number;
2357
+ receiver_player_id: number;
2358
+ damage_amount: number;
2359
+ remaining_health: number;
2360
+ pre_damage_health: number;
2361
+ max_health: number;
2362
+ damage_type: "unknown" | "invalid" | "downed" | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine";
2363
+ damage_team_type: "unknown" | "invalid" | "enemy" | "friendly";
2364
+ damage_item_id: number | null;
2365
+ damage_time: number;
2366
+ }[];
2367
+ players: {
2368
+ player_id: number;
2369
+ final_health: number;
2370
+ final_life_state: "normal" | "overhealed" | "low_health" | "downed" | "dead" | "respawning";
2371
+ operator_name: {
2372
+ id: number;
2373
+ value: string;
2374
+ } | null;
2375
+ }[];
2376
+ }, {}>;
2377
+
2378
+ declare const RoundEnded: ObjectType< {
2379
+ game: "siege";
2380
+ type: "round_ended";
2381
+ creation_time: number;
2382
+ content: {
2383
+ round_data: {
2384
+ index: number;
2385
+ rounds_until_next_segment: number;
2386
+ segment_size: number;
2387
+ segment_index: number;
2388
+ team_0: {
2389
+ role: "invalid" | "attacker" | "defender" | "both";
2390
+ state: number;
2391
+ };
2392
+ team_1: {
2393
+ role: "invalid" | "attacker" | "defender" | "both";
2394
+ state: number;
2395
+ };
2396
+ };
2397
+ damage_events: {
2398
+ instigator_player_id: number;
2399
+ receiver_player_id: number;
2400
+ damage_amount: number;
2401
+ remaining_health: number;
2402
+ pre_damage_health: number;
2403
+ max_health: number;
2404
+ damage_type: "unknown" | "invalid" | "downed" | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine";
2405
+ damage_team_type: "unknown" | "invalid" | "enemy" | "friendly";
2406
+ damage_item_id: number | null;
2407
+ damage_time: number;
2408
+ }[];
2409
+ players: {
2410
+ player_id: number;
2411
+ final_health: number;
2412
+ final_life_state: "normal" | "overhealed" | "low_health" | "downed" | "dead" | "respawning";
2413
+ operator_name: {
2414
+ id: number;
2415
+ value: string;
2416
+ } | null;
2417
+ }[];
2418
+ };
2419
+ }, {}>;
2420
+
2421
+ declare type RoundEndedEvent = typeof RoundEnded.infer;
2422
+
2423
+ declare type RoundEndPlayerData = typeof RoundEndPlayerDataSchema.infer;
2424
+
2425
+ declare const RoundEndPlayerDataSchema: ObjectType< {
2426
+ player_id: number;
2427
+ final_health: number;
2428
+ final_life_state: "normal" | "overhealed" | "low_health" | "downed" | "dead" | "respawning";
2429
+ operator_name: {
2430
+ id: number;
2431
+ value: string;
2432
+ } | null;
2433
+ }, {}>;
2434
+
2435
+ declare type Side = typeof SideSchema.infer;
2436
+
2437
+ declare const SIDES: readonly ["attacker", "defender", "both", "invalid"];
2438
+
2439
+ declare const SideSchema: StringType<"invalid" | "attacker" | "defender" | "both", {}>;
2440
+
2441
+ export declare namespace Siege {
2442
+ export {
2443
+ BOT_ID,
2444
+ ProfileId,
2445
+ GAME_MODE_PHASES,
2446
+ GameModePhaseSchema,
2447
+ GameModePhase,
2448
+ TEAMS,
2449
+ TeamSchema,
2450
+ Team,
2451
+ SIDES,
2452
+ SideSchema,
2453
+ Side,
2454
+ PLAYER_LIFE_STATES,
2455
+ PlayerLifeStateSchema,
2456
+ PlayerLifeState,
2457
+ DAMAGE_TYPES,
2458
+ DamageTypeSchema,
2459
+ DamageType,
2460
+ DAMAGE_TEAM_TYPES,
2461
+ DamageTeamTypeSchema,
2462
+ DamageTeamType,
2463
+ TranslationSchema,
2464
+ Translation,
2465
+ PlayerMatchStatsDataSchema,
2466
+ PlayerMatchStatsData,
2467
+ PlayerDamageDataSchema,
2468
+ PlayerDamageData,
2469
+ MatchRoundDataSchema,
2470
+ MatchRoundData,
2471
+ MapDataSchema,
2472
+ MapData,
2473
+ RoundEndPlayerDataSchema,
2474
+ RoundEndPlayerData,
2475
+ RoundEndDataSchema,
2476
+ RoundEndData,
2477
+ LocalPlayerEvent,
2478
+ MatchStartedEvent,
2479
+ ModuleLoadedEvent,
2480
+ ModuleUnloadedEvent,
2481
+ StartedQueuingEvent,
2482
+ StoppedQueueingEvent,
2483
+ UnsupportedGameVersionEvent,
2484
+ MatchEndedEvent,
2485
+ MapChangedEvent,
2486
+ OperatorBannedEvent,
2487
+ RoundEndedEvent,
2488
+ PhaseChangedEvent,
2489
+ PlayerJoinedEvent,
2490
+ PlayerLeftEvent,
2491
+ PlayerOperatorChangedEvent,
2492
+ PlayerLocationChangedEvent,
2493
+ PlayerSideChangedEvent,
2494
+ PlayerStatsChangedEvent,
2495
+ PlayerPingUpdatedEvent,
2496
+ DefuserPlantedEvent,
2497
+ DefuserSabotagedEvent,
2498
+ DefuserPickedUpEvent,
2499
+ DefuserDroppedEvent,
2500
+ PlayerLifeStateChangedEvent,
2501
+ PlayerDiedEvent,
2502
+ PlayerDownedEvent,
2503
+ PlayerPingIdChangedEvent,
2504
+ PlayerTeamChangedEvent,
2505
+ events,
2506
+ SiegeEvent,
2507
+ SiegeEventType,
2508
+ module_2 as module
2509
+ }
2510
+ }
2511
+
2512
+ declare type SiegeEvent = typeof events.event.infer;
2513
+
2514
+ declare type SiegeEventType = SiegeEvent["type"];
2515
+
2516
+ declare const StartedQueuing: ObjectType< {
2517
+ game: "siege";
2518
+ type: "started_queuing";
2519
+ creation_time: number;
2520
+ content: {
2521
+ game_mode: string;
2522
+ game_type: {
2523
+ id: number;
2524
+ value: string;
2525
+ };
2526
+ match_type: string;
2527
+ };
2528
+ }, {}>;
2529
+
2530
+ declare type StartedQueuingEvent = typeof StartedQueuing.infer;
2531
+
2532
+ declare const StoppedQueueing: ObjectType< {
2533
+ game: "siege";
2534
+ type: "stopped_queuing";
2535
+ creation_time: number;
2536
+ }, {}>;
2537
+
2538
+ declare type StoppedQueueingEvent = typeof StoppedQueueing.infer;
2539
+
2540
+ declare type Team = typeof TeamSchema.infer;
2541
+
2542
+ declare const TEAMS: readonly [0, 1];
2543
+
2544
+ declare const TeamSchema: NumberType<0 | 1, {}>;
2545
+
2546
+ declare type Translation = typeof TranslationSchema.infer;
2547
+
2548
+ declare const TranslationSchema: ObjectType< {
2549
+ id: number;
2550
+ value: string;
2551
+ }, {}>;
2552
+
2553
+ declare const UnsupportedGameVersion: ObjectType< {
2554
+ game: "siege";
2555
+ type: "unsupported_game_version";
2556
+ creation_time: number;
2557
+ content: {
2558
+ hash: string | null;
2559
+ version: string | null;
2560
+ };
2561
+ }, {}>;
2562
+
2563
+ declare type UnsupportedGameVersionEvent = typeof UnsupportedGameVersion.infer;
2564
+
2565
+ export const enum VirtualKey {
2566
+ LeftButton = 0x01,
2567
+ RightButton = 0x02,
2568
+ Cancel = 0x03,
2569
+ MiddleButton = 0x04,
2570
+ ExtraButton1 = 0x05,
2571
+ ExtraButton2 = 0x06,
2572
+ Back = 0x08,
2573
+ Tab = 0x09,
2574
+ Clear = 0x0c,
2575
+ Return = 0x0d,
2576
+ Shift = 0x10,
2577
+ Control = 0x11,
2578
+ Menu = 0x12,
2579
+ Pause = 0x13,
2580
+ CapsLock = 0x14,
2581
+ Kana = 0x15,
2582
+ Hangeul = 0x15,
2583
+ Hangul = 0x15,
2584
+ Junja = 0x17,
2585
+ Final = 0x18,
2586
+ Hanja = 0x19,
2587
+ Kanji = 0x19,
2588
+ Escape = 0x1b,
2589
+ Convert = 0x1c,
2590
+ NonConvert = 0x1d,
2591
+ Accept = 0x1e,
2592
+ ModeChange = 0x1f,
2593
+ Space = 0x20,
2594
+ Prior = 0x21,
2595
+ Next = 0x22,
2596
+ End = 0x23,
2597
+ Home = 0x24,
2598
+ Left = 0x25,
2599
+ Up = 0x26,
2600
+ Right = 0x27,
2601
+ Down = 0x28,
2602
+ Select = 0x29,
2603
+ Print = 0x2a,
2604
+ Execute = 0x2b,
2605
+ Snapshot = 0x2c,
2606
+ Insert = 0x2d,
2607
+ Delete = 0x2e,
2608
+ Help = 0x2f,
2609
+ N0 = 0x30,
2610
+ N1 = 0x31,
2611
+ N2 = 0x32,
2612
+ N3 = 0x33,
2613
+ N4 = 0x34,
2614
+ N5 = 0x35,
2615
+ N6 = 0x36,
2616
+ N7 = 0x37,
2617
+ N8 = 0x38,
2618
+ N9 = 0x39,
2619
+ A = 0x41,
2620
+ B = 0x42,
2621
+ C = 0x43,
2622
+ D = 0x44,
2623
+ E = 0x45,
2624
+ F = 0x46,
2625
+ G = 0x47,
2626
+ H = 0x48,
2627
+ I = 0x49,
2628
+ J = 0x4a,
2629
+ K = 0x4b,
2630
+ L = 0x4c,
2631
+ M = 0x4d,
2632
+ N = 0x4e,
2633
+ O = 0x4f,
2634
+ P = 0x50,
2635
+ Q = 0x51,
2636
+ R = 0x52,
2637
+ S = 0x53,
2638
+ T = 0x54,
2639
+ U = 0x55,
2640
+ V = 0x56,
2641
+ W = 0x57,
2642
+ X = 0x58,
2643
+ Y = 0x59,
2644
+ Z = 0x5a,
2645
+ LeftWindows = 0x5b,
2646
+ RightWindows = 0x5c,
2647
+ Application = 0x5d,
2648
+ Sleep = 0x5f,
2649
+ Numpad0 = 0x60,
2650
+ Numpad1 = 0x61,
2651
+ Numpad2 = 0x62,
2652
+ Numpad3 = 0x63,
2653
+ Numpad4 = 0x64,
2654
+ Numpad5 = 0x65,
2655
+ Numpad6 = 0x66,
2656
+ Numpad7 = 0x67,
2657
+ Numpad8 = 0x68,
2658
+ Numpad9 = 0x69,
2659
+ Multiply = 0x6a,
2660
+ Add = 0x6b,
2661
+ Separator = 0x6c,
2662
+ Subtract = 0x6d,
2663
+ Decimal = 0x6e,
2664
+ Divide = 0x6f,
2665
+ F1 = 0x70,
2666
+ F2 = 0x71,
2667
+ F3 = 0x72,
2668
+ F4 = 0x73,
2669
+ F5 = 0x74,
2670
+ F6 = 0x75,
2671
+ F7 = 0x76,
2672
+ F8 = 0x77,
2673
+ F9 = 0x78,
2674
+ F10 = 0x79,
2675
+ F11 = 0x7a,
2676
+ F12 = 0x7b,
2677
+ F13 = 0x7c,
2678
+ F14 = 0x7d,
2679
+ F15 = 0x7e,
2680
+ F16 = 0x7f,
2681
+ F17 = 0x80,
2682
+ F18 = 0x81,
2683
+ F19 = 0x82,
2684
+ F20 = 0x83,
2685
+ F21 = 0x84,
2686
+ F22 = 0x85,
2687
+ F23 = 0x86,
2688
+ F24 = 0x87,
2689
+ NumLock = 0x90,
2690
+ ScrollLock = 0x91,
2691
+ NEC_Equal = 0x92,
2692
+ Fujitsu_Jisho = 0x92,
2693
+ Fujitsu_Masshou = 0x93,
2694
+ Fujitsu_Touroku = 0x94,
2695
+ Fujitsu_Loya = 0x95,
2696
+ Fujitsu_Roya = 0x96,
2697
+ LeftShift = 0xa0,
2698
+ RightShift = 0xa1,
2699
+ LeftControl = 0xa2,
2700
+ RightControl = 0xa3,
2701
+ LeftMenu = 0xa4,
2702
+ RightMenu = 0xa5,
2703
+ BrowserBack = 0xa6,
2704
+ BrowserForward = 0xa7,
2705
+ BrowserRefresh = 0xa8,
2706
+ BrowserStop = 0xa9,
2707
+ BrowserSearch = 0xaa,
2708
+ BrowserFavorites = 0xab,
2709
+ BrowserHome = 0xac,
2710
+ VolumeMute = 0xad,
2711
+ VolumeDown = 0xae,
2712
+ VolumeUp = 0xaf,
2713
+ MediaNextTrack = 0xb0,
2714
+ MediaPrevTrack = 0xb1,
2715
+ MediaStop = 0xb2,
2716
+ MediaPlayPause = 0xb3,
2717
+ LaunchMail = 0xb4,
2718
+ LaunchMediaSelect = 0xb5,
2719
+ LaunchApplication1 = 0xb6,
2720
+ LaunchApplication2 = 0xb7,
2721
+ OEM1 = 0xba,
2722
+ OEMPlus = 0xbb,
2723
+ OEMComma = 0xbc,
2724
+ OEMMinus = 0xbd,
2725
+ OEMPeriod = 0xbe,
2726
+ OEM2 = 0xbf,
2727
+ OEM3 = 0xc0,
2728
+ OEM4 = 0xdb,
2729
+ OEM5 = 0xdc,
2730
+ OEM6 = 0xdd,
2731
+ OEM7 = 0xde,
2732
+ OEM8 = 0xdf,
2733
+ OEMAX = 0xe1,
2734
+ OEM102 = 0xe2,
2735
+ ICOHelp = 0xe3,
2736
+ ICO00 = 0xe4,
2737
+ ProcessKey = 0xe5,
2738
+ ICOClear = 0xe6,
2739
+ Packet = 0xe7,
2740
+ OEMReset = 0xe9,
2741
+ OEMJump = 0xea,
2742
+ OEMPA1 = 0xeb,
2743
+ OEMPA2 = 0xec,
2744
+ OEMPA3 = 0xed,
2745
+ OEMWSCtrl = 0xee,
2746
+ OEMCUSel = 0xef,
2747
+ OEMATTN = 0xf0,
2748
+ OEMFinish = 0xf1,
2749
+ OEMCopy = 0xf2,
2750
+ OEMAuto = 0xf3,
2751
+ OEMENLW = 0xf4,
2752
+ OEMBackTab = 0xf5,
2753
+ ATTN = 0xf6,
2754
+ CRSel = 0xf7,
2755
+ EXSel = 0xf8,
2756
+ EREOF = 0xf9,
2757
+ Play = 0xfa,
2758
+ Zoom = 0xfb,
2759
+ Noname = 0xfc,
2760
+ PA1 = 0xfd,
2761
+ OEMClear = 0xfe,
2762
+ }
2763
+
2764
+ declare interface WarningEvent {
2765
+ message: string;
2766
+ code: WarningEventCode;
2767
+ data?: Record<string, any>;
2768
+ timestamp: number;
2769
+ }
2770
+
2771
+ declare type WarningEventCode = "INVALID_EVENT";
2772
+
2773
+ export interface WindowEvent {
2774
+ window?: RenderWindow;
2775
+ }
2776
+
2777
+ export { }