fleethub-core 0.8.0 → 0.9.1

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.
@@ -0,0 +1,1116 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ */
5
+ export function set_panic_hook(): void;
6
+ /**
7
+ * @param {Gear} gear
8
+ * @returns {boolean}
9
+ */
10
+ export function air_squadron_can_equip(gear: Gear): boolean;
11
+ /**
12
+ * @param {bindings.OrgType} org_type
13
+ * @returns {boolean}
14
+ */
15
+ export function org_type_is_single(org_type: bindings.OrgType): boolean;
16
+ /**
17
+ * @param {bindings.OrgType} org_type
18
+ * @returns {bindings.Formation}
19
+ */
20
+ export function org_type_default_formation(org_type: bindings.OrgType): bindings.Formation;
21
+ /**
22
+ * @param {bindings.OrgType} org_type
23
+ * @returns {boolean}
24
+ */
25
+ export function org_type_is_player(org_type: bindings.OrgType): boolean;
26
+ /**
27
+ * @param {bindings.OrgType} org_type
28
+ * @returns {bindings.Side}
29
+ */
30
+ export function org_type_side(org_type: bindings.OrgType): bindings.Side;
31
+
32
+ import * as bindings from "../bindings";
33
+ export * from "../bindings";
34
+
35
+
36
+ /**
37
+ */
38
+ export class AirSquadron {
39
+ free(): void;
40
+ /**
41
+ * @param {string} key
42
+ * @returns {Gear | undefined}
43
+ */
44
+ get_gear(key: string): Gear | undefined;
45
+ /**
46
+ * @param {Gear} gear
47
+ * @returns {boolean}
48
+ */
49
+ can_equip(gear: Gear): boolean;
50
+ /**
51
+ * @param {number} index
52
+ * @returns {number}
53
+ */
54
+ get_slot_size(index: number): number;
55
+ /**
56
+ * @param {number} index
57
+ * @returns {number}
58
+ */
59
+ get_max_slot_size(index: number): number;
60
+ /**
61
+ * @returns {number}
62
+ */
63
+ fighter_power(): number;
64
+ /**
65
+ * @returns {number}
66
+ */
67
+ interception_power(): number;
68
+ /**
69
+ * 行動半径
70
+ * @returns {number}
71
+ */
72
+ radius(): number;
73
+ /**
74
+ */
75
+ id: string;
76
+ /**
77
+ */
78
+ mode: bindings.AirSquadronMode;
79
+ /**
80
+ */
81
+ xxh3: BigInt;
82
+ }
83
+ /**
84
+ */
85
+ export class Analyzer {
86
+ free(): void;
87
+ /**
88
+ * @param {Comp} comp
89
+ * @param {bindings.Formation} formation
90
+ * @param {number} adjusted_anti_air_resist
91
+ * @param {number} fleet_anti_air_resist
92
+ * @param {number | undefined} aaci
93
+ * @returns {bindings.CompAntiAirInfo}
94
+ */
95
+ analyze_anti_air(comp: Comp, formation: bindings.Formation, adjusted_anti_air_resist: number, fleet_anti_air_resist: number, aaci?: number): bindings.CompAntiAirInfo;
96
+ /**
97
+ * @param {Comp} comp
98
+ * @returns {bindings.CompDayCutinRateInfo}
99
+ */
100
+ analyze_day_cutin(comp: Comp): bindings.CompDayCutinRateInfo;
101
+ /**
102
+ * @param {Comp} comp
103
+ * @param {bindings.NightSituation} attacker_situation
104
+ * @param {bindings.NightSituation} target_situation
105
+ * @returns {bindings.FleetNightCutinRateInfo}
106
+ */
107
+ analyze_night_cutin(comp: Comp, attacker_situation: bindings.NightSituation, target_situation: bindings.NightSituation): bindings.FleetNightCutinRateInfo;
108
+ /**
109
+ * @param {Comp} comp
110
+ * @returns {bindings.CompContactChanceInfo}
111
+ */
112
+ analyze_contact_chance(comp: Comp): bindings.CompContactChanceInfo;
113
+ /**
114
+ * @param {bindings.WarfareAnalyzerContext} params
115
+ * @param {Ship} attacker
116
+ * @param {Ship} target
117
+ * @returns {bindings.WarfareInfo}
118
+ */
119
+ analyze_warfare(params: bindings.WarfareAnalyzerContext, attacker: Ship, target: Ship): bindings.WarfareInfo;
120
+ /**
121
+ * @param {Comp} comp
122
+ * @param {bindings.Engagement} engagement
123
+ * @returns {bindings.FleetCutinAnalysis}
124
+ */
125
+ analyze_fleet_cutin(comp: Comp, engagement: bindings.Engagement): bindings.FleetCutinAnalysis;
126
+ }
127
+ /**
128
+ */
129
+ export class Comp {
130
+ free(): void;
131
+ /**
132
+ * @returns {bindings.Side}
133
+ */
134
+ side(): bindings.Side;
135
+ /**
136
+ * @returns {boolean}
137
+ */
138
+ is_combined(): boolean;
139
+ /**
140
+ * @returns {boolean}
141
+ */
142
+ is_enemy(): boolean;
143
+ /**
144
+ * @returns {bindings.CompMeta}
145
+ */
146
+ meta(): bindings.CompMeta;
147
+ /**
148
+ * @param {bindings.FleetType} ft
149
+ * @returns {string | undefined}
150
+ */
151
+ get_fleet_id(ft: bindings.FleetType): string | undefined;
152
+ /**
153
+ * @param {bindings.FleetType} ft
154
+ * @param {string} key
155
+ * @returns {Ship | undefined}
156
+ */
157
+ get_ship_with_clone(ft: bindings.FleetType, key: string): Ship | undefined;
158
+ /**
159
+ * @param {bindings.FleetType} ft
160
+ * @param {string} key
161
+ * @returns {string | undefined}
162
+ */
163
+ get_ship_entity_id(ft: bindings.FleetType, key: string): string | undefined;
164
+ /**
165
+ * @param {string} id
166
+ * @returns {Ship | undefined}
167
+ */
168
+ get_ship_by_eid_with_clone(id: string): Ship | undefined;
169
+ /**
170
+ * @returns {bindings.Formation}
171
+ */
172
+ default_formation(): bindings.Formation;
173
+ /**
174
+ * 艦隊対空値
175
+ * @param {number} formation_mod
176
+ * @returns {number}
177
+ */
178
+ fleet_anti_air(formation_mod: number): number;
179
+ /**
180
+ * 制空値
181
+ * @param {boolean} escort_participates
182
+ * @param {boolean} recon_participates
183
+ * @returns {number | undefined}
184
+ */
185
+ fighter_power(escort_participates: boolean, recon_participates: boolean): number | undefined;
186
+ /**
187
+ * マップ索敵
188
+ * @param {number} node_divaricated_factor
189
+ * @returns {number | undefined}
190
+ */
191
+ elos(node_divaricated_factor: number): number | undefined;
192
+ /**
193
+ * 輸送物資量(TP)
194
+ * @returns {number}
195
+ */
196
+ transport_point(): number;
197
+ /**
198
+ */
199
+ boss_sup?: Fleet;
200
+ /**
201
+ */
202
+ escort?: Fleet;
203
+ /**
204
+ */
205
+ hq_level: number;
206
+ /**
207
+ */
208
+ main: Fleet;
209
+ /**
210
+ */
211
+ org_type: bindings.OrgType;
212
+ /**
213
+ */
214
+ route_sup?: Fleet;
215
+ }
216
+ /**
217
+ */
218
+ export class FhCore {
219
+ free(): void;
220
+ /**
221
+ * @param {any} js_master
222
+ * @param {Function} js_fn
223
+ */
224
+ constructor(js_master: any, js_fn: Function);
225
+ /**
226
+ * @param {bindings.GearState | undefined} input
227
+ * @returns {Gear | undefined}
228
+ */
229
+ create_gear(input?: bindings.GearState): Gear | undefined;
230
+ /**
231
+ * @param {bindings.ShipState | undefined} input
232
+ * @returns {Ship | undefined}
233
+ */
234
+ create_ship(input?: bindings.ShipState): Ship | undefined;
235
+ /**
236
+ * @param {bindings.AirSquadronState | undefined} input
237
+ * @returns {AirSquadron}
238
+ */
239
+ create_air_squadron(input?: bindings.AirSquadronState): AirSquadron;
240
+ /**
241
+ * @param {bindings.FleetState | undefined} input
242
+ * @returns {Fleet}
243
+ */
244
+ create_fleet(input?: bindings.FleetState): Fleet;
245
+ /**
246
+ * @param {bindings.OrgState | undefined} input
247
+ * @returns {Org | undefined}
248
+ */
249
+ create_org(input?: bindings.OrgState): Org | undefined;
250
+ /**
251
+ * @param {number} ship_id
252
+ * @returns {Ship | undefined}
253
+ */
254
+ create_ship_by_id(ship_id: number): Ship | undefined;
255
+ /**
256
+ * @param {Uint16Array} main
257
+ * @param {Uint16Array | undefined} escort
258
+ * @returns {Comp}
259
+ */
260
+ create_comp_by_map_enemy(main: Uint16Array, escort?: Uint16Array): Comp;
261
+ /**
262
+ * @returns {Ship}
263
+ */
264
+ create_default_ship(): Ship;
265
+ /**
266
+ * @returns {Analyzer}
267
+ */
268
+ create_analyzer(): Analyzer;
269
+ /**
270
+ * @param {Comp} player
271
+ * @param {Comp} enemy
272
+ * @param {bindings.ShellingSupportSimulatorParams} params
273
+ * @param {number} times
274
+ * @returns {bindings.SimulatorResult}
275
+ */
276
+ simulate_shelling_support(player: Comp, enemy: Comp, params: bindings.ShellingSupportSimulatorParams, times: number): bindings.SimulatorResult;
277
+ }
278
+ /**
279
+ */
280
+ export class Fleet {
281
+ free(): void;
282
+ /**
283
+ * @returns {bindings.FleetMeta}
284
+ */
285
+ meta(): bindings.FleetMeta;
286
+ /**
287
+ * @returns {(string)[]}
288
+ */
289
+ ship_keys(): (string)[];
290
+ /**
291
+ * @returns {(string)[]}
292
+ */
293
+ ship_ids(): (string)[];
294
+ /**
295
+ * @returns {(string)[]}
296
+ */
297
+ get_gear_ids_by_improvable(): (string)[];
298
+ /**
299
+ * @returns {(string)[]}
300
+ */
301
+ get_gear_ids_by_proficiency(): (string)[];
302
+ /**
303
+ * @param {string} id
304
+ * @param {bindings.DamageState} state
305
+ * @returns {number | undefined}
306
+ */
307
+ get_damage_bound(id: string, state: bindings.DamageState): number | undefined;
308
+ /**
309
+ * @param {string} id
310
+ * @param {number} rate
311
+ * @param {boolean} ceil
312
+ * @returns {number | undefined}
313
+ */
314
+ get_remaining_fuel(id: string, rate: number, ceil: boolean): number | undefined;
315
+ /**
316
+ * @param {string} id
317
+ * @param {number} rate
318
+ * @param {boolean} ceil
319
+ * @returns {number | undefined}
320
+ */
321
+ get_remaining_ammo(id: string, rate: number, ceil: boolean): number | undefined;
322
+ /**
323
+ * @returns {number}
324
+ */
325
+ count_ships(): number;
326
+ /**
327
+ * @param {string} key
328
+ * @returns {Ship | undefined}
329
+ */
330
+ get_ship(key: string): Ship | undefined;
331
+ /**
332
+ * @param {boolean} recon_participates
333
+ * @returns {number | undefined}
334
+ */
335
+ fighter_power(recon_participates: boolean): number | undefined;
336
+ /**
337
+ * マップ索敵
338
+ * @param {number} hq_level
339
+ * @param {number} node_divaricated_factor
340
+ * @returns {number | undefined}
341
+ */
342
+ elos(hq_level: number, node_divaricated_factor: number): number | undefined;
343
+ /**
344
+ * 航空索敵スコア
345
+ * @returns {number | undefined}
346
+ */
347
+ aviation_detection_score(): number | undefined;
348
+ /**
349
+ * 遠征ボーナス
350
+ * @returns {number}
351
+ */
352
+ expedition_bonus(): number;
353
+ /**
354
+ * @param {string} key
355
+ * @returns {number | undefined}
356
+ */
357
+ sum_ship_stat_by(key: string): number | undefined;
358
+ /**
359
+ */
360
+ reset_battle_state(): void;
361
+ /**
362
+ * @returns {number | undefined}
363
+ */
364
+ readonly fleet_los_mod: number | undefined;
365
+ /**
366
+ */
367
+ id: string;
368
+ /**
369
+ */
370
+ len: number;
371
+ /**
372
+ */
373
+ xxh3: BigInt;
374
+ }
375
+ /**
376
+ */
377
+ export class Gear {
378
+ free(): void;
379
+ /**
380
+ * @returns {Gear}
381
+ */
382
+ static default(): Gear;
383
+ /**
384
+ * @param {bindings.GearAttr} attr
385
+ * @returns {boolean}
386
+ */
387
+ has_attr(attr: bindings.GearAttr): boolean;
388
+ /**
389
+ * @returns {bindings.GearCategory}
390
+ */
391
+ category(): bindings.GearCategory;
392
+ /**
393
+ * @returns {boolean}
394
+ */
395
+ is_carrier_shelling_plane(): boolean;
396
+ /**
397
+ * @returns {boolean}
398
+ */
399
+ has_proficiency(): boolean;
400
+ /**
401
+ * @returns {boolean}
402
+ */
403
+ max_exp_eq_120(): boolean;
404
+ /**
405
+ * @returns {number}
406
+ */
407
+ proficiency_critical_power_mod(): number;
408
+ /**
409
+ * @param {number} slot_size
410
+ * @returns {number}
411
+ */
412
+ calc_fighter_power(slot_size: number): number;
413
+ /**
414
+ * @param {number} slot_size
415
+ * @returns {number}
416
+ */
417
+ calc_interception_power(slot_size: number): number;
418
+ /**
419
+ * @returns {number}
420
+ */
421
+ fleet_anti_air(): number;
422
+ /**
423
+ * @returns {number}
424
+ */
425
+ adjusted_anti_air(): number;
426
+ /**
427
+ * @param {number} slot_size
428
+ * @returns {number}
429
+ */
430
+ calc_contact_trigger_factor(slot_size: number): number;
431
+ /**
432
+ * @param {bindings.AirStateRank} rank
433
+ * @returns {number}
434
+ */
435
+ contact_selection_rate(rank: bindings.AirStateRank): number;
436
+ /**
437
+ * @param {number} level
438
+ * @returns {number}
439
+ */
440
+ night_contact_rate(level: number): number;
441
+ /**
442
+ * @returns {boolean}
443
+ */
444
+ is_night_plane(): boolean;
445
+ /**
446
+ * @param {number} slot_size
447
+ * @param {boolean} anti_inst
448
+ * @returns {number}
449
+ */
450
+ night_plane_power(slot_size: number, anti_inst: boolean): number;
451
+ /**
452
+ * @returns {number}
453
+ */
454
+ elos(): number;
455
+ /**
456
+ * @returns {boolean}
457
+ */
458
+ is_abyssal(): boolean;
459
+ /**
460
+ * @returns {boolean}
461
+ */
462
+ is_abyssal_cuttlefish_torpedo(): boolean;
463
+ /**
464
+ * @returns {boolean}
465
+ */
466
+ is_abyssal_patrolling_attack_hawk(): boolean;
467
+ /**
468
+ * @returns {number}
469
+ */
470
+ expedition_bonus(): number;
471
+ /**
472
+ */
473
+ accuracy: number;
474
+ /**
475
+ * @returns {number}
476
+ */
477
+ readonly ace: number;
478
+ /**
479
+ */
480
+ adjusted_anti_air_resistance: number;
481
+ /**
482
+ */
483
+ anti_air: number;
484
+ /**
485
+ * @returns {number}
486
+ */
487
+ readonly anti_bomber: number;
488
+ /**
489
+ */
490
+ armor: number;
491
+ /**
492
+ */
493
+ asw: number;
494
+ /**
495
+ */
496
+ bombing: number;
497
+ /**
498
+ */
499
+ cost: number;
500
+ /**
501
+ */
502
+ default_exp: number;
503
+ /**
504
+ */
505
+ evasion: number;
506
+ /**
507
+ */
508
+ exp: number;
509
+ /**
510
+ */
511
+ firepower: number;
512
+ /**
513
+ */
514
+ fleet_anti_air_resistance: number;
515
+ /**
516
+ */
517
+ gear_id: number;
518
+ /**
519
+ */
520
+ gear_type: bindings.GearType;
521
+ /**
522
+ * @returns {number}
523
+ */
524
+ readonly gear_type_id: number;
525
+ /**
526
+ * @returns {number}
527
+ */
528
+ readonly icon_id: number;
529
+ /**
530
+ */
531
+ id: string;
532
+ /**
533
+ */
534
+ improvable: boolean;
535
+ /**
536
+ * @returns {number}
537
+ */
538
+ readonly interception: number;
539
+ /**
540
+ */
541
+ los: number;
542
+ /**
543
+ */
544
+ luck: number;
545
+ /**
546
+ */
547
+ max_hp: number;
548
+ /**
549
+ */
550
+ name: string;
551
+ /**
552
+ */
553
+ radius: number;
554
+ /**
555
+ */
556
+ range: number;
557
+ /**
558
+ * @returns {number}
559
+ */
560
+ readonly special_type_id: number;
561
+ /**
562
+ */
563
+ speed: number;
564
+ /**
565
+ */
566
+ stars: number;
567
+ /**
568
+ */
569
+ torpedo: number;
570
+ /**
571
+ * @returns {any}
572
+ */
573
+ readonly types: any;
574
+ /**
575
+ */
576
+ xxh3: BigInt;
577
+ }
578
+ /**
579
+ */
580
+ export class IBonuses {
581
+ free(): void;
582
+ /**
583
+ */
584
+ adjusted_anti_air: number;
585
+ /**
586
+ */
587
+ asw_accuracy: number;
588
+ /**
589
+ */
590
+ asw_power: number;
591
+ /**
592
+ */
593
+ carrier_shelling_power: number;
594
+ /**
595
+ */
596
+ contact_selection: number;
597
+ /**
598
+ */
599
+ defense_power: number;
600
+ /**
601
+ */
602
+ elos: number;
603
+ /**
604
+ */
605
+ fighter_power: number;
606
+ /**
607
+ */
608
+ fleet_anti_air: number;
609
+ /**
610
+ */
611
+ night_accuracy: number;
612
+ /**
613
+ */
614
+ night_power: number;
615
+ /**
616
+ */
617
+ shelling_accuracy: number;
618
+ /**
619
+ */
620
+ shelling_power: number;
621
+ /**
622
+ */
623
+ torpedo_accuracy: number;
624
+ /**
625
+ */
626
+ torpedo_evasion: number;
627
+ /**
628
+ */
629
+ torpedo_power: number;
630
+ }
631
+ /**
632
+ */
633
+ export class Org {
634
+ free(): void;
635
+ /**
636
+ * @param {bindings.Role} role
637
+ * @returns {number}
638
+ */
639
+ fleet_len(role: bindings.Role): number;
640
+ /**
641
+ * @param {bindings.Role} role
642
+ * @param {string} key
643
+ * @returns {string | undefined}
644
+ */
645
+ get_ship_entity_id(role: bindings.Role, key: string): string | undefined;
646
+ /**
647
+ * @returns {(string)[]}
648
+ */
649
+ air_squadron_ids(): (string)[];
650
+ /**
651
+ * @param {bindings.Role} role
652
+ * @returns {number | undefined}
653
+ */
654
+ fleet_los_mod(role: bindings.Role): number | undefined;
655
+ /**
656
+ * @returns {Uint16Array}
657
+ */
658
+ main_ship_ids(): Uint16Array;
659
+ /**
660
+ * @returns {Uint16Array}
661
+ */
662
+ escort_ship_ids(): Uint16Array;
663
+ /**
664
+ * @param {string} key
665
+ * @returns {Fleet}
666
+ */
667
+ clone_fleet(key: string): Fleet;
668
+ /**
669
+ * @param {bindings.Role} role
670
+ * @param {string} key
671
+ * @returns {Ship | undefined}
672
+ */
673
+ get_ship(role: bindings.Role, key: string): Ship | undefined;
674
+ /**
675
+ * @param {string} id
676
+ * @returns {Ship | undefined}
677
+ */
678
+ get_ship_by_id(id: string): Ship | undefined;
679
+ /**
680
+ * @param {bindings.Role} role
681
+ * @returns {string}
682
+ */
683
+ get_fleet_id_by_role(role: bindings.Role): string;
684
+ /**
685
+ * @returns {Comp}
686
+ */
687
+ create_comp(): Comp;
688
+ /**
689
+ * @param {string} key
690
+ * @returns {Comp}
691
+ */
692
+ create_comp_by_key(key: string): Comp;
693
+ /**
694
+ * @param {string} key
695
+ * @returns {AirSquadron}
696
+ */
697
+ get_air_squadron(key: string): AirSquadron;
698
+ /**
699
+ * @returns {(string)[]}
700
+ */
701
+ get_air_squadron_gear_ids_by_improvable(): (string)[];
702
+ /**
703
+ * @returns {(string)[]}
704
+ */
705
+ get_air_squadron_gear_ids_by_proficiency(): (string)[];
706
+ /**
707
+ * @returns {boolean}
708
+ */
709
+ is_player(): boolean;
710
+ /**
711
+ * @returns {boolean}
712
+ */
713
+ is_enemy(): boolean;
714
+ /**
715
+ * @returns {boolean}
716
+ */
717
+ is_single(): boolean;
718
+ /**
719
+ * @returns {boolean}
720
+ */
721
+ is_combined(): boolean;
722
+ /**
723
+ * 防空時の基地制空値
724
+ * @returns {number}
725
+ */
726
+ interception_power(): number;
727
+ /**
728
+ * 高高度迎撃時の基地制空値
729
+ * @returns {number}
730
+ */
731
+ high_altitude_interception_power(): number;
732
+ /**
733
+ * @param {Ship} ship
734
+ * @param {bindings.Formation} formation
735
+ * @returns {bindings.WarfareShipEnvironment}
736
+ */
737
+ create_warfare_ship_environment(ship: Ship, formation: bindings.Formation): bindings.WarfareShipEnvironment;
738
+ /**
739
+ * @returns {Org}
740
+ */
741
+ static default(): Org;
742
+ /**
743
+ */
744
+ boss_sup?: string;
745
+ /**
746
+ */
747
+ hq_level: number;
748
+ /**
749
+ */
750
+ id: string;
751
+ /**
752
+ */
753
+ org_type: bindings.OrgType;
754
+ /**
755
+ */
756
+ route_sup?: string;
757
+ /**
758
+ */
759
+ sortie: string;
760
+ /**
761
+ */
762
+ xxh3: BigInt;
763
+ }
764
+ /**
765
+ */
766
+ export class Ship {
767
+ free(): void;
768
+ /**
769
+ * @returns {Ship}
770
+ */
771
+ static default(): Ship;
772
+ /**
773
+ * @param {string} id
774
+ * @returns {boolean}
775
+ */
776
+ eq_id(id: string): boolean;
777
+ /**
778
+ * @returns {bindings.ShipState}
779
+ */
780
+ state(): bindings.ShipState;
781
+ /**
782
+ * @returns {bindings.ShipMeta}
783
+ */
784
+ meta(): bindings.ShipMeta;
785
+ /**
786
+ * @returns {number}
787
+ */
788
+ remodel_rank(): number;
789
+ /**
790
+ * @returns {bindings.DamageState}
791
+ */
792
+ damage_state(): bindings.DamageState;
793
+ /**
794
+ * @returns {bindings.MoraleState}
795
+ */
796
+ morale_state(): bindings.MoraleState;
797
+ /**
798
+ * @returns {bindings.ShipCategory}
799
+ */
800
+ category(): bindings.ShipCategory;
801
+ /**
802
+ * @param {bindings.ShipAttr} attr
803
+ * @returns {boolean}
804
+ */
805
+ has_attr(attr: bindings.ShipAttr): boolean;
806
+ /**
807
+ * @returns {any}
808
+ */
809
+ gear_keys(): any;
810
+ /**
811
+ * @param {string} key
812
+ * @returns {Gear | undefined}
813
+ */
814
+ get_gear(key: string): Gear | undefined;
815
+ /**
816
+ * @param {bindings.DamageState} state
817
+ * @returns {number | undefined}
818
+ */
819
+ get_damage_bound(state: bindings.DamageState): number | undefined;
820
+ /**
821
+ * @param {number} rate
822
+ * @param {boolean} ceil
823
+ * @returns {number}
824
+ */
825
+ get_remaining_fuel(rate: number, ceil: boolean): number;
826
+ /**
827
+ * @param {number} rate
828
+ * @param {boolean} ceil
829
+ * @returns {number}
830
+ */
831
+ get_remaining_ammo(rate: number, ceil: boolean): number;
832
+ /**
833
+ * @param {string} key
834
+ * @returns {boolean}
835
+ */
836
+ has_unknown_stat(key: string): boolean;
837
+ /**
838
+ * @param {string} key
839
+ * @returns {number | undefined}
840
+ */
841
+ get_naked_stat(key: string): number | undefined;
842
+ /**
843
+ * @param {string} key
844
+ * @returns {number | undefined}
845
+ */
846
+ get_stat_interval_left(key: string): number | undefined;
847
+ /**
848
+ * @param {string} key
849
+ * @returns {number | undefined}
850
+ */
851
+ get_stat_interval_right(key: string): number | undefined;
852
+ /**
853
+ * @param {string} key
854
+ * @returns {number}
855
+ */
856
+ get_gear_stat(key: string): number;
857
+ /**
858
+ * @param {string} key
859
+ * @returns {number}
860
+ */
861
+ get_ebonus(key: string): number;
862
+ /**
863
+ * @param {string} key
864
+ * @returns {number | undefined}
865
+ */
866
+ get_stat_mod(key: string): number | undefined;
867
+ /**
868
+ * @returns {boolean}
869
+ */
870
+ is_abyssal(): boolean;
871
+ /**
872
+ * @returns {boolean}
873
+ */
874
+ is_submarine(): boolean;
875
+ /**
876
+ * @param {Gear} gear
877
+ * @param {string} key
878
+ * @returns {boolean}
879
+ */
880
+ can_equip(gear: Gear, key: string): boolean;
881
+ /**
882
+ * @returns {boolean}
883
+ */
884
+ is_installation(): boolean;
885
+ /**
886
+ * @param {number} index
887
+ * @returns {number | undefined}
888
+ */
889
+ get_slot_size(index: number): number | undefined;
890
+ /**
891
+ * @param {number} index
892
+ * @returns {number | undefined}
893
+ */
894
+ get_max_slot_size(index: number): number | undefined;
895
+ /**
896
+ * @returns {number}
897
+ */
898
+ remaining_ammo_mod(): number;
899
+ /**
900
+ * @returns {number}
901
+ */
902
+ remaining_fuel_mod(): number;
903
+ /**
904
+ * @param {boolean} recon_participates
905
+ * @returns {number | undefined}
906
+ */
907
+ fighter_power(recon_participates: boolean): number | undefined;
908
+ /**
909
+ * @returns {number | undefined}
910
+ */
911
+ fleet_los_factor(): number | undefined;
912
+ /**
913
+ * @returns {number}
914
+ */
915
+ fleet_anti_air(): number;
916
+ /**
917
+ * @returns {number}
918
+ */
919
+ cruiser_fit_bonus(): number;
920
+ /**
921
+ * @param {boolean} is_night
922
+ * @returns {number}
923
+ */
924
+ fit_gun_bonus(is_night: boolean): number;
925
+ /**
926
+ * @returns {number | undefined}
927
+ */
928
+ basic_accuracy_term(): number | undefined;
929
+ /**
930
+ * @returns {number | undefined}
931
+ */
932
+ basic_evasion_term(): number | undefined;
933
+ /**
934
+ * @param {number} formation_mod
935
+ * @param {number} postcap_additive
936
+ * @param {number} postcap_multiplicative
937
+ * @returns {number | undefined}
938
+ */
939
+ evasion_term(formation_mod: number, postcap_additive: number, postcap_multiplicative: number): number | undefined;
940
+ /**
941
+ * @param {number} armor_penetration
942
+ * @returns {number | undefined}
943
+ */
944
+ basic_defense_power(armor_penetration: number): number | undefined;
945
+ /**
946
+ * @returns {Uint8Array}
947
+ */
948
+ get_possible_anti_air_cutin_ids(): Uint8Array;
949
+ /**
950
+ * @returns {number}
951
+ */
952
+ transport_point(): number;
953
+ /**
954
+ * @param {number} node_divaricated_factor
955
+ * @returns {number | undefined}
956
+ */
957
+ elos(node_divaricated_factor: number): number | undefined;
958
+ /**
959
+ * @param {number} value
960
+ */
961
+ take_damage(value: number): void;
962
+ /**
963
+ * @returns {number}
964
+ */
965
+ readonly accuracy: number;
966
+ /**
967
+ */
968
+ ammo: number;
969
+ /**
970
+ * @returns {number | undefined}
971
+ */
972
+ readonly anti_air: number | undefined;
973
+ /**
974
+ * @returns {number | undefined}
975
+ */
976
+ readonly armor: number | undefined;
977
+ /**
978
+ * @returns {number | undefined}
979
+ */
980
+ readonly asw: number | undefined;
981
+ /**
982
+ * @returns {number}
983
+ */
984
+ readonly ctype: number;
985
+ /**
986
+ */
987
+ current_hp: number;
988
+ /**
989
+ * @returns {number | undefined}
990
+ */
991
+ readonly evasion: number | undefined;
992
+ /**
993
+ * @returns {number | undefined}
994
+ */
995
+ readonly firepower: number | undefined;
996
+ /**
997
+ */
998
+ fuel: number;
999
+ /**
1000
+ */
1001
+ id: string;
1002
+ /**
1003
+ */
1004
+ level: number;
1005
+ /**
1006
+ * @returns {number | undefined}
1007
+ */
1008
+ readonly los: number | undefined;
1009
+ /**
1010
+ * @returns {number | undefined}
1011
+ */
1012
+ readonly luck: number | undefined;
1013
+ /**
1014
+ * @returns {number}
1015
+ */
1016
+ readonly max_ammo: number;
1017
+ /**
1018
+ * @returns {number}
1019
+ */
1020
+ readonly max_fuel: number;
1021
+ /**
1022
+ * @returns {number | undefined}
1023
+ */
1024
+ readonly max_hp: number | undefined;
1025
+ /**
1026
+ */
1027
+ morale: number;
1028
+ /**
1029
+ * @returns {number | undefined}
1030
+ */
1031
+ readonly naked_anti_air: number | undefined;
1032
+ /**
1033
+ * @returns {number | undefined}
1034
+ */
1035
+ readonly naked_armor: number | undefined;
1036
+ /**
1037
+ * @returns {number | undefined}
1038
+ */
1039
+ readonly naked_asw: number | undefined;
1040
+ /**
1041
+ * @returns {number | undefined}
1042
+ */
1043
+ readonly naked_evasion: number | undefined;
1044
+ /**
1045
+ * @returns {number | undefined}
1046
+ */
1047
+ readonly naked_firepower: number | undefined;
1048
+ /**
1049
+ * @returns {number | undefined}
1050
+ */
1051
+ readonly naked_los: number | undefined;
1052
+ /**
1053
+ * @returns {number | undefined}
1054
+ */
1055
+ readonly naked_range: number | undefined;
1056
+ /**
1057
+ * @returns {number}
1058
+ */
1059
+ readonly naked_speed: number;
1060
+ /**
1061
+ * @returns {number | undefined}
1062
+ */
1063
+ readonly naked_torpedo: number | undefined;
1064
+ /**
1065
+ * @returns {string}
1066
+ */
1067
+ readonly name: string;
1068
+ /**
1069
+ * @returns {number}
1070
+ */
1071
+ readonly next_id: number;
1072
+ /**
1073
+ * @returns {number | undefined}
1074
+ */
1075
+ readonly range: number | undefined;
1076
+ /**
1077
+ */
1078
+ ship_class: bindings.ShipClass;
1079
+ /**
1080
+ */
1081
+ ship_id: number;
1082
+ /**
1083
+ */
1084
+ ship_type: bindings.ShipType;
1085
+ /**
1086
+ * @returns {number}
1087
+ */
1088
+ readonly slotnum: number;
1089
+ /**
1090
+ * @returns {number}
1091
+ */
1092
+ readonly sort_id: number;
1093
+ /**
1094
+ * @returns {number}
1095
+ */
1096
+ readonly speed: number;
1097
+ /**
1098
+ * @returns {number}
1099
+ */
1100
+ readonly stype: number;
1101
+ /**
1102
+ * @returns {number | undefined}
1103
+ */
1104
+ readonly torpedo: number | undefined;
1105
+ /**
1106
+ * @returns {boolean}
1107
+ */
1108
+ readonly useful: boolean;
1109
+ /**
1110
+ */
1111
+ xxh3: BigInt;
1112
+ /**
1113
+ * @returns {string}
1114
+ */
1115
+ readonly yomi: string;
1116
+ }