@league-of-foundry-developers/foundry-vtt-types 13.346.0-beta.20250710065228 → 13.346.0-beta.20250711091515

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/package.json +1 -1
  2. package/src/foundry/client/applications/api/application.d.mts +23 -11
  3. package/src/foundry/client/applications/api/category-browser.d.mts +11 -2
  4. package/src/foundry/client/applications/api/dialog.d.mts +6 -2
  5. package/src/foundry/client/applications/api/document-sheet.d.mts +16 -9
  6. package/src/foundry/client/applications/apps/av/camera-popout.d.mts +14 -3
  7. package/src/foundry/client/applications/apps/av/cameras.d.mts +14 -3
  8. package/src/foundry/client/applications/apps/combat-tracker-config.d.mts +15 -3
  9. package/src/foundry/client/applications/apps/compendium-art-config.d.mts +12 -2
  10. package/src/foundry/client/applications/apps/file-picker.d.mts +11 -1
  11. package/src/foundry/client/applications/apps/image-popout.d.mts +11 -1
  12. package/src/foundry/client/applications/apps/permission-config.d.mts +12 -2
  13. package/src/foundry/client/applications/dice/roll-resolver.d.mts +14 -1
  14. package/src/foundry/client/applications/handlebars.d.mts +87 -58
  15. package/src/foundry/client/applications/hud/container.d.mts +11 -2
  16. package/src/foundry/client/applications/hud/placeable-hud.d.mts +14 -2
  17. package/src/foundry/client/applications/settings/dependency-resolution.d.mts +17 -3
  18. package/src/foundry/client/applications/settings/menus/av-config.d.mts +12 -3
  19. package/src/foundry/client/applications/settings/menus/dice-config.d.mts +15 -3
  20. package/src/foundry/client/applications/settings/menus/font-config.d.mts +14 -2
  21. package/src/foundry/client/applications/settings/menus/prototype-overrides.d.mts +14 -3
  22. package/src/foundry/client/applications/settings/menus/ui-config.d.mts +15 -4
  23. package/src/foundry/client/applications/sheets/token/prototype-config.d.mts +17 -3
  24. package/src/foundry/client/applications/sidebar/apps/chat-popout.d.mts +12 -3
  25. package/src/foundry/client/applications/sidebar/apps/frame-viewer.d.mts +12 -3
  26. package/src/foundry/client/applications/sidebar/apps/invitation-links.d.mts +17 -3
  27. package/src/foundry/client/applications/sidebar/apps/module-management.d.mts +17 -3
  28. package/src/foundry/client/applications/sidebar/apps/support-details.d.mts +16 -3
  29. package/src/foundry/client/applications/sidebar/apps/world-config.d.mts +15 -3
  30. package/src/foundry/client/applications/sidebar/document-directory.d.mts +14 -2
  31. package/src/foundry/client/applications/sidebar/sidebar-tab.d.mts +14 -1
  32. package/src/foundry/client/applications/sidebar/sidebar.d.mts +11 -3
  33. package/src/foundry/client/applications/ui/game-pause.d.mts +12 -3
  34. package/src/foundry/client/applications/ui/hotbar.d.mts +15 -5
  35. package/src/foundry/client/applications/ui/main-menu.d.mts +13 -3
  36. package/src/foundry/client/applications/ui/players.d.mts +13 -3
  37. package/src/foundry/client/applications/ui/region-legend.d.mts +11 -2
  38. package/src/foundry/client/applications/ui/scene-controls.d.mts +15 -3
  39. package/src/foundry/client/applications/ui/scene-navigation.d.mts +12 -2
@@ -1,4 +1,4 @@
1
- import type { Identity } from "#utils";
1
+ import type { DeepPartial, Identity } from "#utils";
2
2
  import type ApplicationV2 from "../../api/application.d.mts";
3
3
  import type HandlebarsApplicationMixin from "../../api/handlebars-application.d.mts";
4
4
 
@@ -17,14 +17,28 @@ declare class InvitationLinks<
17
17
  RenderContext extends InvitationLinks.RenderContext = InvitationLinks.RenderContext,
18
18
  Configuration extends InvitationLinks.Configuration = InvitationLinks.Configuration,
19
19
  RenderOptions extends InvitationLinks.RenderOptions = InvitationLinks.RenderOptions,
20
- > extends HandlebarsApplicationMixin(ApplicationV2)<RenderContext, Configuration, RenderOptions> {}
20
+ > extends HandlebarsApplicationMixin(ApplicationV2)<RenderContext, Configuration, RenderOptions> {
21
+ // Fake override.
22
+ static override DEFAULT_OPTIONS: InvitationLinks.DefaultOptions;
23
+ }
21
24
 
22
25
  declare namespace InvitationLinks {
23
26
  interface Any extends AnyInvitationLinks {}
24
27
  interface AnyConstructor extends Identity<typeof AnyInvitationLinks> {}
25
28
 
26
29
  interface RenderContext extends HandlebarsApplicationMixin.RenderContext, ApplicationV2.RenderContext {}
27
- interface Configuration extends HandlebarsApplicationMixin.Configuration, ApplicationV2.Configuration {}
30
+
31
+ interface Configuration<InvitationLinks extends InvitationLinks.Any = InvitationLinks.Any>
32
+ extends HandlebarsApplicationMixin.Configuration,
33
+ ApplicationV2.Configuration<InvitationLinks> {}
34
+
35
+ // Note(LukeAbby): This `& object` is so that the `DEFAULT_OPTIONS` can be overridden more easily
36
+ // Without it then `static override DEFAULT_OPTIONS = { unrelatedProp: 123 }` would error.
37
+ type DefaultOptions<InvitationLinks extends InvitationLinks.Any = InvitationLinks.Any> = DeepPartial<
38
+ Configuration<InvitationLinks>
39
+ > &
40
+ object;
41
+
28
42
  interface RenderOptions extends HandlebarsApplicationMixin.RenderOptions, ApplicationV2.RenderOptions {}
29
43
  }
30
44
 
@@ -1,4 +1,4 @@
1
- import type { Identity } from "#utils";
1
+ import type { DeepPartial, Identity } from "#utils";
2
2
  import type ApplicationV2 from "../../api/application.d.mts";
3
3
  import type HandlebarsApplicationMixin from "../../api/handlebars-application.d.mts";
4
4
 
@@ -20,14 +20,28 @@ declare class ModuleManagement<
20
20
  RenderContext extends ModuleManagement.RenderContext = ModuleManagement.RenderContext,
21
21
  Configuration extends ModuleManagement.Configuration = ModuleManagement.Configuration,
22
22
  RenderOptions extends ModuleManagement.RenderOptions = ModuleManagement.RenderOptions,
23
- > extends HandlebarsApplicationMixin(ApplicationV2)<RenderContext, Configuration, RenderOptions> {}
23
+ > extends HandlebarsApplicationMixin(ApplicationV2)<RenderContext, Configuration, RenderOptions> {
24
+ // Fake override.
25
+ static override DEFAULT_OPTIONS: ModuleManagement.DefaultOptions;
26
+ }
24
27
 
25
28
  declare namespace ModuleManagement {
26
29
  interface Any extends AnyModuleManagement {}
27
30
  interface AnyConstructor extends Identity<typeof AnyModuleManagement> {}
28
31
 
29
32
  interface RenderContext extends HandlebarsApplicationMixin.RenderContext, ApplicationV2.RenderContext {}
30
- interface Configuration extends HandlebarsApplicationMixin.Configuration, ApplicationV2.Configuration {}
33
+
34
+ interface Configuration<ModuleManagement extends ModuleManagement.Any = ModuleManagement.Any>
35
+ extends HandlebarsApplicationMixin.Configuration,
36
+ ApplicationV2.Configuration<ModuleManagement> {}
37
+
38
+ // Note(LukeAbby): This `& object` is so that the `DEFAULT_OPTIONS` can be overridden more easily
39
+ // Without it then `static override DEFAULT_OPTIONS = { unrelatedProp: 123 }` would error.
40
+ type DefaultOptions<ModuleManagement extends ModuleManagement.Any = ModuleManagement.Any> = DeepPartial<
41
+ Configuration<ModuleManagement>
42
+ > &
43
+ object;
44
+
31
45
  interface RenderOptions extends HandlebarsApplicationMixin.RenderOptions, ApplicationV2.RenderOptions {}
32
46
  }
33
47
 
@@ -1,6 +1,6 @@
1
1
  import type ApplicationV2 from "../../api/application.d.mts";
2
2
  import type HandlebarsApplicationMixin from "../../api/handlebars-application.d.mts";
3
- import type { Identity } from "#utils";
3
+ import type { DeepPartial, Identity } from "#utils";
4
4
 
5
5
  declare module "#configuration" {
6
6
  namespace Hooks {
@@ -17,14 +17,27 @@ declare class SupportDetails<
17
17
  RenderContext extends SupportDetails.RenderContext = SupportDetails.RenderContext,
18
18
  Configuration extends SupportDetails.Configuration = SupportDetails.Configuration,
19
19
  RenderOptions extends SupportDetails.RenderOptions = SupportDetails.RenderOptions,
20
- > extends HandlebarsApplicationMixin(ApplicationV2)<RenderContext, Configuration, RenderOptions> {}
20
+ > extends HandlebarsApplicationMixin(ApplicationV2)<RenderContext, Configuration, RenderOptions> {
21
+ // Fake override.
22
+ static override DEFAULT_OPTIONS: SupportDetails.DefaultOptions;
23
+ }
21
24
 
22
25
  declare namespace SupportDetails {
23
26
  interface Any extends AnySupportDetails {}
24
27
  interface AnyConstructor extends Identity<typeof AnySupportDetails> {}
25
28
 
26
29
  interface RenderContext extends ApplicationV2.RenderContext {}
27
- interface Configuration extends ApplicationV2.Configuration {}
30
+
31
+ interface Configuration<SupportDetails extends SupportDetails.Any = SupportDetails.Any>
32
+ extends ApplicationV2.Configuration<SupportDetails> {}
33
+
34
+ // Note(LukeAbby): This `& object` is so that the `DEFAULT_OPTIONS` can be overridden more easily
35
+ // Without it then `static override DEFAULT_OPTIONS = { unrelatedProp: 123 }` would error.
36
+ type DefaultOptions<SupportDetails extends SupportDetails.Any = SupportDetails.Any> = DeepPartial<
37
+ Configuration<SupportDetails>
38
+ > &
39
+ object;
40
+
28
41
  interface RenderOptions extends ApplicationV2.RenderOptions {}
29
42
  }
30
43
 
@@ -1,4 +1,4 @@
1
- import type { Identity } from "#utils";
1
+ import type { DeepPartial, Identity } from "#utils";
2
2
  import type ApplicationV2 from "../../api/application.d.mts";
3
3
  import type HandlebarsApplicationMixin from "../../api/handlebars-application.d.mts";
4
4
 
@@ -18,14 +18,26 @@ declare class WorldConfig<
18
18
  RenderContext extends WorldConfig.RenderContext = WorldConfig.RenderContext,
19
19
  Configuration extends WorldConfig.Configuration = WorldConfig.Configuration,
20
20
  RenderOptions extends WorldConfig.RenderOptions = WorldConfig.RenderOptions,
21
- > extends HandlebarsApplicationMixin(ApplicationV2)<RenderContext, Configuration, RenderOptions> {}
21
+ > extends HandlebarsApplicationMixin(ApplicationV2)<RenderContext, Configuration, RenderOptions> {
22
+ // Fake override.
23
+ static override DEFAULT_OPTIONS: WorldConfig.DefaultOptions;
24
+ }
22
25
 
23
26
  declare namespace WorldConfig {
24
27
  interface Any extends AnyWorldConfig {}
25
28
  interface AnyConstructor extends Identity<typeof AnyWorldConfig> {}
26
29
 
27
30
  interface RenderContext extends HandlebarsApplicationMixin.RenderContext, ApplicationV2.RenderContext {}
28
- interface Configuration extends HandlebarsApplicationMixin.Configuration, ApplicationV2.Configuration {}
31
+
32
+ interface Configuration<WorldConfig extends WorldConfig.Any = WorldConfig.Any>
33
+ extends HandlebarsApplicationMixin.Configuration,
34
+ ApplicationV2.Configuration<WorldConfig> {}
35
+
36
+ // Note(LukeAbby): This `& object` is so that the `DEFAULT_OPTIONS` can be overridden more easily
37
+ // Without it then `static override DEFAULT_OPTIONS = { unrelatedProp: 123 }` would error.
38
+ type DefaultOptions<WorldConfig extends WorldConfig.Any = WorldConfig.Any> = DeepPartial<Configuration<WorldConfig>> &
39
+ object;
40
+
29
41
  interface RenderOptions extends HandlebarsApplicationMixin.RenderOptions, ApplicationV2.RenderOptions {}
30
42
  }
31
43
 
@@ -1,4 +1,4 @@
1
- import type { Identity } from "#utils";
1
+ import type { DeepPartial, Identity } from "#utils";
2
2
  import type ApplicationV2 from "../api/application.d.mts";
3
3
  import type HandlebarsApplicationMixin from "../api/handlebars-application.d.mts";
4
4
  import type AbstractSidebarTab from "./sidebar-tab.d.mts";
@@ -23,6 +23,9 @@ declare class DocumentDirectory<
23
23
  Configuration extends DocumentDirectory.Configuration = DocumentDirectory.Configuration,
24
24
  RenderOptions extends DocumentDirectory.RenderOptions = DocumentDirectory.RenderOptions,
25
25
  > extends HandlebarsApplicationMixin(AbstractSidebarTab)<RenderContext, Configuration, RenderOptions> {
26
+ // Fake override.
27
+ static override DEFAULT_OPTIONS: DocumentDirectory.DefaultOptions;
28
+
26
29
  get documentClass(): DocumentClass;
27
30
  }
28
31
 
@@ -32,7 +35,9 @@ declare namespace DocumentDirectory {
32
35
 
33
36
  interface RenderContext extends HandlebarsApplicationMixin.RenderContext, AbstractSidebarTab.RenderContext {}
34
37
 
35
- interface Configuration extends HandlebarsApplicationMixin.RenderContext, ApplicationV2.Configuration {
38
+ interface Configuration<DocumentDirectory extends DocumentDirectory.Any = DocumentDirectory.Any>
39
+ extends HandlebarsApplicationMixin.RenderContext,
40
+ ApplicationV2.Configuration<DocumentDirectory> {
36
41
  /** The Document collection that this directory represents. */
37
42
  collection: foundry.documents.abstract.DirectoryCollectionMixin.AnyMixed;
38
43
 
@@ -40,6 +45,13 @@ declare namespace DocumentDirectory {
40
45
  renderUpdateKeys: string[];
41
46
  }
42
47
 
48
+ // Note(LukeAbby): This `& object` is so that the `DEFAULT_OPTIONS` can be overridden more easily
49
+ // Without it then `static override DEFAULT_OPTIONS = { unrelatedProp: 123 }` would error.
50
+ type DefaultOptions<DocumentDirectory extends DocumentDirectory.Any = DocumentDirectory.Any> = DeepPartial<
51
+ Configuration<DocumentDirectory>
52
+ > &
53
+ object;
54
+
43
55
  interface RenderOptions extends HandlebarsApplicationMixin.RenderOptions, ApplicationV2.RenderOptions {}
44
56
  }
45
57
 
@@ -17,6 +17,9 @@ declare abstract class AbstractSidebarTab<
17
17
  Configuration extends AbstractSidebarTab.Configuration = AbstractSidebarTab.Configuration,
18
18
  RenderOptions extends AbstractSidebarTab.RenderOptions = AbstractSidebarTab.RenderOptions,
19
19
  > extends ApplicationV2<RenderContext, Configuration, RenderOptions> {
20
+ // Fake override.
21
+ static override DEFAULT_OPTIONS: AbstractSidebarTab.DefaultOptions;
22
+
20
23
  static tabName: string;
21
24
 
22
25
  static override readonly emittedEvents: string[];
@@ -85,7 +88,17 @@ declare namespace AbstractSidebarTab {
85
88
  interface AnyConstructor extends Identity<typeof AnyAbstractSidebarTab> {}
86
89
 
87
90
  interface RenderContext extends ApplicationV2.RenderContext {}
88
- interface Configuration extends ApplicationV2.Configuration {}
91
+
92
+ interface Configuration<AbstractSidebarTab extends AbstractSidebarTab.Any = AbstractSidebarTab.Any>
93
+ extends ApplicationV2.Configuration<AbstractSidebarTab> {}
94
+
95
+ // Note(LukeAbby): This `& object` is so that the `DEFAULT_OPTIONS` can be overridden more easily
96
+ // Without it then `static override DEFAULT_OPTIONS = { unrelatedProp: 123 }` would error.
97
+ type DefaultOptions<AbstractSidebarTab extends AbstractSidebarTab.Any = AbstractSidebarTab.Any> = DeepPartial<
98
+ Configuration<AbstractSidebarTab>
99
+ > &
100
+ object;
101
+
89
102
  interface RenderOptions extends ApplicationV2.RenderOptions {}
90
103
 
91
104
  type EmittedEvents = Readonly<["render", "close", "position", "activate", "deactivate"]>;
@@ -19,7 +19,7 @@ declare class Sidebar<
19
19
  Configuration extends Sidebar.Configuration = Sidebar.Configuration,
20
20
  RenderOptions extends Sidebar.RenderOptions = Sidebar.RenderOptions,
21
21
  > extends HandlebarsApplicationMixin(ApplicationV2)<RenderContext, Configuration, RenderOptions> {
22
- static override DEFAULT_OPTIONS: Partial<Sidebar.Configuration>;
22
+ static override DEFAULT_OPTIONS: Sidebar.DefaultOptions;
23
23
 
24
24
  // TODO: This override of `TABS` is completely unsound subclassing-wise.
25
25
  // static override TABS: Record<string, Sidebar.TabDescriptor>;
@@ -39,7 +39,7 @@ declare class Sidebar<
39
39
  /**
40
40
  * The currently popped-out sidebar tabs.
41
41
  */
42
- popouts: Record<string, foundry.applications.sidebar.AbstractSidebarTab>;
42
+ popouts: Record<string, foundry.applications.sidebar.Sidebar>;
43
43
 
44
44
  protected override _configureRenderOptions(options: DeepPartial<RenderOptions>): void;
45
45
 
@@ -104,7 +104,15 @@ declare namespace Sidebar {
104
104
  interface AnyConstructor extends Identity<typeof AnySidebar> {}
105
105
 
106
106
  interface RenderContext extends HandlebarsApplicationMixin.RenderContext, ApplicationV2.RenderContext {}
107
- interface Configuration extends HandlebarsApplicationMixin.Configuration, ApplicationV2.Configuration {}
107
+
108
+ interface Configuration<Sidebar extends Sidebar.Any = Sidebar.Any>
109
+ extends HandlebarsApplicationMixin.Configuration,
110
+ ApplicationV2.Configuration<Sidebar> {}
111
+
112
+ // Note(LukeAbby): This `& object` is so that the `DEFAULT_OPTIONS` can be overridden more easily
113
+ // Without it then `static override DEFAULT_OPTIONS = { unrelatedProp: 123 }` would error.
114
+ type DefaultOptions<Sidebar extends Sidebar.Any = Sidebar.Any> = DeepPartial<Configuration<Sidebar>> & object;
115
+
108
116
  interface RenderOptions extends HandlebarsApplicationMixin.RenderOptions, ApplicationV2.RenderOptions {}
109
117
 
110
118
  interface TabDescriptor {
@@ -1,4 +1,4 @@
1
- import type { Identity } from "#utils";
1
+ import type { DeepPartial, Identity } from "#utils";
2
2
  import type ApplicationV2 from "../api/application.d.mts";
3
3
 
4
4
  declare module "#configuration" {
@@ -17,7 +17,10 @@ declare class GamePause<
17
17
  RenderContext extends GamePause.RenderContext = GamePause.RenderContext,
18
18
  Configuration extends GamePause.Configuration = GamePause.Configuration,
19
19
  RenderOptions extends GamePause.RenderOptions = GamePause.RenderOptions,
20
- > extends ApplicationV2<RenderContext, Configuration, RenderOptions> {}
20
+ > extends ApplicationV2<RenderContext, Configuration, RenderOptions> {
21
+ // Fake override.
22
+ static override DEFAULT_OPTIONS: GamePause.DefaultOptions;
23
+ }
21
24
 
22
25
  declare namespace GamePause {
23
26
  interface Any extends AnyGamePause {}
@@ -34,7 +37,13 @@ declare namespace GamePause {
34
37
  spin: boolean;
35
38
  }
36
39
 
37
- interface Configuration extends ApplicationV2.Configuration {}
40
+ interface Configuration<GamePause extends GamePause.Any = GamePause.Any>
41
+ extends ApplicationV2.Configuration<GamePause> {}
42
+
43
+ // Note(LukeAbby): This `& object` is so that the `DEFAULT_OPTIONS` can be overridden more easily
44
+ // Without it then `static override DEFAULT_OPTIONS = { unrelatedProp: 123 }` would error.
45
+ type DefaultOptions<GamePause extends GamePause.Any = GamePause.Any> = DeepPartial<Configuration<GamePause>> & object;
46
+
38
47
  interface RenderOptions extends ApplicationV2.RenderOptions {}
39
48
  }
40
49
 
@@ -1,4 +1,4 @@
1
- import type { Identity } from "#utils";
1
+ import type { DeepPartial, Identity } from "#utils";
2
2
  import type ApplicationV2 from "../api/application.d.mts";
3
3
  import type HandlebarsApplicationMixin from "../api/handlebars-application.d.mts";
4
4
 
@@ -20,9 +20,12 @@ declare module "#configuration" {
20
20
  */
21
21
  declare class Hotbar<
22
22
  RenderContext extends object = Hotbar.RenderContext,
23
- Configuration extends ApplicationV2.Configuration = ApplicationV2.Configuration,
24
- RenderOptions extends ApplicationV2.RenderOptions = ApplicationV2.RenderOptions,
25
- > extends HandlebarsApplicationMixin(ApplicationV2)<RenderContext, Configuration, RenderOptions> {}
23
+ Configuration extends Hotbar.Configuration = Hotbar.Configuration,
24
+ RenderOptions extends Hotbar.RenderOptions = Hotbar.RenderOptions,
25
+ > extends HandlebarsApplicationMixin(ApplicationV2)<RenderContext, Configuration, RenderOptions> {
26
+ // Fake override.
27
+ static override DEFAULT_OPTIONS: Hotbar.DefaultOptions;
28
+ }
26
29
 
27
30
  declare namespace Hotbar {
28
31
  interface Any extends AnyHotbar {}
@@ -41,7 +44,14 @@ declare namespace Hotbar {
41
44
  page: number;
42
45
  }
43
46
 
44
- interface Configuration extends HandlebarsApplicationMixin.Configuration, ApplicationV2.Configuration {}
47
+ interface Configuration<Hotbar extends Hotbar.Any = Hotbar.Any>
48
+ extends HandlebarsApplicationMixin.Configuration,
49
+ ApplicationV2.Configuration<Hotbar> {}
50
+
51
+ // Note(LukeAbby): This `& object` is so that the `DEFAULT_OPTIONS` can be overridden more easily
52
+ // Without it then `static override DEFAULT_OPTIONS = { unrelatedProp: 123 }` would error.
53
+ type DefaultOptions<Hotbar extends Hotbar.Any = Hotbar.Any> = DeepPartial<Configuration<Hotbar>> & object;
54
+
45
55
  interface RenderOptions extends HandlebarsApplicationMixin.RenderOptions, ApplicationV2.RenderOptions {}
46
56
  }
47
57
 
@@ -1,4 +1,4 @@
1
- import type { Identity } from "#utils";
1
+ import type { DeepPartial, Identity } from "#utils";
2
2
  import type ApplicationV2 from "../api/application.d.mts";
3
3
  import type HandlebarsApplicationMixin from "../api/handlebars-application.d.mts";
4
4
 
@@ -18,7 +18,10 @@ declare class MainMenu<
18
18
  RenderContext extends object = MainMenu.RenderContext,
19
19
  Configuration extends MainMenu.Configuration = MainMenu.Configuration,
20
20
  RenderOptions extends MainMenu.RenderOptions = MainMenu.RenderOptions,
21
- > extends HandlebarsApplicationMixin(ApplicationV2)<RenderContext, Configuration, RenderOptions> {}
21
+ > extends HandlebarsApplicationMixin(ApplicationV2)<RenderContext, Configuration, RenderOptions> {
22
+ // Fake override.
23
+ static override DEFAULT_OPTIONS: MainMenu.DefaultOptions;
24
+ }
22
25
 
23
26
  declare namespace MainMenu {
24
27
  interface Any extends AnyMainMenu {}
@@ -32,7 +35,14 @@ declare namespace MainMenu {
32
35
  items: Record<string, MainMenuItem>;
33
36
  }
34
37
 
35
- interface Configuration extends HandlebarsApplicationMixin.Configuration, ApplicationV2.Configuration {}
38
+ interface Configuration<MainMenu extends MainMenu.Any = MainMenu.Any>
39
+ extends HandlebarsApplicationMixin.Configuration,
40
+ ApplicationV2.Configuration<MainMenu> {}
41
+
42
+ // Note(LukeAbby): This `& object` is so that the `DEFAULT_OPTIONS` can be overridden more easily
43
+ // Without it then `static override DEFAULT_OPTIONS = { unrelatedProp: 123 }` would error.
44
+ type DefaultOptions<MainMenu extends MainMenu.Any = MainMenu.Any> = DeepPartial<Configuration<MainMenu>> & object;
45
+
36
46
  interface RenderOptions extends HandlebarsApplicationMixin.RenderOptions, ApplicationV2.RenderOptions {}
37
47
 
38
48
  interface MainMenuItem {
@@ -1,4 +1,4 @@
1
- import type { Identity } from "#utils";
1
+ import type { DeepPartial, Identity } from "#utils";
2
2
  import type ApplicationV2 from "../api/application.d.mts";
3
3
  import type HandlebarsApplicationMixin from "../api/handlebars-application.d.mts";
4
4
 
@@ -19,7 +19,10 @@ declare class Players<
19
19
  RenderContext extends Players.RenderContext = Players.RenderContext,
20
20
  Configuration extends Players.Configuration = Players.Configuration,
21
21
  RenderOptions extends Players.RenderOptions = Players.RenderOptions,
22
- > extends HandlebarsApplicationMixin(ApplicationV2)<RenderContext, Configuration, RenderOptions> {}
22
+ > extends HandlebarsApplicationMixin(ApplicationV2)<RenderContext, Configuration, RenderOptions> {
23
+ // Fake override.
24
+ static override DEFAULT_OPTIONS: Players.DefaultOptions;
25
+ }
23
26
 
24
27
  declare namespace Players {
25
28
  interface Any extends AnyPlayers {}
@@ -45,7 +48,14 @@ declare namespace Players {
45
48
  border: string;
46
49
  }
47
50
 
48
- interface Configuration extends HandlebarsApplicationMixin.Configuration, ApplicationV2.Configuration {}
51
+ interface Configuration<Players extends Players.Any = Players.Any>
52
+ extends HandlebarsApplicationMixin.Configuration,
53
+ ApplicationV2.Configuration<Players> {}
54
+
55
+ // Note(LukeAbby): This `& object` is so that the `DEFAULT_OPTIONS` can be overridden more easily
56
+ // Without it then `static override DEFAULT_OPTIONS = { unrelatedProp: 123 }` would error.
57
+ type DefaultOptions<Players extends Players.Any = Players.Any> = DeepPartial<Configuration<Players>> & object;
58
+
49
59
  interface RenderOptions extends HandlebarsApplicationMixin.RenderOptions, ApplicationV2.RenderOptions {}
50
60
  }
51
61
 
@@ -20,7 +20,7 @@ declare class RegionLegend<
20
20
  > extends HandlebarsApplicationMixin(ApplicationV2)<RenderContext, Configuration, RenderOptions> {
21
21
  #RegionLegend: true;
22
22
 
23
- static override DEFAULT_OPTIONS: DeepPartial<ApplicationV2.Configuration> & object;
23
+ static override DEFAULT_OPTIONS: RegionLegend.DefaultOptions;
24
24
  static override PARTS: Record<string, HandlebarsApplicationMixin.HandlebarsTemplatePart>;
25
25
 
26
26
  /** The currently viewed elevation range. */
@@ -81,7 +81,16 @@ declare namespace RegionLegend {
81
81
  top: number | string;
82
82
  }
83
83
 
84
- interface Configuration extends HandlebarsApplicationMixin.Configuration, ApplicationV2.Configuration {}
84
+ interface Configuration<RegionLegend extends RegionLegend.Any = RegionLegend.Any>
85
+ extends HandlebarsApplicationMixin.Configuration,
86
+ ApplicationV2.Configuration<RegionLegend> {}
87
+
88
+ // Note(LukeAbby): This `& object` is so that the `DEFAULT_OPTIONS` can be overridden more easily
89
+ // Without it then `static override DEFAULT_OPTIONS = { unrelatedProp: 123 }` would error.
90
+ type DefaultOptions<RegionLegend extends RegionLegend.Any = RegionLegend.Any> = DeepPartial<
91
+ Configuration<RegionLegend>
92
+ > &
93
+ object;
85
94
 
86
95
  interface RenderOptions extends HandlebarsApplicationMixin.RenderOptions, ApplicationV2.RenderOptions {}
87
96
  }
@@ -1,4 +1,4 @@
1
- import type { Identity } from "#utils";
1
+ import type { DeepPartial, Identity } from "#utils";
2
2
  import type ApplicationV2 from "../api/application.d.mts";
3
3
  import type HandlebarsApplicationMixin from "../api/handlebars-application.d.mts";
4
4
 
@@ -18,7 +18,10 @@ declare class SceneControls<
18
18
  RenderContext extends SceneControls.RenderContext = SceneControls.RenderContext,
19
19
  Configuration extends SceneControls.Configuration = SceneControls.Configuration,
20
20
  RenderOptions extends SceneControls.RenderOptions = SceneControls.RenderOptions,
21
- > extends HandlebarsApplicationMixin(ApplicationV2)<RenderContext, Configuration, RenderOptions> {}
21
+ > extends HandlebarsApplicationMixin(ApplicationV2)<RenderContext, Configuration, RenderOptions> {
22
+ // Fake override.
23
+ static override DEFAULT_OPTIONS: SceneControls.DefaultOptions;
24
+ }
22
25
 
23
26
  declare namespace SceneControls {
24
27
  interface Any extends AnySceneControls {}
@@ -102,7 +105,16 @@ declare namespace SceneControls {
102
105
  reference: string;
103
106
  }
104
107
 
105
- interface Configuration extends ApplicationV2.Configuration {}
108
+ interface Configuration<SceneControls extends SceneControls.Any = SceneControls.Any>
109
+ extends ApplicationV2.Configuration<SceneControls> {}
110
+
111
+ // Note(LukeAbby): This `& object` is so that the `DEFAULT_OPTIONS` can be overridden more easily
112
+ // Without it then `static override DEFAULT_OPTIONS = { unrelatedProp: 123 }` would error.
113
+ type DefaultOptions<SceneControls extends SceneControls.Any = SceneControls.Any> = DeepPartial<
114
+ Configuration<SceneControls>
115
+ > &
116
+ object;
117
+
106
118
  interface RenderOptions extends ApplicationV2.RenderOptions {}
107
119
  }
108
120
 
@@ -1,4 +1,4 @@
1
- import type { Identity } from "#utils";
1
+ import type { DeepPartial, Identity } from "#utils";
2
2
  import type ApplicationV2 from "../api/application.d.mts";
3
3
  import type HandlebarsApplicationMixin from "../api/handlebars-application.d.mts";
4
4
 
@@ -40,7 +40,17 @@ declare namespace SceneNavigation {
40
40
  canExpand: number;
41
41
  }
42
42
 
43
- interface Configuration extends HandlebarsApplicationMixin.Configuration, ApplicationV2.Configuration {}
43
+ interface Configuration<SceneNavigation extends SceneNavigation.Any = SceneNavigation.Any>
44
+ extends HandlebarsApplicationMixin.Configuration,
45
+ ApplicationV2.Configuration<SceneNavigation> {}
46
+
47
+ // Note(LukeAbby): This `& object` is so that the `DEFAULT_OPTIONS` can be overridden more easily
48
+ // Without it then `static override DEFAULT_OPTIONS = { unrelatedProp: 123 }` would error.
49
+ type DefaultOptions<SceneNavigation extends SceneNavigation.Any = SceneNavigation.Any> = DeepPartial<
50
+ Configuration<SceneNavigation>
51
+ > &
52
+ object;
53
+
44
54
  interface RenderOptions extends HandlebarsApplicationMixin.RenderOptions, ApplicationV2.RenderOptions {}
45
55
  }
46
56