@league-of-foundry-developers/foundry-vtt-types 12.331.3-beta → 12.331.5

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 (559) hide show
  1. package/README.md +17 -18
  2. package/package.json +91 -32
  3. package/src/configuration/configuration.d.mts +316 -0
  4. package/src/configuration/documents.d.mts +295 -0
  5. package/src/configuration/globals.d.mts +357 -0
  6. package/src/configuration/index.d.mts +5 -0
  7. package/src/foundry/client/apps/app.d.mts +129 -122
  8. package/src/foundry/client/apps/av/av-config.d.mts +12 -7
  9. package/src/foundry/client/apps/av/cameras.d.mts +12 -7
  10. package/src/foundry/client/apps/dice/dice-config.d.mts +59 -0
  11. package/src/foundry/client/apps/dice/index.d.mts +1 -0
  12. package/src/foundry/client/apps/form.d.mts +114 -86
  13. package/src/foundry/client/apps/forms/actor.d.mts +21 -11
  14. package/src/foundry/client/apps/forms/adventure-exporter.d.mts +12 -7
  15. package/src/foundry/client/apps/forms/adventure-importer.d.mts +14 -6
  16. package/src/foundry/client/apps/forms/base-sheet.d.mts +16 -8
  17. package/src/foundry/client/apps/forms/card-config.d.mts +16 -8
  18. package/src/foundry/client/apps/forms/cards-config.d.mts +15 -14
  19. package/src/foundry/client/apps/forms/combat-config.d.mts +7 -7
  20. package/src/foundry/client/apps/forms/combatant-config.d.mts +3 -3
  21. package/src/foundry/client/apps/forms/default-sheets-config.d.mts +1 -1
  22. package/src/foundry/client/apps/forms/effect-config.d.mts +7 -7
  23. package/src/foundry/client/apps/forms/folder-config.d.mts +10 -5
  24. package/src/foundry/client/apps/forms/fonts.d.mts +42 -35
  25. package/src/foundry/client/apps/forms/grid-config.d.mts +12 -13
  26. package/src/foundry/client/apps/forms/image-popout.d.mts +29 -23
  27. package/src/foundry/client/apps/forms/item.d.mts +9 -9
  28. package/src/foundry/client/apps/forms/journal-page-sheet.d.mts +16 -14
  29. package/src/foundry/client/apps/forms/journal-sheet.d.mts +48 -38
  30. package/src/foundry/client/apps/forms/macro-config.d.mts +7 -7
  31. package/src/foundry/client/apps/forms/measure-template.d.mts +10 -12
  32. package/src/foundry/client/apps/forms/ownership.d.mts +5 -5
  33. package/src/foundry/client/apps/forms/playlist-config.d.mts +8 -10
  34. package/src/foundry/client/apps/forms/playlist-sound-config.d.mts +7 -7
  35. package/src/foundry/client/apps/forms/roll-table-config.d.mts +11 -10
  36. package/src/foundry/client/apps/forms/scene-config.d.mts +40 -41
  37. package/src/foundry/client/apps/forms/sheet-config.d.mts +9 -21
  38. package/src/foundry/client/apps/forms/user-config.d.mts +13 -12
  39. package/src/foundry/client/apps/hud/chatbubble.d.mts +18 -6
  40. package/src/foundry/client/apps/hud/container.d.mts +4 -4
  41. package/src/foundry/client/apps/hud/controls.d.mts +126 -81
  42. package/src/foundry/client/apps/hud/hotbar.d.mts +17 -12
  43. package/src/foundry/client/apps/hud/hud.d.mts +5 -5
  44. package/src/foundry/client/apps/hud/menu.d.mts +10 -3
  45. package/src/foundry/client/apps/hud/navigation.d.mts +14 -9
  46. package/src/foundry/client/apps/hud/pause.d.mts +9 -4
  47. package/src/foundry/client/apps/hud/players.d.mts +14 -9
  48. package/src/foundry/client/apps/i18n.d.mts +31 -27
  49. package/src/foundry/client/apps/index.d.mts +1 -0
  50. package/src/foundry/client/apps/placeables/drawing-config.d.mts +41 -33
  51. package/src/foundry/client/apps/placeables/drawing-hud.d.mts +5 -5
  52. package/src/foundry/client/apps/placeables/index.d.mts +0 -2
  53. package/src/foundry/client/apps/placeables/note-config.d.mts +28 -18
  54. package/src/foundry/client/apps/placeables/tile-config.d.mts +23 -10
  55. package/src/foundry/client/apps/placeables/tile-hud.d.mts +10 -5
  56. package/src/foundry/client/apps/placeables/token-config.d.mts +91 -58
  57. package/src/foundry/client/apps/placeables/token-hud.d.mts +12 -7
  58. package/src/foundry/client/apps/placeables/wall-config.d.mts +21 -17
  59. package/src/foundry/client/apps/sidebar/apps/chat-popout.d.mts +5 -5
  60. package/src/foundry/client/apps/sidebar/apps/client-settings.d.mts +3 -3
  61. package/src/foundry/client/apps/sidebar/apps/compendium.d.mts +15 -13
  62. package/src/foundry/client/apps/sidebar/apps/invitation-links.d.mts +3 -3
  63. package/src/foundry/client/apps/sidebar/apps/keybindings-config.d.mts +3 -2
  64. package/src/foundry/client/apps/sidebar/apps/module-management.d.mts +6 -6
  65. package/src/foundry/client/apps/sidebar/apps/permission-config.d.mts +6 -6
  66. package/src/foundry/client/apps/sidebar/apps/support-details.d.mts +34 -29
  67. package/src/foundry/client/apps/sidebar/apps/tours-management.d.mts +2 -2
  68. package/src/foundry/client/apps/sidebar/apps/world-config.d.mts +13 -10
  69. package/src/foundry/client/apps/sidebar/directory-tab-mixin.d.mts +50 -35
  70. package/src/foundry/client/apps/sidebar/document-directory.d.mts +52 -38
  71. package/src/foundry/client/apps/sidebar/package-configuration.d.mts +4 -4
  72. package/src/foundry/client/apps/sidebar/sidebar-tab.d.mts +3 -3
  73. package/src/foundry/client/apps/sidebar/sidebar.d.mts +9 -4
  74. package/src/foundry/client/apps/sidebar/tabs/actors-directory.d.mts +11 -2
  75. package/src/foundry/client/apps/sidebar/tabs/cards-directory.d.mts +11 -2
  76. package/src/foundry/client/apps/sidebar/tabs/chat-log.d.mts +39 -27
  77. package/src/foundry/client/apps/sidebar/tabs/combat-tracker.d.mts +21 -12
  78. package/src/foundry/client/apps/sidebar/tabs/compendium-directory.d.mts +30 -15
  79. package/src/foundry/client/apps/sidebar/tabs/items-directory.d.mts +11 -2
  80. package/src/foundry/client/apps/sidebar/tabs/journal-directory.d.mts +11 -2
  81. package/src/foundry/client/apps/sidebar/tabs/macros-directory.d.mts +14 -5
  82. package/src/foundry/client/apps/sidebar/tabs/playlists-directory.d.mts +30 -22
  83. package/src/foundry/client/apps/sidebar/tabs/roll-table-directory.d.mts +11 -2
  84. package/src/foundry/client/apps/sidebar/tabs/scenes-directory.d.mts +14 -5
  85. package/src/foundry/client/apps/sidebar/tabs/settings.d.mts +23 -5
  86. package/src/foundry/client/apps/templates.d.mts +1 -1
  87. package/src/foundry/client/av/client.d.mts +1 -1
  88. package/src/foundry/client/av/clients/simplepeer.d.mts +11 -1
  89. package/src/foundry/client/av/master.d.mts +2 -2
  90. package/src/foundry/client/av/settings.d.mts +17 -15
  91. package/src/foundry/client/config.d.mts +444 -312
  92. package/src/foundry/client/core/document-index.d.mts +11 -3
  93. package/src/foundry/client/core/hooks.d.mts +2 -4
  94. package/src/foundry/client/core/image.d.mts +14 -13
  95. package/src/foundry/client/core/issues.d.mts +9 -4
  96. package/src/foundry/client/core/keybindings.d.mts +5 -5
  97. package/src/foundry/client/core/nue.d.mts +1 -1
  98. package/src/foundry/client/core/packages.d.mts +400 -62
  99. package/src/foundry/client/core/settings.d.mts +62 -38
  100. package/src/foundry/client/core/socket.d.mts +2 -2
  101. package/src/foundry/client/core/sorting.d.mts +6 -6
  102. package/src/foundry/client/core/time.d.mts +6 -3
  103. package/src/foundry/client/core/tooltip.d.mts +2 -2
  104. package/src/foundry/client/core/tour.d.mts +59 -50
  105. package/src/foundry/client/core/tours.d.mts +1 -1
  106. package/src/foundry/client/core/utils.d.mts +33 -10
  107. package/src/foundry/client/core/video.d.mts +1 -1
  108. package/src/foundry/client/core/workers.d.mts +24 -17
  109. package/src/foundry/client/data/abstract/canvas-document.d.mts +22 -28
  110. package/src/foundry/client/data/abstract/client-document.d.mts +238 -206
  111. package/src/foundry/client/data/abstract/directory-collection-mixin.d.mts +24 -40
  112. package/src/foundry/client/data/abstract/document-collection.d.mts +96 -68
  113. package/src/foundry/client/data/abstract/world-collection.d.mts +53 -54
  114. package/src/foundry/client/data/collections/actors.d.mts +30 -28
  115. package/src/foundry/client/data/collections/cards.d.mts +16 -3
  116. package/src/foundry/client/data/collections/combats.d.mts +18 -5
  117. package/src/foundry/client/data/collections/compendium-collection.d.mts +84 -101
  118. package/src/foundry/client/data/collections/compendium-folders.d.mts +6 -6
  119. package/src/foundry/client/data/collections/compendium-packs.d.mts +5 -5
  120. package/src/foundry/client/data/collections/fog.d.mts +16 -3
  121. package/src/foundry/client/data/collections/folder.d.mts +20 -6
  122. package/src/foundry/client/data/collections/items.d.mts +17 -4
  123. package/src/foundry/client/data/collections/journal.d.mts +22 -7
  124. package/src/foundry/client/data/collections/macros.d.mts +21 -19
  125. package/src/foundry/client/data/collections/messages.d.mts +19 -6
  126. package/src/foundry/client/data/collections/playlists.d.mts +17 -5
  127. package/src/foundry/client/data/collections/scenes.d.mts +24 -27
  128. package/src/foundry/client/data/collections/settings.d.mts +16 -3
  129. package/src/foundry/client/data/collections/tables.d.mts +18 -5
  130. package/src/foundry/client/data/collections/users.d.mts +22 -10
  131. package/src/foundry/client/data/documents/active-effect.d.mts +780 -112
  132. package/src/foundry/client/data/documents/actor-delta.d.mts +705 -31
  133. package/src/foundry/client/data/documents/actor.d.mts +806 -98
  134. package/src/foundry/client/data/documents/adventure.d.mts +522 -59
  135. package/src/foundry/client/data/documents/ambient-light.d.mts +427 -20
  136. package/src/foundry/client/data/documents/ambient-sound.d.mts +478 -14
  137. package/src/foundry/client/data/documents/card.d.mts +598 -44
  138. package/src/foundry/client/data/documents/cards.d.mts +862 -169
  139. package/src/foundry/client/data/documents/chat-message.d.mts +668 -77
  140. package/src/foundry/client/data/documents/combat.d.mts +757 -107
  141. package/src/foundry/client/data/documents/combatant.d.mts +545 -32
  142. package/src/foundry/client/data/documents/drawing.d.mts +545 -14
  143. package/src/foundry/client/data/documents/fog-exploration.d.mts +465 -30
  144. package/src/foundry/client/data/documents/folder.d.mts +567 -51
  145. package/src/foundry/client/data/documents/index.d.mts +2 -0
  146. package/src/foundry/client/data/documents/item.d.mts +691 -24
  147. package/src/foundry/client/data/documents/journal-entry-page.d.mts +654 -55
  148. package/src/foundry/client/data/documents/journal-entry.d.mts +631 -35
  149. package/src/foundry/client/data/documents/macro.d.mts +560 -31
  150. package/src/foundry/client/data/documents/measured-template.d.mts +484 -15
  151. package/src/foundry/client/data/documents/note.d.mts +498 -15
  152. package/src/foundry/client/data/documents/playlist-sound.d.mts +443 -45
  153. package/src/foundry/client/data/documents/playlist.d.mts +710 -99
  154. package/src/foundry/client/data/documents/region-behavior.d.mts +516 -0
  155. package/src/foundry/client/data/documents/region.d.mts +789 -0
  156. package/src/foundry/client/data/documents/scene.d.mts +1216 -159
  157. package/src/foundry/client/data/documents/setting.d.mts +406 -23
  158. package/src/foundry/client/data/documents/table-result.d.mts +488 -14
  159. package/src/foundry/client/data/documents/table.d.mts +667 -78
  160. package/src/foundry/client/data/documents/tile.d.mts +505 -14
  161. package/src/foundry/client/data/documents/token.d.mts +1191 -143
  162. package/src/foundry/client/data/documents/user.d.mts +613 -57
  163. package/src/foundry/client/data/documents/wall.d.mts +555 -14
  164. package/src/foundry/client/game.d.mts +60 -92
  165. package/src/foundry/client/head.d.mts +9 -9
  166. package/src/foundry/client/hooks.d.mts +259 -248
  167. package/src/foundry/client/pixi/board.d.mts +107 -94
  168. package/src/foundry/client/pixi/core/containers/base-canvas-group.d.mts +97 -25
  169. package/src/foundry/client/pixi/core/containers/cached-container.d.mts +37 -19
  170. package/src/foundry/client/pixi/core/containers/full-canvas-container.d.mts +7 -10
  171. package/src/foundry/client/pixi/core/containers/point-source-mesh.d.mts +25 -15
  172. package/src/foundry/client/pixi/core/containers/quad-mesh.d.mts +16 -6
  173. package/src/foundry/client/pixi/core/containers/quadtree.d.mts +113 -54
  174. package/src/foundry/client/pixi/core/containers/sprite-mesh.d.mts +69 -26
  175. package/src/foundry/client/pixi/core/containers/unbound-container.d.mts +20 -2
  176. package/src/foundry/client/pixi/core/interaction/canvas-animation.d.mts +164 -99
  177. package/src/foundry/client/pixi/core/interaction/control-icon.d.mts +61 -22
  178. package/src/foundry/client/pixi/core/interaction/mouse-handler.d.mts +120 -53
  179. package/src/foundry/client/pixi/core/interaction/ping.d.mts +62 -31
  180. package/src/foundry/client/pixi/core/interaction/pings/chevron.d.mts +23 -10
  181. package/src/foundry/client/pixi/core/interaction/pings/pulse.d.mts +91 -34
  182. package/src/foundry/client/pixi/core/interaction/render-flags.d.mts +69 -30
  183. package/src/foundry/client/pixi/core/interaction/resize-handle.d.mts +35 -5
  184. package/src/foundry/client/pixi/core/interaction/targets.d.mts +21 -18
  185. package/src/foundry/client/pixi/core/loader.d.mts +86 -76
  186. package/src/foundry/client/pixi/core/shapes/limited-angle-polygon.d.mts +42 -17
  187. package/src/foundry/client/pixi/core/shapes/polygon-mesher.d.mts +92 -64
  188. package/src/foundry/client/pixi/core/shapes/precise-text.d.mts +28 -10
  189. package/src/foundry/client/pixi/core/shapes/ray.d.mts +47 -23
  190. package/src/foundry/client/pixi/core/shapes/source-polygon.d.mts +170 -75
  191. package/src/foundry/client/pixi/extensions/circle.d.mts +128 -125
  192. package/src/foundry/client/pixi/extensions/graphics.d.mts +3 -1
  193. package/src/foundry/client/pixi/extensions/observable-transform.d.mts +5 -4
  194. package/src/foundry/client/pixi/extensions/polygon.d.mts +154 -134
  195. package/src/foundry/client/pixi/extensions/rectangle.d.mts +242 -259
  196. package/src/foundry/client/pixi/groups/effects.d.mts +75 -24
  197. package/src/foundry/client/pixi/groups/environment.d.mts +68 -19
  198. package/src/foundry/client/pixi/groups/hidden.d.mts +27 -11
  199. package/src/foundry/client/pixi/groups/interface.d.mts +62 -38
  200. package/src/foundry/client/pixi/groups/overlay.d.mts +19 -7
  201. package/src/foundry/client/pixi/groups/primary.d.mts +66 -44
  202. package/src/foundry/client/pixi/groups/rendered.d.mts +19 -7
  203. package/src/foundry/client/pixi/layers/base/canvas-layer.d.mts +11 -15
  204. package/src/foundry/client/pixi/layers/base/interaction-layer.d.mts +29 -28
  205. package/src/foundry/client/pixi/layers/base/placeables-layer.d.mts +306 -272
  206. package/src/foundry/client/pixi/layers/controls/cursor.d.mts +18 -9
  207. package/src/foundry/client/pixi/layers/controls/door.d.mts +32 -11
  208. package/src/foundry/client/pixi/layers/controls/layer.d.mts +89 -77
  209. package/src/foundry/client/pixi/layers/controls/ruler.d.mts +121 -96
  210. package/src/foundry/client/pixi/layers/effects/background-effects.d.mts +9 -12
  211. package/src/foundry/client/pixi/layers/effects/coloration-effects.d.mts +9 -10
  212. package/src/foundry/client/pixi/layers/effects/darkness-effects.d.mts +8 -8
  213. package/src/foundry/client/pixi/layers/effects/illumination-effects.d.mts +22 -22
  214. package/src/foundry/client/pixi/layers/effects/visibility.d.mts +106 -86
  215. package/src/foundry/client/pixi/layers/effects/weather/particles/effect.d.mts +14 -5
  216. package/src/foundry/client/pixi/layers/effects/weather/particles/leaves.d.mts +31 -2
  217. package/src/foundry/client/pixi/layers/effects/weather-effects.d.mts +137 -65
  218. package/src/foundry/client/pixi/layers/grid/highlight.d.mts +14 -4
  219. package/src/foundry/client/pixi/layers/grid/layer.d.mts +92 -92
  220. package/src/foundry/client/pixi/layers/grid/mesh.d.mts +37 -16
  221. package/src/foundry/client/pixi/layers/masks/depth.d.mts +12 -7
  222. package/src/foundry/client/pixi/layers/masks/occlusion.d.mts +19 -12
  223. package/src/foundry/client/pixi/layers/masks/vision.d.mts +104 -18
  224. package/src/foundry/client/pixi/layers/placeables/drawings.d.mts +16 -15
  225. package/src/foundry/client/pixi/layers/placeables/index.d.mts +1 -0
  226. package/src/foundry/client/pixi/layers/placeables/lighting.d.mts +12 -14
  227. package/src/foundry/client/pixi/layers/placeables/notes.d.mts +49 -32
  228. package/src/foundry/client/pixi/layers/placeables/regions.d.mts +113 -0
  229. package/src/foundry/client/pixi/layers/placeables/sounds.d.mts +81 -67
  230. package/src/foundry/client/pixi/layers/placeables/templates.d.mts +11 -15
  231. package/src/foundry/client/pixi/layers/placeables/tiles.d.mts +30 -21
  232. package/src/foundry/client/pixi/layers/placeables/tokens.d.mts +66 -52
  233. package/src/foundry/client/pixi/layers/placeables/walls.d.mts +54 -57
  234. package/src/foundry/client/pixi/perception/clockwise-sweep.d.mts +62 -27
  235. package/src/foundry/client/pixi/perception/detection-mode.d.mts +121 -47
  236. package/src/foundry/client/pixi/perception/fog.d.mts +38 -15
  237. package/src/foundry/client/pixi/perception/perception-manager.d.mts +136 -136
  238. package/src/foundry/client/pixi/perception/vision-mode.d.mts +91 -64
  239. package/src/foundry/client/pixi/perception/weiler-atherton-clipping.d.mts +44 -16
  240. package/src/foundry/client/pixi/placeable.d.mts +239 -137
  241. package/src/foundry/client/pixi/placeables/drawing.d.mts +255 -133
  242. package/src/foundry/client/pixi/placeables/index.d.mts +1 -0
  243. package/src/foundry/client/pixi/placeables/light.d.mts +193 -64
  244. package/src/foundry/client/pixi/placeables/note.d.mts +145 -54
  245. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-canvas-object.d.mts +30 -8
  246. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-graphics.d.mts +41 -11
  247. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-occludable-object.d.mts +59 -18
  248. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-sprite-mesh.d.mts +120 -37
  249. package/src/foundry/client/pixi/placeables/region.d.mts +280 -0
  250. package/src/foundry/client/pixi/placeables/sound.d.mts +205 -66
  251. package/src/foundry/client/pixi/placeables/template.d.mts +181 -100
  252. package/src/foundry/client/pixi/placeables/tile.d.mts +206 -140
  253. package/src/foundry/client/pixi/placeables/token.d.mts +916 -449
  254. package/src/foundry/client/pixi/placeables/wall.d.mts +249 -129
  255. package/src/foundry/client/pixi/webgl/extensions/batch-renderer.d.mts +72 -33
  256. package/src/foundry/client/pixi/webgl/extensions/batch-shader-generator.d.mts +10 -9
  257. package/src/foundry/client/pixi/webgl/helpers/{framebugger-snapshot.d.mts → framebuffer-snapshot.d.mts} +10 -9
  258. package/src/foundry/client/pixi/webgl/helpers/index.d.mts +1 -1
  259. package/src/foundry/client/pixi/webgl/helpers/smooth-noise.d.mts +38 -23
  260. package/src/foundry/client/pixi/webgl/helpers/texture-extractor.d.mts +82 -53
  261. package/src/foundry/client/pixi/webgl/shaders/base-shader-mixin.d.mts +12 -12
  262. package/src/foundry/client/pixi/webgl/shaders/base-shader.d.mts +45 -28
  263. package/src/foundry/client/pixi/webgl/shaders/filters/base-filter.d.mts +12 -11
  264. package/src/foundry/client/pixi/webgl/shaders/filters/base-mask-filter.d.mts +12 -10
  265. package/src/foundry/client/pixi/webgl/shaders/filters/blur.d.mts +22 -20
  266. package/src/foundry/client/pixi/webgl/shaders/filters/effects-masking.d.mts +36 -32
  267. package/src/foundry/client/pixi/webgl/shaders/filters/environment.d.mts +10 -9
  268. package/src/foundry/client/pixi/webgl/shaders/filters/glow-overlay.d.mts +12 -11
  269. package/src/foundry/client/pixi/webgl/shaders/filters/invisibility.d.mts +10 -9
  270. package/src/foundry/client/pixi/webgl/shaders/filters/outline-overlay.d.mts +12 -11
  271. package/src/foundry/client/pixi/webgl/shaders/filters/transition.d.mts +67 -60
  272. package/src/foundry/client/pixi/webgl/shaders/filters/visibility.d.mts +24 -17
  273. package/src/foundry/client/pixi/webgl/shaders/filters/vision-mask-filter.d.mts +13 -10
  274. package/src/foundry/client/pixi/webgl/shaders/filters/void.d.mts +10 -9
  275. package/src/foundry/client/pixi/webgl/shaders/filters/weather-occlusion-masks.d.mts +11 -10
  276. package/src/foundry/client/pixi/webgl/shaders/fragment-channel-mixin.d.mts +20 -14
  277. package/src/foundry/client/pixi/webgl/shaders/grid/grid.d.mts +12 -11
  278. package/src/foundry/client/pixi/webgl/shaders/lighting/background-lighting.d.mts +10 -9
  279. package/src/foundry/client/pixi/webgl/shaders/lighting/base-lighting.d.mts +33 -33
  280. package/src/foundry/client/pixi/webgl/shaders/lighting/coloration-lighting.d.mts +10 -9
  281. package/src/foundry/client/pixi/webgl/shaders/lighting/darkness-lighting.d.mts +10 -9
  282. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/bewitching-wave.d.mts +19 -17
  283. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/black-hole.d.mts +10 -9
  284. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/chroma.d.mts +10 -9
  285. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/emanation.d.mts +10 -9
  286. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/energy-field.d.mts +10 -9
  287. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fairy-light.d.mts +19 -17
  288. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/flame.d.mts +19 -17
  289. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fog.d.mts +10 -9
  290. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/force-grid.d.mts +10 -8
  291. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/ghost-light.d.mts +19 -17
  292. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/hexa-dome.d.mts +10 -9
  293. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/light-dome.d.mts +10 -9
  294. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/magical-gloom.d.mts +10 -9
  295. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/pulse.d.mts +19 -17
  296. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/radial-rainbow.d.mts +10 -9
  297. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/revolving-light.d.mts +10 -9
  298. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/roiling-mass.d.mts +10 -9
  299. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/siren-light.d.mts +19 -17
  300. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/smoke-patch.d.mts +20 -17
  301. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/star-light.d.mts +10 -9
  302. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/sunburst.d.mts +19 -17
  303. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/swirling-rainbow.d.mts +10 -9
  304. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/torch.d.mts +19 -17
  305. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/vortex.d.mts +19 -17
  306. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/wave.d.mts +19 -17
  307. package/src/foundry/client/pixi/webgl/shaders/lighting/illumination-lighting.d.mts +10 -9
  308. package/src/foundry/client/pixi/webgl/shaders/region/adjust-darkness-level.d.mts +71 -29
  309. package/src/foundry/client/pixi/webgl/shaders/region/base.d.mts +54 -10
  310. package/src/foundry/client/pixi/webgl/shaders/region/highlight.d.mts +69 -9
  311. package/src/foundry/client/pixi/webgl/shaders/samplers/base-sampler.d.mts +24 -25
  312. package/src/foundry/client/pixi/webgl/shaders/samplers/baseline-illumination.d.mts +10 -9
  313. package/src/foundry/client/pixi/webgl/shaders/samplers/color-adjustment.d.mts +38 -29
  314. package/src/foundry/client/pixi/webgl/shaders/samplers/depth.d.mts +21 -17
  315. package/src/foundry/client/pixi/webgl/shaders/samplers/fog-of-war.d.mts +10 -9
  316. package/src/foundry/client/pixi/webgl/shaders/samplers/occlusion.d.mts +20 -18
  317. package/src/foundry/client/pixi/webgl/shaders/samplers/primary.d.mts +11 -2
  318. package/src/foundry/client/pixi/webgl/shaders/samplers/token-ring.d.mts +28 -2
  319. package/src/foundry/client/pixi/webgl/shaders/vision/background-vision.d.mts +10 -9
  320. package/src/foundry/client/pixi/webgl/shaders/vision/base-vision.d.mts +11 -9
  321. package/src/foundry/client/pixi/webgl/shaders/vision/coloration-vision.d.mts +10 -9
  322. package/src/foundry/client/pixi/webgl/shaders/vision/effects/amplification.d.mts +10 -9
  323. package/src/foundry/client/pixi/webgl/shaders/vision/effects/wave.d.mts +19 -17
  324. package/src/foundry/client/pixi/webgl/shaders/vision/illumination-vision.d.mts +10 -9
  325. package/src/foundry/client/pixi/webgl/shaders/weather/base-weather.d.mts +40 -36
  326. package/src/foundry/client/pixi/webgl/shaders/weather/effect.d.mts +27 -33
  327. package/src/foundry/client/pixi/webgl/shaders/weather/fog.d.mts +17 -16
  328. package/src/foundry/client/pixi/webgl/shaders/weather/rain.d.mts +19 -18
  329. package/src/foundry/client/pixi/webgl/shaders/weather/snow.d.mts +15 -14
  330. package/src/foundry/client/pixi/workers/texture-worker.d.mts +33 -53
  331. package/src/foundry/client/tours/setup-tour.d.mts +15 -10
  332. package/src/foundry/client/ui/context.d.mts +48 -40
  333. package/src/foundry/client/ui/dialog.d.mts +137 -126
  334. package/src/foundry/client/ui/drag.d.mts +1 -1
  335. package/src/foundry/client/ui/dragdrop.d.mts +34 -28
  336. package/src/foundry/client/ui/editor.d.mts +29 -21
  337. package/src/foundry/client/ui/filepicker.d.mts +43 -38
  338. package/src/foundry/client/ui/filter.d.mts +62 -50
  339. package/src/foundry/client/ui/forms.d.mts +22 -22
  340. package/src/foundry/client/ui/notifications.d.mts +10 -3
  341. package/src/foundry/client/ui/prosemirror.d.mts +15 -7
  342. package/src/foundry/client/ui/secrets.d.mts +42 -27
  343. package/src/foundry/client/ui/tabs.d.mts +40 -33
  344. package/src/foundry/client-esm/applications/_module.d.mts +3 -3
  345. package/src/foundry/client-esm/applications/_types.d.mts +0 -2
  346. package/src/foundry/client-esm/applications/api/_module.d.mts +2 -2
  347. package/src/foundry/client-esm/applications/api/application.d.mts +28 -19
  348. package/src/foundry/client-esm/applications/api/dialog.d.mts +20 -22
  349. package/src/foundry/client-esm/applications/api/document-sheet.d.mts +26 -12
  350. package/src/foundry/client-esm/applications/api/handlebars-application.d.mts +142 -126
  351. package/src/foundry/client-esm/applications/apps/_module.d.mts +2 -2
  352. package/src/foundry/client-esm/applications/apps/compendium-art-config.d.mts +10 -10
  353. package/src/foundry/client-esm/applications/apps/permission-config.d.mts +3 -3
  354. package/src/foundry/client-esm/applications/dice/_module.d.mts +2 -2
  355. package/src/foundry/client-esm/applications/dice/roll-resolver.d.mts +14 -2
  356. package/src/foundry/client-esm/applications/elements/_module.d.mts +2 -2
  357. package/src/foundry/client-esm/applications/elements/document-tags.d.mts +2 -0
  358. package/src/foundry/client-esm/applications/elements/file-picker.d.mts +1 -1
  359. package/src/foundry/client-esm/applications/elements/multi-select.d.mts +15 -5
  360. package/src/foundry/client-esm/applications/elements/string-tags.d.mts +1 -1
  361. package/src/foundry/client-esm/applications/forms/fields.d.mts +1 -1
  362. package/src/foundry/client-esm/applications/sheets/_module.d.mts +2 -2
  363. package/src/foundry/client-esm/applications/sheets/actor-sheet.d.mts +3 -3
  364. package/src/foundry/client-esm/applications/sheets/ambient-light-config.d.mts +10 -8
  365. package/src/foundry/client-esm/applications/sheets/ambient-sound-config.d.mts +9 -7
  366. package/src/foundry/client-esm/applications/sheets/item-sheet.d.mts +3 -3
  367. package/src/foundry/client-esm/applications/sheets/region-behavior-config.d.mts +30 -5
  368. package/src/foundry/client-esm/applications/sheets/region-config.d.mts +36 -5
  369. package/src/foundry/client-esm/applications/sheets/user-config.d.mts +8 -7
  370. package/src/foundry/client-esm/applications/ui/_module.d.mts +2 -2
  371. package/src/foundry/client-esm/applications/ui/region-legend.d.mts +45 -3
  372. package/src/foundry/client-esm/audio/_module.d.mts +2 -3
  373. package/src/foundry/client-esm/audio/_types.d.mts +2 -0
  374. package/src/foundry/client-esm/audio/biquad.d.mts +76 -26
  375. package/src/foundry/client-esm/audio/cache.d.mts +31 -20
  376. package/src/foundry/client-esm/audio/convolver.d.mts +47 -25
  377. package/src/foundry/client-esm/audio/helper.d.mts +124 -80
  378. package/src/foundry/client-esm/audio/sound.d.mts +230 -126
  379. package/src/foundry/client-esm/audio/timeout.d.mts +28 -12
  380. package/src/foundry/client-esm/canvas/_module.d.mts +2 -2
  381. package/src/foundry/client-esm/canvas/edges/_module.d.mts +2 -2
  382. package/src/foundry/client-esm/canvas/edges/collision.d.mts +69 -18
  383. package/src/foundry/client-esm/canvas/edges/edge.d.mts +110 -41
  384. package/src/foundry/client-esm/canvas/edges/edges.d.mts +10 -0
  385. package/src/foundry/client-esm/canvas/edges/vertex.d.mts +56 -26
  386. package/src/foundry/client-esm/canvas/regions/_module.d.mts +6 -11
  387. package/src/foundry/client-esm/canvas/regions/geometry.d.mts +38 -0
  388. package/src/foundry/client-esm/canvas/regions/mesh.d.mts +72 -0
  389. package/src/foundry/client-esm/canvas/regions/polygon-tree.d.mts +130 -0
  390. package/src/foundry/client-esm/canvas/regions/shape.d.mts +129 -0
  391. package/src/foundry/client-esm/canvas/scene-manager.d.mts +13 -3
  392. package/src/foundry/client-esm/canvas/smaa/blend.d.mts +14 -3
  393. package/src/foundry/client-esm/canvas/smaa/edges.d.mts +25 -3
  394. package/src/foundry/client-esm/canvas/smaa/smaa.d.mts +121 -23
  395. package/src/foundry/client-esm/canvas/smaa/weights.d.mts +26 -3
  396. package/src/foundry/client-esm/canvas/sources/_module.d.mts +2 -2
  397. package/src/foundry/client-esm/canvas/sources/base-effect-source.d.mts +84 -40
  398. package/src/foundry/client-esm/canvas/sources/base-light-source.d.mts +103 -39
  399. package/src/foundry/client-esm/canvas/sources/global-light-source.d.mts +89 -15
  400. package/src/foundry/client-esm/canvas/sources/point-darkness-source.d.mts +71 -27
  401. package/src/foundry/client-esm/canvas/sources/point-effect-source.d.mts +49 -20
  402. package/src/foundry/client-esm/canvas/sources/point-light-source.d.mts +57 -16
  403. package/src/foundry/client-esm/canvas/sources/point-movement-source.d.mts +31 -4
  404. package/src/foundry/client-esm/canvas/sources/point-sound-source.d.mts +45 -12
  405. package/src/foundry/client-esm/canvas/sources/point-vision-source.d.mts +98 -52
  406. package/src/foundry/client-esm/canvas/sources/rendered-effect-source.d.mts +180 -69
  407. package/src/foundry/client-esm/canvas/tokens/_module.d.mts +2 -3
  408. package/src/foundry/client-esm/canvas/tokens/ring-config.d.mts +175 -2
  409. package/src/foundry/client-esm/canvas/tokens/ring-data.d.mts +142 -2
  410. package/src/foundry/client-esm/canvas/tokens/ring.d.mts +284 -2
  411. package/src/foundry/client-esm/client.d.mts +47 -54
  412. package/src/foundry/client-esm/data/_module.d.mts +2 -2
  413. package/src/foundry/client-esm/data/client-backend.d.mts +22 -23
  414. package/src/foundry/client-esm/data/region-behaviors/_module.d.mts +11 -14
  415. package/src/foundry/client-esm/data/region-behaviors/adjust-darkness-level.d.mts +56 -0
  416. package/src/foundry/client-esm/data/region-behaviors/base.d.mts +59 -0
  417. package/src/foundry/client-esm/data/region-behaviors/display-scrolling-text.d.mts +64 -0
  418. package/src/foundry/client-esm/data/region-behaviors/execute-macro.d.mts +27 -0
  419. package/src/foundry/client-esm/data/region-behaviors/execute-script.d.mts +23 -0
  420. package/src/foundry/client-esm/data/region-behaviors/pause-game.d.mts +23 -0
  421. package/src/foundry/client-esm/data/region-behaviors/suppress-weather.d.mts +17 -0
  422. package/src/foundry/client-esm/data/region-behaviors/teleport-token.d.mts +32 -0
  423. package/src/foundry/client-esm/data/region-behaviors/toggle-behavior.d.mts +31 -0
  424. package/src/foundry/client-esm/dice/_module.d.mts +2 -3
  425. package/src/foundry/client-esm/dice/parser.d.mts +11 -25
  426. package/src/foundry/client-esm/dice/roll.d.mts +112 -89
  427. package/src/foundry/client-esm/dice/terms/_module.d.mts +2 -3
  428. package/src/foundry/client-esm/dice/terms/coin.d.mts +8 -5
  429. package/src/foundry/client-esm/dice/terms/dice.d.mts +93 -63
  430. package/src/foundry/client-esm/dice/terms/die.d.mts +11 -4
  431. package/src/foundry/client-esm/dice/terms/fate.d.mts +9 -2
  432. package/src/foundry/client-esm/dice/terms/function.d.mts +18 -18
  433. package/src/foundry/client-esm/dice/terms/numeric.d.mts +3 -5
  434. package/src/foundry/client-esm/dice/terms/operator.d.mts +2 -2
  435. package/src/foundry/client-esm/dice/terms/parenthetical.d.mts +9 -10
  436. package/src/foundry/client-esm/dice/terms/pool.d.mts +25 -31
  437. package/src/foundry/client-esm/dice/terms/string.d.mts +4 -4
  438. package/src/foundry/client-esm/dice/terms/term.d.mts +18 -4
  439. package/src/foundry/client-esm/dice/twister.d.mts +3 -3
  440. package/src/foundry/client-esm/helpers/_module.d.mts +2 -2
  441. package/src/foundry/client-esm/helpers/_types.d.mts +12 -46
  442. package/src/foundry/client-esm/helpers/compendium-art.d.mts +56 -4
  443. package/src/foundry/common/abstract/_types.d.mts +60 -54
  444. package/src/foundry/common/abstract/backend.d.mts +51 -45
  445. package/src/foundry/common/abstract/data.d.mts +265 -236
  446. package/src/foundry/common/abstract/document.d.mts +1449 -464
  447. package/src/foundry/common/abstract/embedded-collection-delta.d.mts +1 -1
  448. package/src/foundry/common/abstract/embedded-collection.d.mts +37 -7
  449. package/src/foundry/common/abstract/module.d.mts +3 -2
  450. package/src/foundry/common/abstract/singleton-collection.d.mts +1 -1
  451. package/src/foundry/common/abstract/socket.d.mts +1 -1
  452. package/src/foundry/common/abstract/type-data.d.mts +61 -55
  453. package/src/foundry/common/config.d.mts +11 -3
  454. package/src/foundry/common/constants.d.mts +261 -231
  455. package/src/foundry/common/data/data.d.mts +238 -102
  456. package/src/foundry/common/data/fields.d.mts +1334 -874
  457. package/src/foundry/common/data/module.d.mts +2 -2
  458. package/src/foundry/common/data/validation-failure.d.mts +12 -9
  459. package/src/foundry/common/documents/_module.d.mts +4 -2
  460. package/src/foundry/common/documents/_types.d.mts +22 -56
  461. package/src/foundry/common/documents/active-effect.d.mts +358 -194
  462. package/src/foundry/common/documents/actor-delta.d.mts +403 -73
  463. package/src/foundry/common/documents/actor.d.mts +359 -117
  464. package/src/foundry/common/documents/adventure.d.mts +312 -142
  465. package/src/foundry/common/documents/ambient-light.d.mts +296 -75
  466. package/src/foundry/common/documents/ambient-sound.d.mts +296 -109
  467. package/src/foundry/common/documents/card.d.mts +321 -187
  468. package/src/foundry/common/documents/cards.d.mts +353 -125
  469. package/src/foundry/common/documents/chat-message.d.mts +338 -167
  470. package/src/foundry/common/documents/combat.d.mts +358 -94
  471. package/src/foundry/common/documents/combatant.d.mts +323 -92
  472. package/src/foundry/common/documents/drawing.d.mts +327 -206
  473. package/src/foundry/common/documents/fog-exploration.d.mts +303 -69
  474. package/src/foundry/common/documents/folder.d.mts +307 -82
  475. package/src/foundry/common/documents/item.d.mts +377 -100
  476. package/src/foundry/common/documents/journal-entry-page.d.mts +327 -187
  477. package/src/foundry/common/documents/journal-entry.d.mts +345 -68
  478. package/src/foundry/common/documents/macro.d.mts +325 -139
  479. package/src/foundry/common/documents/measured-template.d.mts +328 -138
  480. package/src/foundry/common/documents/note.d.mts +312 -151
  481. package/src/foundry/common/documents/playlist-sound.d.mts +309 -102
  482. package/src/foundry/common/documents/playlist.d.mts +341 -131
  483. package/src/foundry/common/documents/region-behavior.d.mts +360 -0
  484. package/src/foundry/common/documents/region.d.mts +355 -0
  485. package/src/foundry/common/documents/roll-table.d.mts +320 -102
  486. package/src/foundry/common/documents/scene.d.mts +437 -350
  487. package/src/foundry/common/documents/setting.d.mts +285 -54
  488. package/src/foundry/common/documents/table-result.d.mts +326 -103
  489. package/src/foundry/common/documents/tile.d.mts +337 -172
  490. package/src/foundry/common/documents/token.d.mts +396 -447
  491. package/src/foundry/common/documents/user.d.mts +296 -173
  492. package/src/foundry/common/documents/wall.d.mts +303 -156
  493. package/src/foundry/common/grid/_module.d.mts +3 -3
  494. package/src/foundry/common/grid/base.d.mts +66 -49
  495. package/src/foundry/common/grid/gridless.d.mts +2 -2
  496. package/src/foundry/common/grid/hexagonal.d.mts +35 -28
  497. package/src/foundry/common/grid/square.d.mts +3 -3
  498. package/src/foundry/common/packages/base-module.d.mts +6 -24
  499. package/src/foundry/common/packages/base-package.d.mts +56 -31
  500. package/src/foundry/common/packages/base-system.d.mts +45 -63
  501. package/src/foundry/common/packages/base-world.d.mts +15 -61
  502. package/src/foundry/common/packages/module.d.mts +7 -7
  503. package/src/foundry/common/packages/sub-types.d.mts +4 -6
  504. package/src/foundry/common/primitives/array.d.mts +4 -4
  505. package/src/foundry/common/primitives/math.d.mts +7 -1
  506. package/src/foundry/common/primitives/number.d.mts +2 -2
  507. package/src/foundry/common/primitives/set.d.mts +17 -14
  508. package/src/foundry/common/primitives/string.d.mts +1 -1
  509. package/src/foundry/common/prosemirror/_module.d.mts +15 -15
  510. package/src/foundry/common/prosemirror/dirty-plugin.d.mts +1 -1
  511. package/src/foundry/common/prosemirror/dom-parser.d.mts +2 -1
  512. package/src/foundry/common/prosemirror/dropdown.d.mts +1 -1
  513. package/src/foundry/common/prosemirror/highlight-matches-plugin.d.mts +2 -2
  514. package/src/foundry/common/prosemirror/image-plugin.d.mts +1 -1
  515. package/src/foundry/common/prosemirror/menu.d.mts +3 -3
  516. package/src/foundry/common/prosemirror/paste-transformer.d.mts +1 -1
  517. package/src/foundry/common/prosemirror/plugin.d.mts +2 -2
  518. package/src/foundry/common/prosemirror/schema/index.d.mts +0 -1
  519. package/src/foundry/common/prosemirror/schema/lists.d.mts +2 -0
  520. package/src/foundry/common/prosemirror/util.d.mts +1 -1
  521. package/src/foundry/common/types.d.mts +3 -3
  522. package/src/foundry/common/utils/bitmask.d.mts +23 -11
  523. package/src/foundry/common/utils/collection.d.mts +61 -38
  524. package/src/foundry/common/utils/color.d.mts +20 -2
  525. package/src/foundry/common/utils/event-emitter.d.mts +32 -17
  526. package/src/foundry/common/utils/helpers.d.mts +36 -26
  527. package/src/foundry/common/utils/http.d.mts +2 -2
  528. package/src/foundry/common/utils/module.d.mts +2 -2
  529. package/src/foundry/common/utils/string-tree.d.mts +45 -39
  530. package/src/foundry/common/utils/word-tree.d.mts +10 -23
  531. package/src/foundry/index.d.mts +0 -1
  532. package/src/foundry/{clipper → public/scripts/clipper}/clipper.d.mts +58 -16
  533. package/src/foundry/public/scripts/index.d.mts +1 -0
  534. package/src/foundry/public/scripts/workers/image-compressor.d.mts +23 -0
  535. package/src/foundry/public/scripts/workers/index.d.mts +1 -0
  536. package/{index-lenient.d.mts → src/index-lenient.d.mts} +2 -0
  537. package/src/index.d.mts +6 -0
  538. package/src/tsconfig.json +15 -0
  539. package/src/types/augments/particles.d.mts +29 -0
  540. package/src/types/augments/pixi.d.mts +1024 -21
  541. package/src/types/augments/smooth.d.mts +31 -0
  542. package/src/types/augments/tinyMCE.d.mts +1 -1
  543. package/src/types/config.d.mts +18 -313
  544. package/src/types/documentConfiguration.d.mts +286 -542
  545. package/src/types/index.d.mts +1 -1
  546. package/src/types/lib.d.mts +12 -0
  547. package/src/types/workers/image-compressor.d.mts +176 -0
  548. package/src/utils/index.d.mts +1279 -0
  549. package/tsconfig.json +29 -0
  550. package/tsconfig.main.json +8 -0
  551. package/tsconfig.miscellaneous.json +16 -0
  552. package/index.d.mts +0 -5
  553. package/src/foundry/client/apps/placeables/light-config.d.mts +0 -100
  554. package/src/foundry/client/apps/placeables/sound-config.d.mts +0 -43
  555. package/src/foundry/common/documents/module.d.mts +0 -35
  556. package/src/foundry/common/primitives/regex.d.mts +0 -12
  557. package/src/types/helperTypes.d.mts +0 -583
  558. package/src/types/utils.d.mts +0 -539
  559. /package/src/foundry/{clipper → public/scripts/clipper}/index.d.mts +0 -0
@@ -1,9 +1,7 @@
1
- import type { ConformRecord } from "../../../types/helperTypes.d.mts";
2
- import type { AnyArray, AnyObject, DeepPartial, InexactPartial } from "../../../types/utils.d.mts";
1
+ import type { AnyArray, AnyObject, InexactPartial, FixedInstanceType } from "#utils";
3
2
  import type ApplicationV2 from "../../client-esm/applications/api/application.d.mts";
4
3
  import type { CustomFormInput } from "../../client-esm/applications/forms/fields.d.mts";
5
4
  import type DataModel from "../../common/abstract/data.d.mts";
6
- import type Document from "../../common/abstract/document.d.mts";
7
5
  import type { DataField } from "../../common/data/fields.d.mts";
8
6
 
9
7
  declare global {
@@ -14,17 +12,17 @@ declare global {
14
12
  * When Foundry Virtual Tabletop is initialized, a singleton instance of this class is constructed within the global
15
13
  * Game object as as game.settings.
16
14
  *
17
- * @see {@link Game#settings}
18
- * @see {@link Settings}
19
- * @see {@link SettingsConfig}
15
+ * @see {@link Game.settings | `Game#settings`}
16
+ * @see {@link Settings | `Settings`}
17
+ * @see {@link SettingsConfig | `SettingsConfig`}
20
18
  */
21
19
  class ClientSettings {
22
- constructor(worldSettings?: Setting["_source"][]);
20
+ constructor(worldSettings?: Setting.Implementation["_source"][]);
23
21
 
24
22
  /**
25
23
  * A object of registered game settings for this scope
26
24
  */
27
- settings: Map<keyof _SettingConfigRecord & string, ClientSettings.SettingConfig>;
25
+ settings: Map<keyof globalThis.SettingConfig & (string & {}), ClientSettings.SettingConfig>;
28
26
 
29
27
  /**
30
28
  * Registered settings menus which trigger secondary applications
@@ -87,11 +85,15 @@ declare global {
87
85
  * });
88
86
  * ```
89
87
  */
90
- register<N extends ClientSettings.Namespace, K extends ClientSettings.Key, T extends ClientSettings.Type>(
88
+ register<
89
+ T extends ClientSettings.Type,
90
+ N extends ClientSettings.Namespace = ClientSettings.Namespace,
91
+ K extends ClientSettings.KeyFor<N> = ClientSettings.KeyFor<N>,
92
+ >(
91
93
  namespace: N,
92
94
  key: K,
93
95
  data: ClientSettings.Type extends T
94
- ? ClientSettings.RegisterOptions<_SettingConfigRecord[`${N}.${K}`]>
96
+ ? ClientSettings.RegisterOptions<globalThis.SettingConfig[`${N}.${K}` & keyof SettingConfig]>
95
97
  : ClientSettings.RegisterOptions<NoInfer<T>>,
96
98
  ): void;
97
99
 
@@ -131,7 +133,7 @@ declare global {
131
133
  * game.settings.get("myModule", "myClientSetting");
132
134
  * ```
133
135
  */
134
- get<N extends ClientSettings.Namespace, K extends ClientSettings.Key>(
136
+ get<N extends ClientSettings.Namespace, K extends ClientSettings.KeyFor<N>>(
135
137
  namespace: N,
136
138
  key: K,
137
139
  ): ClientSettings.SettingInitializedType<N, K>;
@@ -154,17 +156,17 @@ declare global {
154
156
  * game.settings.set("myModule", "myClientSetting", "b");
155
157
  * ```
156
158
  */
157
- set<N extends ClientSettings.Namespace, K extends ClientSettings.Key>(
159
+ set<N extends ClientSettings.Namespace, K extends ClientSettings.KeyFor<N>>(
158
160
  namespace: N,
159
161
  key: K,
160
162
  value: ClientSettings.SettingAssignmentType<N, K>,
161
- options?: Document.OnUpsertOptions<"Setting">,
163
+ options?: Setting.Database.CreateOperation<undefined | false> | Setting.Database.UpdateOperation,
162
164
  ): Promise<ClientSettings.SettingInitializedType<N, K>>;
163
165
  }
164
166
 
165
167
  namespace ClientSettings {
166
- type Namespace = GetNamespaces<keyof _SettingConfigRecord>;
167
- type Key = GetKeys<keyof _SettingConfigRecord>;
168
+ type Namespace = GetNamespaces<keyof globalThis.SettingConfig>;
169
+ type KeyFor<N extends Namespace> = GetKeys<N, keyof globalThis.SettingConfig>;
168
170
 
169
171
  /**
170
172
  * A compile type is a type for a setting that only exists at compile time.
@@ -187,14 +189,21 @@ declare global {
187
189
  | (T extends readonly (infer V)[] ? typeof Array<V> : never)
188
190
  | (T extends AnyObject ? typeof Object : never);
189
191
 
190
- type SettingAssignmentType<N extends Namespace, K extends Key> = ToSettingAssignmentType<ConfiguredType<N, K>>;
192
+ type SettingAssignmentType<N extends Namespace, K extends KeyFor<N>> = ToSettingAssignmentType<
193
+ ConfiguredType<N, K>
194
+ >;
191
195
  type ToSettingAssignmentType<T extends Type> = ReplaceUndefinedWithNull<
192
196
  | SettingType<T>
193
197
  // TODO(LukeAbby): The `fromSource` function is called with `strict` which changes how fallback behaviour works. See `ClientSettings#set`
194
- | (T extends DataModel.AnyConstructor ? DataModel.ConstructorDataFor<InstanceType<T>> : never)
198
+ // Note(LukeAbby): This doesn't use `InstanceType` because of this TypeScript issue: https://github.com/microsoft/TypeScript/issues/60839
199
+ | (T extends (abstract new (...args: infer _1) => infer Instance extends DataModel.Any)
200
+ ? DataModel.ConstructorDataFor<Instance>
201
+ : never)
195
202
  >;
196
203
 
197
- type SettingInitializedType<N extends Namespace, K extends Key> = ToSettingInitializedType<ConfiguredType<N, K>>;
204
+ type SettingInitializedType<N extends Namespace, K extends KeyFor<N>> = ToSettingInitializedType<
205
+ ConfiguredType<N, K>
206
+ >;
198
207
  type ToSettingInitializedType<T extends Type> = ReplaceUndefinedWithNull<
199
208
  SettingType<T> | (T extends DataModel.Any ? T : never)
200
209
  >;
@@ -261,7 +270,7 @@ declare global {
261
270
  /**
262
271
  * A Client Setting
263
272
  * @remarks Copied from `resources/app/common/types.mjs`
264
- * @remarks Not to be confused with {@link globalThis.SettingConfig} which is how you register setting types in this project
273
+ * @remarks Not to be confused with {@link globalThis.SettingConfig | `globalThis.SettingConfig`} which is how you register setting types in this project
265
274
  */
266
275
  interface SettingConfig<T extends Type = (value: unknown) => unknown>
267
276
  extends _SettingConfig<ToRuntimeType<T>, ToSettingAssignmentType<T>> {}
@@ -290,20 +299,36 @@ declare global {
290
299
  icon?: string | undefined;
291
300
 
292
301
  /** The FormApplication or ApplicationV2 to render */
293
- type:
294
- | (new () => FormApplication.Any)
295
- | (new (options?: DeepPartial<ApplicationV2.Configuration>) => ApplicationV2.Any);
302
+ // In SettingsConfig#_onClickSubmenu this type is constructed and not given any options.
303
+ type: (new () => FormApplication.Any) | (new () => ApplicationV2.Any);
296
304
 
297
305
  /** If true, only a GM can edit this Setting */
298
306
  restricted?: boolean | undefined;
299
307
  }
300
308
 
301
- type RegisterSubmenu = Omit<SettingSubmenuConfig, "key" | "namespace">;
309
+ interface RegisterSubmenu {
310
+ /** The human readable name */
311
+ name: string;
302
312
 
303
- /**
304
- * @deprecated - {@link globalThis.SettingConfig | `SettingConfig`}
305
- */
306
- interface Values extends globalThis.SettingConfig {}
313
+ /** The human readable label */
314
+ label: string;
315
+
316
+ /** An additional human readable hint */
317
+ hint: string;
318
+
319
+ /** The classname of an Icon to render */
320
+ icon: string;
321
+
322
+ /**
323
+ * The FormApplication class to render
324
+ *
325
+ * @privateRemarks The phrase "TODO better typing" in the original documentation was stripped.
326
+ */
327
+ type: (new () => FormApplication.Any) | (new () => ApplicationV2.Any);
328
+
329
+ /** If true, only a GM can edit this Setting */
330
+ restricted: boolean;
331
+ }
307
332
  }
308
333
  }
309
334
 
@@ -325,7 +350,7 @@ type PRIMITIVE_TYPES = readonly [
325
350
  // Foundry prioritizes the constructor over the function unless it's in `Setting#PRIMITIVE_TYPES`.
326
351
  type ConstructorToSettingType<T extends SettingConstructor> = T extends PRIMITIVE_TYPES[number]
327
352
  ? PrimitiveConstructorToSettingType<T>
328
- : InstanceType<T>;
353
+ : FixedInstanceType<T>;
329
354
 
330
355
  // In theory this is just the `ReturnType<T>`.
331
356
  // However the function end of `Array` returns `any[]` while `Object` returns `any`.
@@ -336,15 +361,18 @@ type PrimitiveConstructorToSettingType<T extends PRIMITIVE_TYPES[number]> = T ex
336
361
  ? AnyObject
337
362
  : ReturnType<T>;
338
363
 
364
+ // The `& keyof SettingConfig` is necessary because otherwise the fact that `K` depends on `N`
365
+ // will confuse TypeScript and make it think that `${N}.${K}` can be invalid keys like
366
+ // "core.moduleSetting" but in reality that would be disallowed by the dependent constraint of `K`.
339
367
  type ConfiguredType<
340
368
  N extends ClientSettings.Namespace,
341
- K extends ClientSettings.Key,
342
- > = _SettingConfigRecord[`${N}.${K}`];
369
+ K extends ClientSettings.KeyFor<N>,
370
+ > = globalThis.SettingConfig[`${N}.${K}` & keyof SettingConfig];
343
371
 
344
372
  type SettingType<T extends ClientSettings.Type> =
345
373
  // Note(LukeAbby): This isn't written as `T extends ClientSettings.TypeScriptType ? T : never` because then types like `DataField.Any` would be matched.
346
374
  | (T extends ClientSettings.RuntimeType ? never : T)
347
- // TODO(LukeAbby): The `validate` function is called with `strict` which changes how fallback behaviour works. See `ClientSettings#set`
375
+ // TODO(LukeAbby): The `validate` function is called with `strict` which changes how fallback behavior works. See `ClientSettings#set`
348
376
  | (T extends DataField.Any ? DataField.AssignmentTypeFor<T> : never)
349
377
  | (T extends SettingConstructor ? ConstructorToSettingType<T> : T extends SettingFunction ? ReturnType<T> : never);
350
378
 
@@ -352,10 +380,6 @@ type SettingType<T extends ClientSettings.Type> =
352
380
  type ReplaceUndefinedWithNull<T> = T extends undefined ? null : T;
353
381
 
354
382
  type GetNamespaces<SettingPath extends PropertyKey> = SettingPath extends `${infer Scope}.${string}` ? Scope : never;
355
- type GetKeys<SettingPath extends PropertyKey> = SettingPath extends `${string}.${infer Name}` ? Name : never;
356
-
357
- type _SettingConfigRecord = ConformRecord<
358
- // Refers to the deprecated interface so that merging works both ways.
359
- ClientSettings.Values,
360
- ClientSettings.Type
361
- >;
383
+ type GetKeys<N extends string, SettingPath extends PropertyKey> = SettingPath extends `${N}.${infer Name}`
384
+ ? Name
385
+ : never;
@@ -1,4 +1,4 @@
1
- import type { AnyObject } from "../../../types/utils.d.mts";
1
+ import type { AnyObject } from "#utils";
2
2
  import type { DatabaseOperationMap, DocumentSocketRequest } from "../../common/abstract/_types.d.mts";
3
3
 
4
4
  declare global {
@@ -11,7 +11,7 @@ declare global {
11
11
  */
12
12
  static dispatch<DatabaseAction extends keyof DatabaseOperationMap>(
13
13
  eventName: string,
14
- request: DocumentSocketRequest<DatabaseAction> | ManageCompendiumRequest,
14
+ request: DocumentSocketRequest<DatabaseAction> | CompendiumCollection.ManageCompendiumRequest,
15
15
  ): Promise<SocketInterface.SocketResponse>;
16
16
  }
17
17
 
@@ -1,4 +1,4 @@
1
- import type { InexactPartial } from "../../../types/utils.d.mts";
1
+ export {};
2
2
 
3
3
  declare global {
4
4
  /**
@@ -25,7 +25,7 @@ declare global {
25
25
  */
26
26
  static performIntegerSort<T, SortKey extends string = "sort">(
27
27
  source: T,
28
- options?: InexactPartial<SortingHelpers.SortOptions<T, SortKey>>,
28
+ options?: SortingHelpers.SortOptions<T, SortKey>,
29
29
  ): Array<{
30
30
  target: T;
31
31
  update: {
@@ -50,19 +50,19 @@ declare global {
50
50
  * The target object relative which to sort
51
51
  * @defaultValue `null`
52
52
  */
53
- target: T | null;
53
+ target?: T | null | undefined;
54
54
 
55
55
  /**
56
56
  * The sorted Array of siblings which share the same sorted container
57
57
  * @defaultValue `[]`
58
58
  */
59
- siblings: T[];
59
+ siblings?: T[] | undefined;
60
60
 
61
61
  /**
62
62
  * The name of the data property within the source object which defines the sort key
63
63
  * @defaultValue `"sort"`
64
64
  */
65
- sortKey: SortKey;
65
+ sortKey?: SortKey | undefined;
66
66
 
67
67
  /**
68
68
  * Whether to explicitly sort before (true) or sort after (false). If nothing is passed
@@ -70,7 +70,7 @@ declare global {
70
70
  *
71
71
  * @defaultValue `true`
72
72
  */
73
- sortBefore: boolean;
73
+ sortBefore?: boolean | undefined;
74
74
  }
75
75
  }
76
76
  }
@@ -1,8 +1,8 @@
1
- import type Document from "../../common/abstract/document.d.mts";
1
+ export {};
2
2
 
3
3
  declare global {
4
4
  /**
5
- * A singleton class {@link game#time} which keeps the official Server and World time stamps.
5
+ * A singleton class {@link game.time | `game#time`} which keeps the official Server and World time stamps.
6
6
  * Uses a basic implementation of https://www.geeksforgeeks.org/cristians-algorithm/ for synchronization.
7
7
  */
8
8
  class GameTime {
@@ -48,7 +48,10 @@ declare global {
48
48
  * @param options - Additional options passed to game.settings.set
49
49
  * @returns The new game time
50
50
  */
51
- advance(seconds: number, options?: Document.OnUpsertOptions<"Setting">): Promise<number>;
51
+ advance(
52
+ seconds: number,
53
+ options?: Setting.Database.CreateOperation<false | undefined> | Setting.Database.UpdateOperation,
54
+ ): Promise<number>;
52
55
 
53
56
  /**
54
57
  * Synchronize the local client game time with the official time kept by the server
@@ -1,11 +1,11 @@
1
- import type { ValueOf } from "../../../types/utils.d.mts";
1
+ import type { ValueOf } from "#utils";
2
2
 
3
3
  declare global {
4
4
  /**
5
5
  * A singleton Tooltip Manager class responsible for rendering and positioning a dynamic tooltip element which is
6
6
  * accessible as `game.tooltip`.
7
7
  *
8
- * @see {@link Game.tooltip}
8
+ * @see {@link Game.tooltip | `Game.tooltip`}
9
9
  *
10
10
  * @example API Usage
11
11
  * ```typescript
@@ -1,67 +1,73 @@
1
- import type { ValueOf } from "../../../types/utils.d.mts";
1
+ import type { ValueOf } from "#utils";
2
2
 
3
3
  export { Tour };
4
4
 
5
5
  declare global {
6
- /** A step in a Tour */
7
- interface TourStep {
8
- /** A machine-friendly id of the Tour Step */
9
- id: string;
6
+ /** @deprecated {@link Tour.Step | `Tour.Step`} */
7
+ type TourStep = Tour.Step;
10
8
 
11
- /** A DOM selector which denotes an element to highlight during this step */
12
- selector?: string;
9
+ /** @deprecated {@link Tour.Config | `Tour.Config`} */
10
+ type TourConfig = Tour.Config;
13
11
 
14
- /** The title of the step, displayed in the tooltip header */
15
- title: string;
12
+ namespace Tour {
13
+ type STATUS = ValueOf<typeof Tour.STATUS>;
16
14
 
17
- /** Raw HTML content displayed during the step */
18
- content: string;
15
+ /** A step in a Tour */
16
+ interface Step {
17
+ /** A machine-friendly id of the Tour Step */
18
+ id: string;
19
19
 
20
- /** How the tooltip for the step should be displayed relative to the target elemen */
21
- tooltipDirection?: TooltipManager.TOOLTIP_DIRECTIONS;
20
+ /** A DOM selector which denotes an element to highlight during this step */
21
+ selector?: string;
22
22
 
23
- /** Whether the Step is restricted to the GM only */
24
- restricted?: boolean;
25
- }
23
+ /** The title of the step, displayed in the tooltip header */
24
+ title: string;
26
25
 
27
- /** Tour configuration data */
28
- interface TourConfig {
29
- /** The namespace this Tour belongs to. Typically, the name of the package which implements the tour should be used */
30
- namespace?: string;
26
+ /** Raw HTML content displayed during the step */
27
+ content: string;
31
28
 
32
- /** A machine-friendly id of the Tour, must be unique within the provided namespace */
33
- id?: string;
29
+ /** How the tooltip for the step should be displayed relative to the target elemen */
30
+ tooltipDirection?: TooltipManager.TOOLTIP_DIRECTIONS;
34
31
 
35
- /** A human-readable name for this Tour */
36
- title: string;
32
+ /** Whether the Step is restricted to the GM only */
33
+ restricted?: boolean;
34
+ }
37
35
 
38
- /** A human-readable description of this Tour */
39
- description?: string;
36
+ /** Tour configuration data */
37
+ interface Config {
38
+ /** The namespace this Tour belongs to. Typically, the name of the package which implements the tour should be used */
39
+ namespace?: string;
40
40
 
41
- /** The list of Tour Steps */
42
- steps: TourStep[];
41
+ /** A machine-friendly id of the Tour, must be unique within the provided namespace */
42
+ id?: string;
43
43
 
44
- /** A map of translations for the Tour that should be merged into the default translations */
45
- localization?: Localization.Translations;
44
+ /** A human-readable name for this Tour */
45
+ title: string;
46
46
 
47
- /** Whether the Tour is restricted to the GM only */
48
- restricted?: boolean;
47
+ /** A human-readable description of this Tour */
48
+ description?: string;
49
49
 
50
- /** Whether the Tour should be displayed in the Manage Tours UI */
51
- display?: boolean;
50
+ /** The list of Tour Steps */
51
+ steps: Tour.Step[];
52
52
 
53
- /** Whether the Tour can be resumed or if it always needs to start from the beginning */
54
- canBeResumed?: boolean;
53
+ /** A map of translations for the Tour that should be merged into the default translations */
54
+ localization?: Localization.Translations;
55
55
 
56
- /**
57
- * A list of namespaced Tours that might be suggested to the user when this Tour is completed.
58
- * The first non-completed Tour in the array will be recommended.
59
- */
60
- suggestedNextTours?: string[];
61
- }
56
+ /** Whether the Tour is restricted to the GM only */
57
+ restricted?: boolean;
62
58
 
63
- namespace Tour {
64
- type STATUS = ValueOf<typeof Tour.STATUS>;
59
+ /** Whether the Tour should be displayed in the Manage Tours UI */
60
+ display?: boolean;
61
+
62
+ /** Whether the Tour can be resumed or if it always needs to start from the beginning */
63
+ canBeResumed?: boolean;
64
+
65
+ /**
66
+ * A list of namespaced Tours that might be suggested to the user when this Tour is completed.
67
+ * The first non-completed Tour in the array will be recommended.
68
+ */
69
+ suggestedNextTours?: string[];
70
+ }
65
71
  }
66
72
 
67
73
  /**
@@ -71,11 +77,14 @@ declare global {
71
77
  /**
72
78
  * @param config - The configuration of the Tour
73
79
  */
74
- constructor(config: TourConfig, { id, namespace }?: { id?: TourConfig["id"]; namespace?: TourConfig["namespace"] });
80
+ constructor(
81
+ config: Tour.Config,
82
+ { id, namespace }?: { id?: Tour.Config["id"]; namespace?: Tour.Config["namespace"] },
83
+ );
75
84
  /**
76
85
  * The configuration of the tour. Cloned to avoid mutating the original configuration.
77
86
  */
78
- config: TourConfig;
87
+ config: Tour.Config;
79
88
 
80
89
  static STATUS: Readonly<{
81
90
  UNSTARTED: "unstarted";
@@ -152,12 +161,12 @@ declare global {
152
161
  /**
153
162
  * The configuration of tour steps
154
163
  */
155
- get steps(): TourStep[];
164
+ get steps(): Tour.Step[];
156
165
 
157
166
  /**
158
167
  * Return the current Step, or null if the tour has not yet started.
159
168
  */
160
- get currentStep(): TourStep | null;
169
+ get currentStep(): Tour.Step | null;
161
170
 
162
171
  /**
163
172
  * The index of the current step; -1 if the tour has not yet started, or null if the tour is finished.
@@ -165,12 +174,12 @@ declare global {
165
174
  get stepIndex(): number | null;
166
175
 
167
176
  /**
168
- * Returns True if there is a next TourStep
177
+ * Returns True if there is a next Tour.Step
169
178
  */
170
179
  get hasNext(): boolean;
171
180
 
172
181
  /**
173
- * Returns True if there is a previous TourStep
182
+ * Returns True if there is a previous Tour.Step
174
183
  */
175
184
  get hasPrevious(): boolean;
176
185
 
@@ -3,7 +3,7 @@ export {};
3
3
  declare global {
4
4
  /**
5
5
  * A singleton Tour Collection class responsible for registering and activating Tours, accessible as game.tours
6
- * @see {@link Game.tours}
6
+ * @see {@link Game.tours | `Game.tours`}
7
7
  */
8
8
  class Tours extends foundry.utils.Collection<Tour> {
9
9
  /** @throws `"You can only have one TourManager instance"` */
@@ -1,4 +1,29 @@
1
- import type { GetKey } from "../../../types/helperTypes.d.mts";
1
+ import type { AnyObject, MustBeValidUuid } from "#utils";
2
+ import type Document from "../../common/abstract/document.d.mts";
3
+
4
+ declare const __Unset: unique symbol;
5
+
6
+ type __UnsetDocument = Document.Any & {
7
+ [__Unset]: true;
8
+ };
9
+
10
+ declare class InvalidUuid extends foundry.abstract.Document<any, any, any> {}
11
+
12
+ type FromUuid<Uuid extends string> = Uuid extends `${string}.${string}.${infer Rest}`
13
+ ? FromUuid<Rest>
14
+ : Uuid extends `${infer DocumentType extends Document.Type}.${string}`
15
+ ? Document.ImplementationFor<DocumentType>
16
+ : InvalidUuid;
17
+
18
+ // TODO(LukeAbby): The usage of `Document.Type` when it's unset will not be necessary once `Document.Any` is more type safe.
19
+ type FromUuidValidate<
20
+ ConcreteDocument extends Document.Any,
21
+ Uuid extends string,
22
+ > = __UnsetDocument extends ConcreteDocument
23
+ ? MustBeValidUuid<Uuid, Document.Type>
24
+ : string extends Uuid
25
+ ? string
26
+ : MustBeValidUuid<Uuid, ConcreteDocument["documentName"]>;
2
27
 
3
28
  declare global {
4
29
  /**
@@ -21,15 +46,15 @@ declare global {
21
46
  * @param uuid - The uuid of the Entity or Embedded Entity to retrieve
22
47
  * @param options - Options to configure how a UUID is resolved.
23
48
  */
24
- function fromUuid(
25
- uuid: string,
49
+ function fromUuid<ConcreteDocument extends Document.Any = __UnsetDocument, const Uuid extends string = string>(
50
+ uuid: FromUuidValidate<ConcreteDocument, Uuid> | null | undefined,
26
51
  options?: {
27
52
  /** A Document to resolve relative UUIDs against. */
28
53
  relative?: ClientDocument;
29
54
  /** Allow retrieving an invalid Document. (default: `false`) */
30
55
  invalid?: boolean;
31
56
  },
32
- ): Promise<foundry.abstract.Document.Any | null>;
57
+ ): Promise<(__UnsetDocument extends ConcreteDocument ? FromUuid<Uuid> : ConcreteDocument) | null>;
33
58
 
34
59
  /**
35
60
  * Retrieve a Document by its Universally Unique Identifier (uuid) synchronously. If the uuid resolves to a compendium
@@ -39,8 +64,8 @@ declare global {
39
64
  * @returns The Document or its index entry if it resides in a Compendium, otherwise null.
40
65
  * @throws If the uuid resolves to a Document that cannot be retrieved synchronously.
41
66
  */
42
- function fromUuidSync(
43
- uuid: string,
67
+ function fromUuidSync<ConcreteDocument extends Document.Any = __UnsetDocument, const Uuid extends string = string>(
68
+ uuid: FromUuidValidate<ConcreteDocument, Uuid> | null | undefined,
44
69
  options?: {
45
70
  /** A Document to resolve relative UUIDs against. */
46
71
  relative?: ClientDocument;
@@ -49,7 +74,7 @@ declare global {
49
74
  /** Throw an error if the UUID cannot be resolved synchronously. (default: `true`) */
50
75
  strict?: boolean;
51
76
  },
52
- ): foundry.abstract.Document.Any | Record<string, unknown> | null;
77
+ ): (__UnsetDocument extends ConcreteDocument ? FromUuid<Uuid> : ConcreteDocument) | AnyObject | null;
53
78
 
54
79
  /**
55
80
  * Resolve a series of embedded document UUID parts against a parent Document.
@@ -65,7 +90,5 @@ declare global {
65
90
  * @param documentName - The canonical Document name, for example "Actor"
66
91
  * @returns configured Document class implementation
67
92
  */
68
- function getDocumentClass<DocumentName extends string>(
69
- documentName: DocumentName,
70
- ): GetKey<GetKey<CONFIG, DocumentName, never>, "documentClass", undefined>;
93
+ function getDocumentClass<Name extends Document.Type>(documentName: Name): Document.ImplementationClassFor<Name>;
71
94
  }
@@ -1,4 +1,4 @@
1
- export {};
1
+ import "youtube";
2
2
 
3
3
  declare global {
4
4
  /**
@@ -1,16 +1,11 @@
1
- import type { ValueOf } from "../../../types/utils.d.mts";
1
+ import type { AnyArray, ValueOf } from "#utils";
2
2
 
3
3
  // TODO: smarter types for named functions
4
4
  declare global {
5
- interface WorkerTask {
6
- [key: string]: unknown;
7
-
8
- /** An incrementing task ID used to reference task progress */
9
- taskId?: number;
10
-
11
- /** The task action being performed, from WorkerManager.WORKER_TASK_ACTIONS */
12
- action: ValueOf<typeof WorkerManager.WORKER_TASK_ACTIONS>;
13
- }
5
+ /**
6
+ * @deprecated {@link AsyncWorker.WorkerTask | `AsyncWorker.WorkerTask`}
7
+ */
8
+ type WorkerTask = AsyncWorker.WorkerTask;
14
9
 
15
10
  /**
16
11
  * An asynchronous web Worker which can load user-defined functions and await execution using Promises.
@@ -18,7 +13,7 @@ declare global {
18
13
  * @param options - Worker initialization options (default: `{}`)
19
14
  */
20
15
  class AsyncWorker extends Worker {
21
- constructor(name: string, options?: Partial<AsyncWorker.Options>);
16
+ constructor(name: string, options?: AsyncWorker.Options);
22
17
 
23
18
  name: string;
24
19
 
@@ -59,13 +54,25 @@ declare global {
59
54
  * (default: `[]`)
60
55
  * @returns A Promise which resolves with the returned result of the function once complete.
61
56
  */
62
- executeFunction(functionName: string, args?: any[], transfer?: any[]): Promise<unknown>;
57
+ executeFunction(functionName: string, args?: AnyArray, transfer?: AnyArray): Promise<unknown>;
58
+ }
59
+
60
+ namespace AsyncWorker {
61
+ interface WorkerTask {
62
+ [key: string]: unknown;
63
+
64
+ /** An incrementing task ID used to reference task progress */
65
+ taskId?: number;
66
+
67
+ /** The task action being performed, from WorkerManager.WORKER_TASK_ACTIONS */
68
+ action: ValueOf<typeof WorkerManager.WORKER_TASK_ACTIONS>;
69
+ }
63
70
  }
64
71
 
65
72
  /**
66
73
  * A client-side class responsible for managing a set of web workers.
67
74
  * This interface is accessed as a singleton instance via game.workers.
68
- * @see Game#workers
75
+ * @see {@link Game.workers | `Game#workers`}
69
76
  */
70
77
  class WorkerManager extends Map<string, AsyncWorker> {
71
78
  constructor();
@@ -89,7 +96,7 @@ declare global {
89
96
 
90
97
  /**
91
98
  * Retire a current Worker, terminating it immediately.
92
- * @see {@link Worker#terminate}
99
+ * @see {@link Worker.terminate | `Worker#terminate`}
93
100
  * @param name - The named worker to terminate
94
101
  */
95
102
  retireWorker(name: string): void;
@@ -111,18 +118,18 @@ declare global {
111
118
  * Should the worker run in debug mode?
112
119
  * @defaultValue `false`
113
120
  */
114
- debug: boolean;
121
+ debug?: boolean | undefined;
115
122
 
116
123
  /**
117
124
  * Should the worker automatically load the primitives library?
118
125
  * @defaultValue `false`
119
126
  */
120
- loadPrimitives: boolean;
127
+ loadPrimitives?: boolean | undefined;
121
128
 
122
129
  /**
123
130
  * Should the worker operates in script modes? Optional scripts.
124
131
  */
125
- scripts: string[];
132
+ scripts?: string[] | undefined;
126
133
  }
127
134
  }
128
135
  }