bc-deeplib 1.2.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/deeplib.d.ts CHANGED
@@ -85,22 +85,70 @@ declare module 'bc-deeplib/base/base_subscreen' {
85
85
  import { BaseModule, BaseSettingsModel } from 'bc-deeplib/deeplib';
86
86
  import { SettingElement } from 'bc-deeplib/base/elements_typings';
87
87
  /** Optional configuration flags for a `BaseSubscreen` instance. */
88
- type SubscreenOptions = {
88
+ export type SubscreenOptions = {
89
89
  /**
90
90
  * If `true`, the subscreen will draw the player's character model
91
91
  * in the UI when `run()` is called.
92
92
  * Also shift the UI to the right to make room for the character.
93
93
  */
94
94
  drawCharacter?: boolean;
95
+ /**
96
+ * Logical name of this subscreen.
97
+ * Used for localization key resolution in `load()`.
98
+ * Subclasses should override this with a meaningful identifier.
99
+ */
100
+ name: string;
101
+ /**
102
+ * Path to or Base64 data for an icon representing this subscreen.
103
+ * Defaults to empty string (no icon).
104
+ */
105
+ icon?: string;
106
+ /**
107
+ * An optional help button to open a subscreen or URL or run a function when clicked.
108
+ */
109
+ help?: {
110
+ /** A URL or BaseSubscreen to open or a function to run when the help button is clicked */
111
+ onClick: URL | string | BaseSubscreen | (() => void);
112
+ /** A tooltip to display when the help button is hovered over */
113
+ tooltip?: string;
114
+ /** An icon to display on the help button */
115
+ icon?: string;
116
+ };
117
+ /**
118
+ * Screen to return to when exiting this subscreen.
119
+ * If not configured, the default is the main menu for all screens, but main menu itself.
120
+ * For main menu, the default is the Extensions menu
121
+ */
122
+ returnScreen?: (() => ScreenSpecifier | BaseSubscreen) | ScreenSpecifier | BaseSubscreen;
123
+ /**
124
+ * The background image for this subscreen.
125
+ * Currently supports only images from the Club.
126
+ */
127
+ background?: string;
128
+ /**
129
+ * If `true`, the exit button will be shown on the subscreen.
130
+ * Defaults to `true`.
131
+ */
132
+ doShowExitButton?: boolean;
133
+ /**
134
+ * If `true`, the title will be shown on the subscreen.
135
+ * Defaults to `true`.
136
+ */
137
+ doShowTitle?: boolean;
138
+ /**
139
+ * The width of the settings div in canvas pixels.
140
+ * Defaults to 1000.
141
+ */
142
+ settingsWidth?: number;
95
143
  };
96
144
  /**
97
145
  * Represents a constructor type for a subscreen.
98
146
  * Allows dynamic instantiation of subscreen classes with optional
99
147
  * configuration options and a parent module reference.
100
148
  */
101
- export type Subscreen = new (subscreenOptions?: SubscreenOptions, module?: BaseModule) => BaseSubscreen;
149
+ export type Subscreen = new (module?: BaseModule) => BaseSubscreen;
102
150
  /** Switches the active subscreen in the global `GUI` instance. */
103
- export function setSubscreen(subscreen: BaseSubscreen | string | null): BaseSubscreen | null;
151
+ export function setSubscreen(subscreen: BaseSubscreen | string | null): Promise<void>;
104
152
  /**
105
153
  * Abstract base class for creating settings/configuration subscreens in a module.
106
154
  *
@@ -126,20 +174,13 @@ declare module 'bc-deeplib/base/base_subscreen' {
126
174
  readonly options: SubscreenOptions;
127
175
  /** Reference to the module this subscreen belongs to. */
128
176
  readonly module: BaseModule;
129
- constructor(subscreenOptions?: SubscreenOptions, module?: BaseModule);
130
- /**
131
- * Logical name of this subscreen.
132
- * Used for localization key resolution in `load()`.
133
- * Subclasses should override this with a meaningful identifier.
134
- */
135
- get name(): string;
136
- /**
137
- * Path to or Base64 data for an icon representing this subscreen.
138
- * Defaults to empty string (no icon).
139
- */
140
- get icon(): string;
177
+ /** Identifier for internal use to avoid screen name collisions. */
178
+ static readonly id: string;
179
+ /** Optional configuration flags for a BaseSubscreen instance. */
180
+ protected static readonly subscreenOptions: SubscreenOptions;
181
+ constructor(module?: BaseModule);
141
182
  /** Changes the currently active subscreen. */
142
- setSubscreen(screen: BaseSubscreen | string | null): BaseSubscreen | null;
183
+ setSubscreen(screen: BaseSubscreen | string | null): Promise<void>;
143
184
  /** Gets this subscreen's settings object from its parent module. */
144
185
  get settings(): BaseSettingsModel;
145
186
  /** Updates this subscreen's settings in its parent module. */
@@ -196,7 +237,7 @@ declare module 'bc-deeplib/base/base_subscreen' {
196
237
  * Called when the window is resized.
197
238
  * Also checks for overflow in the settings div and applies styling accordingly.
198
239
  */
199
- resize(onLoad?: boolean): void;
240
+ resize(_onLoad?: boolean): void;
200
241
  /**
201
242
  * Called when this subscreen is being removed.
202
243
  * Resets the static element registry and removes the subscreen from the layout.
@@ -204,50 +245,64 @@ declare module 'bc-deeplib/base/base_subscreen' {
204
245
  */
205
246
  unload(): void;
206
247
  }
207
- export {};
208
248
 
209
249
  }
210
250
  declare module 'bc-deeplib/base/elements_typings' {
211
- export type SettingElement = Button | Checkbox | Input | Label | Custom;
251
+ export type SettingElement = Button | Checkbox | Input | Label | Dropdown | Custom;
212
252
  export type BaseElementModel = {
213
253
  id: string;
214
254
  size?: [width: number | null, height: number | null] | (() => [width: number | null, height: number | null]);
215
255
  position?: [x: number, y: number] | (() => [x: number, y: number]);
216
256
  disabled?: boolean | (() => boolean);
217
257
  };
218
- export type Button = Omit<BaseElementModel, 'id'> & {
258
+ export type Button = Prettify<{
219
259
  id: Parameters<typeof ElementButton.Create>[0];
220
260
  type: 'button';
221
261
  onClick?: Parameters<typeof ElementButton.Create>[1];
222
262
  options?: Parameters<typeof ElementButton.Create>[2];
223
263
  htmlOptions?: Parameters<typeof ElementButton.Create>[3];
224
- };
225
- export type Checkbox = BaseElementModel & {
264
+ } & Omit<BaseElementModel, 'id'>>;
265
+ export type Checkbox = Prettify<{
226
266
  type: 'checkbox';
227
267
  label?: string;
228
268
  description?: string;
229
269
  setElementValue?: () => boolean;
230
270
  setSettingValue?: (val: boolean) => void;
231
- htmlOptions?: Omit<HTMLOptions<any>, 'tag'>;
232
- };
233
- export type Input = BaseElementModel & {
271
+ htmlOptions?: Partial<Record<'container' | 'checkbox' | 'label', Omit<HTMLOptions<any>, 'tag'>>> | null | undefined;
272
+ } & BaseElementModel>;
273
+ export type Input = Prettify<{
234
274
  type: 'text' | 'number' | 'color';
235
275
  label?: string;
236
276
  description?: string;
237
277
  setElementValue?: () => string;
238
278
  setSettingValue?: (val: string) => void;
239
- htmlOptions?: Omit<HTMLOptions<any>, 'tag'>;
240
- };
241
- export type Label = BaseElementModel & {
279
+ htmlOptions?: Partial<Record<'container' | 'input' | 'label', Omit<HTMLOptions<any>, 'tag'>>> | null | undefined;
280
+ } & BaseElementModel>;
281
+ export type Dropdown = Prettify<{
282
+ id: Parameters<typeof ElementCreateDropdown>[0];
283
+ type: 'dropdown';
284
+ label?: string;
285
+ description?: string;
286
+ optionsList: Parameters<typeof ElementCreateDropdown>[1];
287
+ setElementValue?: () => string;
288
+ setSettingValue?: (val: string) => void;
289
+ options?: Parameters<typeof ElementCreateDropdown>[3];
290
+ htmlOptions?: {
291
+ container?: Partial<Omit<HTMLOptions<any>, 'tag'>>;
292
+ select?: Parameters<typeof ElementCreateDropdown>[4];
293
+ label?: Partial<Omit<HTMLOptions<'label'>, 'tag'>>;
294
+ };
295
+ } & Omit<BaseElementModel, 'id' | 'disabled'>>;
296
+ export type Label = Prettify<{
242
297
  type: 'label';
243
298
  label?: string;
244
299
  description?: string;
245
300
  htmlOptions?: Omit<HTMLOptions<any>, 'tag'>;
246
- };
247
- export type Custom = BaseElementModel & {
301
+ } & BaseElementModel>;
302
+ export type Custom = Prettify<{
248
303
  type: 'custom';
249
304
  htmlOptions: HTMLOptions<keyof HTMLElementTagNameMap>;
250
- };
305
+ } & BaseElementModel>;
251
306
 
252
307
  }
253
308
  declare module 'bc-deeplib/base/initialization' {
@@ -306,20 +361,6 @@ declare module 'bc-deeplib/base/initialization' {
306
361
  * - Delaying initialization until login (if necessary)
307
362
  */
308
363
  export function initMod(options: InitOptions): void;
309
- /**
310
- * Fully initializes the mod after login.
311
- * Handles:
312
- * - Preventing double-load
313
- * - Loading mod data
314
- * - Initializing localization
315
- * - Registering modules and migrators
316
- * - Running optional init functions
317
- * - Applying main menu changes
318
- * - Merging default settings into module settings
319
- *
320
- * @param options {InitOptions} Configuration for mod initialization.
321
- */
322
- export function init(options: InitOptions): Promise<void>;
323
364
  /**
324
365
  * Cleans up and removes the mod from memory.
325
366
  * Calls `unload()` on all modules and removes the global loaded flag.
@@ -391,6 +432,7 @@ declare module 'bc-deeplib/base/modules' {
391
432
  declare module 'bc-deeplib/deeplib' {
392
433
  export * from 'bc-deeplib/base/base_module';
393
434
  export * from 'bc-deeplib/base/base_subscreen';
435
+ export * from 'bc-deeplib/base/elements_typings';
394
436
  export * from 'bc-deeplib/base/initialization';
395
437
  export * from 'bc-deeplib/base/modules';
396
438
  export * from 'bc-deeplib/migrators/base_migrator';
@@ -420,13 +462,13 @@ declare module 'bc-deeplib/migrators/base_migrator' {
420
462
  *
421
463
  * A migrator is responsible for upgrading or transforming stored data
422
464
  * when the mod version changes. Each migrator targets a specific version
423
- * and executes its {@link Migrate} method once when needed.
465
+ * and executes its {@link migrate} method once when needed.
424
466
  *
425
467
  * @remarks
426
468
  * To create a new migrator:
427
469
  * 1. Extend `BaseMigrator`.
428
- * 2. Implement the {@link MigrationVersion} getter to return the target version string.
429
- * 3. Implement {@link Migrate} with the migration logic (e.g., data structure changes).
470
+ * 2. Implement the {@link migrationVersion} getter to return the target version string.
471
+ * 3. Implement {@link migrate} with the migration logic (e.g., data structure changes).
430
472
  */
431
473
  export abstract class BaseMigrator {
432
474
  /**
@@ -436,17 +478,17 @@ declare module 'bc-deeplib/migrators/base_migrator' {
436
478
  * - This should exactly match the version format used by the mod
437
479
  * - Used by the migration system to determine if this migration should be executed.
438
480
  */
439
- abstract get MigrationVersion(): string;
481
+ abstract get migrationVersion(): string;
440
482
  /**
441
483
  * Executes the migration logic for this version.
442
484
  *
443
485
  * @remarks
444
- * - Called once when upgrading from a version earlier than {@link MigrationVersion}.
486
+ * - Called once when upgrading from a version earlier than {@link migrationVersion}.
445
487
  * - Should handle any necessary data transformations, cleanup, or initialization
446
488
  * to bring the mod's state up to date with the new version.
447
489
  * - Must be idempotent — running it multiple times should not cause data corruption.
448
490
  */
449
- abstract Migrate(): void;
491
+ abstract migrate(): void;
450
492
  }
451
493
 
452
494
  }
@@ -475,22 +517,26 @@ declare module 'bc-deeplib/models/settings' {
475
517
  declare module 'bc-deeplib/modules/gui' {
476
518
  import { BaseModule, BaseSubscreen, MainMenu } from 'bc-deeplib/deeplib';
477
519
  /** Options for configuring a mod's main button in the extensions menu. */
478
- type ModButtonOptions = {
520
+ type GuiOptions = {
479
521
  /**
480
522
  * Unique identifier for the mod's settings button.
481
523
  * Used internally by the preference system to track the button.
482
524
  */
483
- Identifier: string;
525
+ identifier: string;
484
526
  /**
485
527
  * The label displayed on the settings button.
486
528
  * Can be a string or a function that returns a string dynamically.
487
529
  */
488
- ButtonText: string | (() => string);
530
+ buttonText: string | (() => string);
489
531
  /**
490
532
  * The path to or Base64 data of the icon for the settings button.
491
533
  * Can be a string or a function that returns a string dynamically.
492
534
  */
493
- Image: string | (() => string);
535
+ image: string | (() => string);
536
+ /**
537
+ * The main menu screen for the mod.
538
+ */
539
+ mainMenu?: typeof MainMenu;
494
540
  };
495
541
  /**
496
542
  * Central mod GUI controller that manages all subscreens.
@@ -507,29 +553,18 @@ declare module 'bc-deeplib/modules/gui' {
507
553
  private _subscreens;
508
554
  /** The mod's main menu screen. */
509
555
  private _mainMenu;
510
- /** The currently active subscreen, or `null` if none is active. */
511
- private _currentSubscreen;
512
556
  /** Options defining how the mod's settings button is displayed and behaves. */
513
557
  private _modButtonOptions;
514
558
  /** Returns all registered subscreens. */
515
559
  get subscreens(): BaseSubscreen[];
516
560
  /** Returns the main menu subscreen instance. */
517
561
  get mainMenu(): MainMenu;
518
- /** Returns the currently active subscreen. */
519
- get currentSubscreen(): BaseSubscreen | null;
520
- /**
521
- * Sets the current subscreen.
522
- * Accepts either a `BaseSubscreen` instance or the `name` of a subscreen.
523
- *
524
- * @throws If a string is provided but no subscreen with that name exists.
525
- */
526
- set currentSubscreen(subscreen: BaseSubscreen | string | null);
527
562
  /**
528
563
  * Creates the GUI instance and initializes the main menu.
529
564
  *
530
565
  * @throws If another `GUI` instance already exists.
531
566
  */
532
- constructor(modButtonOptions: ModButtonOptions);
567
+ constructor(guiOptions?: GuiOptions | null);
533
568
  /**
534
569
  * Loads the GUI and registers the mod's settings button in the extensions menu.
535
570
  *
@@ -544,6 +579,13 @@ declare module 'bc-deeplib/modules/gui' {
544
579
  }
545
580
  declare module 'bc-deeplib/modules/version' {
546
581
  import { BaseMigrator, BaseModule } from 'bc-deeplib/deeplib';
582
+ export type VersionModuleOptions = {
583
+ newVersionMessage?: string;
584
+ beforeEach?: () => void;
585
+ afterEach?: () => void;
586
+ beforeAll?: () => void;
587
+ afterAll?: () => void;
588
+ };
547
589
  /**
548
590
  * Handles version tracking, new version detection, and version-based migrations
549
591
  * for the mod. Also manages displaying a "new version" message to players and
@@ -559,11 +601,20 @@ declare module 'bc-deeplib/modules/version' {
559
601
  /** Whether the current session is running a new version compared to stored data */
560
602
  private static isItNewVersion;
561
603
  /** The current mod version (retrieved from `ModSdkManager.ModInfo.version`) */
562
- static Version: string;
604
+ private static version;
563
605
  /** Message to display when a new version is detected */
564
- static NewVersionMessage: string;
606
+ private static newVersionMessage?;
565
607
  /** List of registered migration handlers, sorted by version */
566
- private static Migrators;
608
+ private static migrators;
609
+ /** Optional lifecycle hook. Runs before each migration */
610
+ private static beforeEach?;
611
+ /** Optional lifecycle hook. Runs after each migration */
612
+ private static afterEach?;
613
+ /** Optional lifecycle hook. Runs before all migrations */
614
+ private static beforeAll?;
615
+ /** Optional lifecycle hook. Runs after all migrations */
616
+ private static afterAll?;
617
+ constructor(options: VersionModuleOptions);
567
618
  /**
568
619
  * Initializes the module on load:
569
620
  * - Stores the current mod version.
@@ -578,7 +629,7 @@ declare module 'bc-deeplib/modules/version' {
578
629
  * - Updates stored version in player data.
579
630
  * - Saves `modStorage`.
580
631
  */
581
- static checkVersionUpdate(): void;
632
+ private static checkVersionUpdate;
582
633
  /**
583
634
  * Executes migrations for all registered migrators whose `MigrationVersion`
584
635
  * is newer than the previously stored version.
@@ -589,8 +640,6 @@ declare module 'bc-deeplib/modules/version' {
589
640
  * Migrators are sorted by their `MigrationVersion` in ascending order.
590
641
  */
591
642
  static registerMigrator(migrator: BaseMigrator): void;
592
- /** Sets the message that will be displayed when a new version is detected. */
593
- static setNewVersionMessage(newVersionMessage: string): void;
594
643
  /** Sends the currently configured "new version" message to the local player. */
595
644
  static sendNewVersionMessage(): void;
596
645
  /**
@@ -608,15 +657,15 @@ declare module 'bc-deeplib/modules/version' {
608
657
  }
609
658
  declare module 'bc-deeplib/screens/debug' {
610
659
  import { SettingElement } from 'bc-deeplib/base/elements_typings';
611
- import { BaseSubscreen } from 'bc-deeplib/deeplib';
660
+ import { BaseSubscreen, SubscreenOptions } from 'bc-deeplib/deeplib';
612
661
  export class GuiDebug extends BaseSubscreen {
613
- get name(): string;
662
+ protected static subscreenOptions: SubscreenOptions;
614
663
  get pageStructure(): SettingElement[][];
615
664
  }
616
665
 
617
666
  }
618
667
  declare module 'bc-deeplib/screens/import_export' {
619
- import { BaseSubscreen } from 'bc-deeplib/deeplib';
668
+ import { BaseSubscreen, SubscreenOptions } from 'bc-deeplib/deeplib';
620
669
  /**
621
670
  * Configuration options for the {@link GuiImportExport} class.
622
671
  */
@@ -643,7 +692,7 @@ declare module 'bc-deeplib/screens/import_export' {
643
692
  */
644
693
  export class GuiImportExport extends BaseSubscreen {
645
694
  private importExportOptions;
646
- get name(): string;
695
+ static subscreenOptions: SubscreenOptions;
647
696
  constructor(importExportOptions: ImportExportOptions);
648
697
  load(): void;
649
698
  resize(): void;
@@ -664,7 +713,7 @@ declare module 'bc-deeplib/screens/import_export' {
664
713
 
665
714
  }
666
715
  declare module 'bc-deeplib/screens/main_menu' {
667
- import { BaseSubscreen, GUI } from 'bc-deeplib/deeplib';
716
+ import { BaseSubscreen, GUI, SubscreenOptions } from 'bc-deeplib/deeplib';
668
717
  import { GuiImportExport } from 'bc-deeplib/screens/import_export';
669
718
  /**
670
719
  * Configuration options for the main menu.
@@ -699,7 +748,7 @@ declare module 'bc-deeplib/screens/main_menu' {
699
748
  export class MainMenu extends BaseSubscreen {
700
749
  subscreens: BaseSubscreen[];
701
750
  private static options;
702
- get name(): string;
751
+ protected static subscreenOptions: SubscreenOptions;
703
752
  constructor(module: GUI);
704
753
  load(): void;
705
754
  run(): void;
@@ -712,12 +761,12 @@ declare module 'bc-deeplib/screens/main_menu' {
712
761
  }
713
762
  declare module 'bc-deeplib/utilities/common' {
714
763
  /**
715
- * Deeply merges properties from `source` into `target`.
716
- * - If both target and source properties are arrays, concatenates them.
717
- * - If both are objects, recursively merges them.
718
- * - Otherwise, source overwrites target.
764
+ * Deeply merges two values into a new value.
765
+ * - Arrays are concatenated.
766
+ * - Plain objects are merged recursively.
767
+ * - Other values are replaced by `source`.
719
768
  */
720
- export function deepMerge(target: any, source: any): any;
769
+ export function deepMerge<T, U>(target: T, source: U): T & U;
721
770
  /**
722
771
  * Returns a new array with elements of the input array shuffled.
723
772
  * Uses something-something shuffle algorithm by splicing from a cloned array.
@@ -778,7 +827,7 @@ declare module 'bc-deeplib/utilities/data' {
778
827
 
779
828
  }
780
829
  declare module 'bc-deeplib/utilities/elements/elements' {
781
- import { Button, Checkbox, Custom, Input, Label } from 'bc-deeplib/base/elements_typings';
830
+ import { Button, Checkbox, Custom, Dropdown, Input, Label } from 'bc-deeplib/base/elements_typings';
782
831
  /**
783
832
  * Collection of element creation utilities.
784
833
  * Provides convenience wrappers for generating commonly used UI elements.
@@ -789,6 +838,7 @@ declare module 'bc-deeplib/utilities/elements/elements' {
789
838
  createInput: typeof elementCreateInput;
790
839
  createLabel: typeof elementCreateLabel;
791
840
  createCustom: typeof elementCreateCustom;
841
+ createDropdown: typeof elementCreateDropdown;
792
842
  createTooltip: typeof elementCreateTooltip;
793
843
  getTooltip: typeof elementGetTooltip;
794
844
  setTooltip: typeof elementSetTooltip;
@@ -799,6 +849,7 @@ declare module 'bc-deeplib/utilities/elements/elements' {
799
849
  function elementCreateCustom(options: Omit<Custom, 'type'>): HTMLElement;
800
850
  function elementCreateInput(options: Input): HTMLElement;
801
851
  function elementCreateLabel(options: Omit<Label, 'type'>): HTMLElement;
852
+ function elementCreateDropdown(options: Omit<Dropdown, 'type'>): HTMLDivElement;
802
853
  function elementCreateTooltip(): HTMLDivElement;
803
854
  function elementGetTooltip(): HTMLElement | undefined;
804
855
  function elementSetTooltip(text: string): boolean;
@@ -954,31 +1005,25 @@ declare module 'bc-deeplib/utilities/elements/helpers' {
954
1005
  }
955
1006
  declare module 'bc-deeplib/utilities/elements/layout' {
956
1007
  export const layout: {
957
- createSubscreen: typeof elementCreateSubscreenDiv;
958
1008
  getSubscreen: typeof elementGetSubscreenDiv;
959
1009
  appendToSubscreen: typeof elementAppendToSubscreenDiv;
960
1010
  removeSubscreen: typeof elementRemoveSubscreenDiv;
961
- createSettingsDiv: typeof elementCreateSettingsDiv;
962
1011
  getSettingsDiv: typeof elementGetSettingsDiv;
963
1012
  appendToSettingsDiv: typeof elementAppendToSettingsDiv;
964
1013
  removeSettingsDiv: typeof elementRemoveSettingsDiv;
965
- createMiscDiv: typeof elementCreateMiscDiv;
966
1014
  getMiscDiv: typeof elementGetMiscDiv;
967
1015
  appendToMiscDiv: typeof elementAppendToMiscDiv;
968
1016
  removeMiscDiv: typeof elementRemoveMiscDiv;
969
1017
  };
970
- function elementCreateSubscreenDiv(): HTMLElement;
971
- function elementGetSubscreenDiv(): HTMLElement | undefined;
972
- function elementRemoveSubscreenDiv(): void | undefined;
973
- function elementAppendToSubscreenDiv(...element: HTMLElement[]): void | undefined;
974
- function elementCreateSettingsDiv(): HTMLElement;
975
- function elementGetSettingsDiv(): HTMLElement | undefined;
976
- function elementAppendToSettingsDiv(...element: HTMLElement[]): void | undefined;
977
- function elementRemoveSettingsDiv(): void | undefined;
978
- function elementCreateMiscDiv(): HTMLElement;
979
- function elementGetMiscDiv(): HTMLElement | null;
980
- function elementAppendToMiscDiv(...element: HTMLElement[]): void | undefined;
981
- function elementRemoveMiscDiv(): void | undefined;
1018
+ function elementGetSubscreenDiv(): HTMLElement;
1019
+ function elementRemoveSubscreenDiv(): void;
1020
+ function elementAppendToSubscreenDiv(...element: HTMLElement[]): void;
1021
+ function elementGetSettingsDiv(): HTMLElement;
1022
+ function elementAppendToSettingsDiv(...element: HTMLElement[]): void;
1023
+ function elementRemoveSettingsDiv(): void;
1024
+ function elementGetMiscDiv(): HTMLElement;
1025
+ function elementAppendToMiscDiv(...element: HTMLElement[]): void;
1026
+ function elementRemoveMiscDiv(): void;
982
1027
  export {};
983
1028
 
984
1029
  }