@league-of-foundry-developers/foundry-vtt-types 12.331.2-beta → 13.340.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (695) hide show
  1. package/README.md +13 -17
  2. package/package.json +84 -41
  3. package/src/configuration/configuration.d.mts +315 -0
  4. package/src/configuration/globals.d.mts +349 -0
  5. package/src/configuration/index.d.mts +4 -0
  6. package/src/foundry/client/apps/app.d.mts +10 -5
  7. package/src/foundry/client/apps/av/av-config.d.mts +2 -2
  8. package/src/foundry/client/apps/av/cameras.d.mts +7 -2
  9. package/src/foundry/client/apps/dice/dice-config.d.mts +45 -0
  10. package/src/foundry/client/apps/dice/index.d.mts +1 -0
  11. package/src/foundry/client/apps/form.d.mts +13 -4
  12. package/src/foundry/client/apps/forms/actor.d.mts +4 -4
  13. package/src/foundry/client/apps/forms/adventure-exporter.d.mts +1 -1
  14. package/src/foundry/client/apps/forms/adventure-importer.d.mts +1 -1
  15. package/src/foundry/client/apps/forms/base-sheet.d.mts +7 -6
  16. package/src/foundry/client/apps/forms/card-config.d.mts +8 -8
  17. package/src/foundry/client/apps/forms/cards-config.d.mts +5 -4
  18. package/src/foundry/client/apps/forms/combat-config.d.mts +1 -1
  19. package/src/foundry/client/apps/forms/combatant-config.d.mts +1 -1
  20. package/src/foundry/client/apps/forms/effect-config.d.mts +1 -1
  21. package/src/foundry/client/apps/forms/folder-config.d.mts +1 -1
  22. package/src/foundry/client/apps/forms/fonts.d.mts +1 -1
  23. package/src/foundry/client/apps/forms/grid-config.d.mts +3 -8
  24. package/src/foundry/client/apps/forms/image-popout.d.mts +1 -1
  25. package/src/foundry/client/apps/forms/item.d.mts +8 -8
  26. package/src/foundry/client/apps/forms/journal-page-sheet.d.mts +1 -1
  27. package/src/foundry/client/apps/forms/journal-sheet.d.mts +4 -3
  28. package/src/foundry/client/apps/forms/macro-config.d.mts +2 -2
  29. package/src/foundry/client/apps/forms/measure-template.d.mts +8 -10
  30. package/src/foundry/client/apps/forms/ownership.d.mts +1 -1
  31. package/src/foundry/client/apps/forms/playlist-config.d.mts +1 -1
  32. package/src/foundry/client/apps/forms/playlist-sound-config.d.mts +1 -1
  33. package/src/foundry/client/apps/forms/roll-table-config.d.mts +5 -3
  34. package/src/foundry/client/apps/forms/scene-config.d.mts +5 -6
  35. package/src/foundry/client/apps/forms/sheet-config.d.mts +6 -18
  36. package/src/foundry/client/apps/forms/user-config.d.mts +6 -5
  37. package/src/foundry/client/apps/hud/chatbubble.d.mts +7 -0
  38. package/src/foundry/client/apps/hud/container.d.mts +1 -1
  39. package/src/foundry/client/apps/hud/controls.d.mts +6 -1
  40. package/src/foundry/client/apps/hud/hotbar.d.mts +9 -4
  41. package/src/foundry/client/apps/hud/hud.d.mts +1 -1
  42. package/src/foundry/client/apps/hud/menu.d.mts +8 -1
  43. package/src/foundry/client/apps/hud/navigation.d.mts +8 -3
  44. package/src/foundry/client/apps/hud/pause.d.mts +7 -2
  45. package/src/foundry/client/apps/hud/players.d.mts +8 -3
  46. package/src/foundry/client/apps/i18n.d.mts +16 -13
  47. package/src/foundry/client/apps/index.d.mts +1 -0
  48. package/src/foundry/client/apps/placeables/drawing-config.d.mts +1 -1
  49. package/src/foundry/client/apps/placeables/drawing-hud.d.mts +1 -1
  50. package/src/foundry/client/apps/placeables/light-config.d.mts +4 -4
  51. package/src/foundry/client/apps/placeables/note-config.d.mts +3 -3
  52. package/src/foundry/client/apps/placeables/sound-config.d.mts +4 -3
  53. package/src/foundry/client/apps/placeables/tile-config.d.mts +2 -2
  54. package/src/foundry/client/apps/placeables/tile-hud.d.mts +7 -2
  55. package/src/foundry/client/apps/placeables/token-config.d.mts +16 -4
  56. package/src/foundry/client/apps/placeables/token-hud.d.mts +7 -2
  57. package/src/foundry/client/apps/placeables/wall-config.d.mts +4 -3
  58. package/src/foundry/client/apps/sidebar/apps/client-settings.d.mts +1 -1
  59. package/src/foundry/client/apps/sidebar/apps/compendium.d.mts +6 -7
  60. package/src/foundry/client/apps/sidebar/apps/keybindings-config.d.mts +2 -1
  61. package/src/foundry/client/apps/sidebar/apps/module-management.d.mts +1 -1
  62. package/src/foundry/client/apps/sidebar/apps/permission-config.d.mts +1 -1
  63. package/src/foundry/client/apps/sidebar/apps/support-details.d.mts +1 -1
  64. package/src/foundry/client/apps/sidebar/apps/tours-management.d.mts +1 -1
  65. package/src/foundry/client/apps/sidebar/apps/world-config.d.mts +1 -1
  66. package/src/foundry/client/apps/sidebar/directory-tab-mixin.d.mts +12 -5
  67. package/src/foundry/client/apps/sidebar/document-directory.d.mts +12 -5
  68. package/src/foundry/client/apps/sidebar/package-configuration.d.mts +1 -1
  69. package/src/foundry/client/apps/sidebar/sidebar.d.mts +7 -2
  70. package/src/foundry/client/apps/sidebar/tabs/actors-directory.d.mts +10 -1
  71. package/src/foundry/client/apps/sidebar/tabs/cards-directory.d.mts +10 -1
  72. package/src/foundry/client/apps/sidebar/tabs/chat-log.d.mts +8 -1
  73. package/src/foundry/client/apps/sidebar/tabs/combat-tracker.d.mts +10 -1
  74. package/src/foundry/client/apps/sidebar/tabs/compendium-directory.d.mts +15 -9
  75. package/src/foundry/client/apps/sidebar/tabs/items-directory.d.mts +10 -1
  76. package/src/foundry/client/apps/sidebar/tabs/journal-directory.d.mts +10 -1
  77. package/src/foundry/client/apps/sidebar/tabs/macros-directory.d.mts +9 -0
  78. package/src/foundry/client/apps/sidebar/tabs/playlists-directory.d.mts +16 -8
  79. package/src/foundry/client/apps/sidebar/tabs/roll-table-directory.d.mts +10 -1
  80. package/src/foundry/client/apps/sidebar/tabs/scenes-directory.d.mts +11 -2
  81. package/src/foundry/client/apps/sidebar/tabs/settings.d.mts +19 -1
  82. package/src/foundry/client/apps/templates.d.mts +5 -1
  83. package/src/foundry/client/av/client.d.mts +1 -1
  84. package/src/foundry/client/av/clients/simplepeer.d.mts +11 -1
  85. package/src/foundry/client/av/master.d.mts +2 -2
  86. package/src/foundry/client/av/settings.d.mts +1 -2
  87. package/src/foundry/client/config.d.mts +201 -198
  88. package/src/foundry/client/core/hooks.d.mts +2 -2
  89. package/src/foundry/client/core/image.d.mts +81 -33
  90. package/src/foundry/client/core/keybindings.d.mts +2 -2
  91. package/src/foundry/client/core/packages.d.mts +9 -2
  92. package/src/foundry/client/core/settings.d.mts +34 -31
  93. package/src/foundry/client/core/socket.d.mts +1 -1
  94. package/src/foundry/client/core/sorting.d.mts +1 -1
  95. package/src/foundry/client/core/tooltip.d.mts +1 -1
  96. package/src/foundry/client/core/tour.d.mts +1 -1
  97. package/src/foundry/client/core/utils.d.mts +33 -10
  98. package/src/foundry/client/core/video.d.mts +1 -1
  99. package/src/foundry/client/core/workers.d.mts +1 -1
  100. package/src/foundry/client/data/abstract/canvas-document.d.mts +25 -15
  101. package/src/foundry/client/data/abstract/client-document.d.mts +48 -39
  102. package/src/foundry/client/data/abstract/directory-collection-mixin.d.mts +19 -13
  103. package/src/foundry/client/data/abstract/document-collection.d.mts +8 -8
  104. package/src/foundry/client/data/abstract/world-collection.d.mts +3 -5
  105. package/src/foundry/client/data/collections/actors.d.mts +10 -1
  106. package/src/foundry/client/data/collections/cards.d.mts +9 -0
  107. package/src/foundry/client/data/collections/combats.d.mts +10 -1
  108. package/src/foundry/client/data/collections/compendium-collection.d.mts +8 -37
  109. package/src/foundry/client/data/collections/compendium-packs.d.mts +2 -2
  110. package/src/foundry/client/data/collections/fog.d.mts +9 -0
  111. package/src/foundry/client/data/collections/folder.d.mts +9 -0
  112. package/src/foundry/client/data/collections/items.d.mts +9 -0
  113. package/src/foundry/client/data/collections/journal.d.mts +10 -1
  114. package/src/foundry/client/data/collections/macros.d.mts +10 -1
  115. package/src/foundry/client/data/collections/messages.d.mts +9 -0
  116. package/src/foundry/client/data/collections/playlists.d.mts +10 -1
  117. package/src/foundry/client/data/collections/scenes.d.mts +10 -1
  118. package/src/foundry/client/data/collections/settings.d.mts +9 -0
  119. package/src/foundry/client/data/collections/tables.d.mts +10 -1
  120. package/src/foundry/client/data/collections/users.d.mts +10 -1
  121. package/src/foundry/client/data/documents/active-effect.d.mts +43 -14
  122. package/src/foundry/client/data/documents/actor-delta.d.mts +4 -4
  123. package/src/foundry/client/data/documents/actor.d.mts +7 -4
  124. package/src/foundry/client/data/documents/adventure.d.mts +9 -8
  125. package/src/foundry/client/data/documents/ambient-light.d.mts +3 -2
  126. package/src/foundry/client/data/documents/ambient-sound.d.mts +3 -2
  127. package/src/foundry/client/data/documents/card.d.mts +4 -3
  128. package/src/foundry/client/data/documents/cards.d.mts +15 -20
  129. package/src/foundry/client/data/documents/chat-message.d.mts +4 -3
  130. package/src/foundry/client/data/documents/combat.d.mts +5 -4
  131. package/src/foundry/client/data/documents/combatant.d.mts +5 -4
  132. package/src/foundry/client/data/documents/drawing.d.mts +3 -2
  133. package/src/foundry/client/data/documents/fog-exploration.d.mts +13 -3
  134. package/src/foundry/client/data/documents/folder.d.mts +27 -9
  135. package/src/foundry/client/data/documents/index.d.mts +2 -0
  136. package/src/foundry/client/data/documents/item.d.mts +6 -2
  137. package/src/foundry/client/data/documents/journal-entry-page.d.mts +5 -4
  138. package/src/foundry/client/data/documents/journal-entry.d.mts +5 -4
  139. package/src/foundry/client/data/documents/macro.d.mts +5 -6
  140. package/src/foundry/client/data/documents/measured-template.d.mts +3 -2
  141. package/src/foundry/client/data/documents/note.d.mts +3 -2
  142. package/src/foundry/client/data/documents/playlist-sound.d.mts +4 -3
  143. package/src/foundry/client/data/documents/playlist.d.mts +13 -13
  144. package/src/foundry/client/data/documents/region-behavior.d.mts +78 -0
  145. package/src/foundry/client/data/documents/region.d.mts +160 -0
  146. package/src/foundry/client/data/documents/scene.d.mts +18 -10
  147. package/src/foundry/client/data/documents/setting.d.mts +3 -2
  148. package/src/foundry/client/data/documents/table-result.d.mts +3 -2
  149. package/src/foundry/client/data/documents/table.d.mts +5 -4
  150. package/src/foundry/client/data/documents/tile.d.mts +3 -2
  151. package/src/foundry/client/data/documents/token.d.mts +7 -16
  152. package/src/foundry/client/data/documents/user.d.mts +5 -4
  153. package/src/foundry/client/data/documents/wall.d.mts +3 -2
  154. package/src/foundry/client/game.d.mts +28 -21
  155. package/src/foundry/client/head.d.mts +12 -7
  156. package/src/foundry/client/hooks.d.mts +60 -41
  157. package/src/foundry/client/pixi/board.d.mts +21 -20
  158. package/src/foundry/client/pixi/core/containers/base-canvas-group.d.mts +95 -24
  159. package/src/foundry/client/pixi/core/containers/cached-container.d.mts +36 -18
  160. package/src/foundry/client/pixi/core/containers/full-canvas-container.d.mts +7 -10
  161. package/src/foundry/client/pixi/core/containers/point-source-mesh.d.mts +24 -14
  162. package/src/foundry/client/pixi/core/containers/quad-mesh.d.mts +15 -5
  163. package/src/foundry/client/pixi/core/containers/quadtree.d.mts +107 -50
  164. package/src/foundry/client/pixi/core/containers/sprite-mesh.d.mts +66 -23
  165. package/src/foundry/client/pixi/core/containers/unbound-container.d.mts +20 -2
  166. package/src/foundry/client/pixi/core/interaction/canvas-animation.d.mts +158 -99
  167. package/src/foundry/client/pixi/core/interaction/control-icon.d.mts +61 -22
  168. package/src/foundry/client/pixi/core/interaction/mouse-handler.d.mts +119 -52
  169. package/src/foundry/client/pixi/core/interaction/ping.d.mts +51 -28
  170. package/src/foundry/client/pixi/core/interaction/pings/chevron.d.mts +16 -8
  171. package/src/foundry/client/pixi/core/interaction/pings/pulse.d.mts +84 -33
  172. package/src/foundry/client/pixi/core/interaction/render-flags.d.mts +16 -7
  173. package/src/foundry/client/pixi/core/interaction/resize-handle.d.mts +35 -5
  174. package/src/foundry/client/pixi/core/interaction/targets.d.mts +19 -16
  175. package/src/foundry/client/pixi/core/loader.d.mts +85 -75
  176. package/src/foundry/client/pixi/core/shapes/limited-angle-polygon.d.mts +36 -16
  177. package/src/foundry/client/pixi/core/shapes/polygon-mesher.d.mts +92 -64
  178. package/src/foundry/client/pixi/core/shapes/precise-text.d.mts +28 -10
  179. package/src/foundry/client/pixi/core/shapes/ray.d.mts +27 -9
  180. package/src/foundry/client/pixi/core/shapes/source-polygon.d.mts +162 -72
  181. package/src/foundry/client/pixi/extensions/circle.d.mts +133 -122
  182. package/src/foundry/client/pixi/extensions/graphics.d.mts +3 -1
  183. package/src/foundry/client/pixi/extensions/observable-transform.d.mts +10 -2
  184. package/src/foundry/client/pixi/extensions/polygon.d.mts +155 -134
  185. package/src/foundry/client/pixi/extensions/rectangle.d.mts +266 -240
  186. package/src/foundry/client/pixi/groups/effects.d.mts +75 -24
  187. package/src/foundry/client/pixi/groups/environment.d.mts +68 -19
  188. package/src/foundry/client/pixi/groups/hidden.d.mts +27 -11
  189. package/src/foundry/client/pixi/groups/interface.d.mts +62 -38
  190. package/src/foundry/client/pixi/groups/overlay.d.mts +18 -6
  191. package/src/foundry/client/pixi/groups/primary.d.mts +64 -42
  192. package/src/foundry/client/pixi/groups/rendered.d.mts +18 -6
  193. package/src/foundry/client/pixi/layers/base/canvas-layer.d.mts +9 -13
  194. package/src/foundry/client/pixi/layers/base/interaction-layer.d.mts +18 -17
  195. package/src/foundry/client/pixi/layers/base/placeables-layer.d.mts +86 -98
  196. package/src/foundry/client/pixi/layers/controls/cursor.d.mts +1 -1
  197. package/src/foundry/client/pixi/layers/controls/door.d.mts +9 -0
  198. package/src/foundry/client/pixi/layers/controls/layer.d.mts +10 -8
  199. package/src/foundry/client/pixi/layers/controls/ruler.d.mts +1 -1
  200. package/src/foundry/client/pixi/layers/effects/background-effects.d.mts +6 -8
  201. package/src/foundry/client/pixi/layers/effects/coloration-effects.d.mts +4 -7
  202. package/src/foundry/client/pixi/layers/effects/darkness-effects.d.mts +3 -6
  203. package/src/foundry/client/pixi/layers/effects/illumination-effects.d.mts +4 -7
  204. package/src/foundry/client/pixi/layers/effects/visibility.d.mts +11 -8
  205. package/src/foundry/client/pixi/layers/effects/weather/particles/effect.d.mts +1 -1
  206. package/src/foundry/client/pixi/layers/effects/weather-effects.d.mts +5 -8
  207. package/src/foundry/client/pixi/layers/grid/highlight.d.mts +1 -1
  208. package/src/foundry/client/pixi/layers/grid/layer.d.mts +6 -8
  209. package/src/foundry/client/pixi/layers/grid/mesh.d.mts +1 -1
  210. package/src/foundry/client/pixi/layers/masks/depth.d.mts +11 -6
  211. package/src/foundry/client/pixi/layers/masks/occlusion.d.mts +18 -11
  212. package/src/foundry/client/pixi/layers/masks/vision.d.mts +100 -14
  213. package/src/foundry/client/pixi/layers/placeables/drawings.d.mts +3 -6
  214. package/src/foundry/client/pixi/layers/placeables/index.d.mts +1 -0
  215. package/src/foundry/client/pixi/layers/placeables/lighting.d.mts +4 -7
  216. package/src/foundry/client/pixi/layers/placeables/notes.d.mts +4 -6
  217. package/src/foundry/client/pixi/layers/placeables/regions.d.mts +100 -0
  218. package/src/foundry/client/pixi/layers/placeables/sounds.d.mts +4 -8
  219. package/src/foundry/client/pixi/layers/placeables/templates.d.mts +3 -6
  220. package/src/foundry/client/pixi/layers/placeables/tiles.d.mts +3 -5
  221. package/src/foundry/client/pixi/layers/placeables/tokens.d.mts +6 -10
  222. package/src/foundry/client/pixi/layers/placeables/walls.d.mts +9 -11
  223. package/src/foundry/client/pixi/perception/clockwise-sweep.d.mts +53 -24
  224. package/src/foundry/client/pixi/perception/detection-mode.d.mts +4 -2
  225. package/src/foundry/client/pixi/perception/fog.d.mts +9 -0
  226. package/src/foundry/client/pixi/perception/perception-manager.d.mts +1 -1
  227. package/src/foundry/client/pixi/perception/vision-mode.d.mts +31 -13
  228. package/src/foundry/client/pixi/perception/weiler-atherton-clipping.d.mts +77 -39
  229. package/src/foundry/client/pixi/placeable.d.mts +15 -7
  230. package/src/foundry/client/pixi/placeables/drawing.d.mts +10 -9
  231. package/src/foundry/client/pixi/placeables/index.d.mts +1 -0
  232. package/src/foundry/client/pixi/placeables/light.d.mts +8 -6
  233. package/src/foundry/client/pixi/placeables/note.d.mts +8 -7
  234. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-canvas-object.d.mts +29 -8
  235. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-graphics.d.mts +41 -11
  236. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-occludable-object.d.mts +59 -18
  237. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-sprite-mesh.d.mts +120 -37
  238. package/src/foundry/client/pixi/placeables/region.d.mts +177 -0
  239. package/src/foundry/client/pixi/placeables/sound.d.mts +7 -6
  240. package/src/foundry/client/pixi/placeables/template.d.mts +12 -11
  241. package/src/foundry/client/pixi/placeables/tile.d.mts +12 -10
  242. package/src/foundry/client/pixi/placeables/token.d.mts +149 -19
  243. package/src/foundry/client/pixi/placeables/wall.d.mts +11 -9
  244. package/src/foundry/client/pixi/webgl/extensions/batch-renderer.d.mts +50 -33
  245. package/src/foundry/client/pixi/webgl/extensions/batch-shader-generator.d.mts +9 -8
  246. package/src/foundry/client/pixi/webgl/helpers/{framebugger-snapshot.d.mts → framebuffer-snapshot.d.mts} +9 -8
  247. package/src/foundry/client/pixi/webgl/helpers/index.d.mts +1 -1
  248. package/src/foundry/client/pixi/webgl/helpers/smooth-noise.d.mts +30 -23
  249. package/src/foundry/client/pixi/webgl/helpers/texture-extractor.d.mts +82 -53
  250. package/src/foundry/client/pixi/webgl/shaders/base-shader-mixin.d.mts +10 -10
  251. package/src/foundry/client/pixi/webgl/shaders/base-shader.d.mts +45 -28
  252. package/src/foundry/client/pixi/webgl/shaders/filters/base-filter.d.mts +11 -10
  253. package/src/foundry/client/pixi/webgl/shaders/filters/base-mask-filter.d.mts +11 -9
  254. package/src/foundry/client/pixi/webgl/shaders/filters/blur.d.mts +21 -19
  255. package/src/foundry/client/pixi/webgl/shaders/filters/effects-masking.d.mts +33 -32
  256. package/src/foundry/client/pixi/webgl/shaders/filters/environment.d.mts +9 -8
  257. package/src/foundry/client/pixi/webgl/shaders/filters/glow-overlay.d.mts +11 -10
  258. package/src/foundry/client/pixi/webgl/shaders/filters/invisibility.d.mts +9 -8
  259. package/src/foundry/client/pixi/webgl/shaders/filters/outline-overlay.d.mts +11 -10
  260. package/src/foundry/client/pixi/webgl/shaders/filters/transition.d.mts +65 -58
  261. package/src/foundry/client/pixi/webgl/shaders/filters/visibility.d.mts +20 -16
  262. package/src/foundry/client/pixi/webgl/shaders/filters/vision-mask-filter.d.mts +13 -10
  263. package/src/foundry/client/pixi/webgl/shaders/filters/void.d.mts +9 -8
  264. package/src/foundry/client/pixi/webgl/shaders/filters/weather-occlusion-masks.d.mts +9 -8
  265. package/src/foundry/client/pixi/webgl/shaders/fragment-channel-mixin.d.mts +20 -14
  266. package/src/foundry/client/pixi/webgl/shaders/grid/grid.d.mts +11 -10
  267. package/src/foundry/client/pixi/webgl/shaders/lighting/background-lighting.d.mts +9 -8
  268. package/src/foundry/client/pixi/webgl/shaders/lighting/base-lighting.d.mts +32 -32
  269. package/src/foundry/client/pixi/webgl/shaders/lighting/coloration-lighting.d.mts +9 -8
  270. package/src/foundry/client/pixi/webgl/shaders/lighting/darkness-lighting.d.mts +9 -8
  271. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/bewitching-wave.d.mts +18 -16
  272. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/black-hole.d.mts +9 -8
  273. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/chroma.d.mts +9 -8
  274. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/emanation.d.mts +9 -8
  275. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/energy-field.d.mts +9 -8
  276. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fairy-light.d.mts +18 -16
  277. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/flame.d.mts +18 -16
  278. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fog.d.mts +9 -8
  279. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/force-grid.d.mts +9 -7
  280. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/ghost-light.d.mts +18 -16
  281. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/hexa-dome.d.mts +9 -8
  282. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/light-dome.d.mts +9 -8
  283. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/magical-gloom.d.mts +9 -8
  284. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/pulse.d.mts +18 -16
  285. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/radial-rainbow.d.mts +9 -8
  286. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/revolving-light.d.mts +9 -8
  287. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/roiling-mass.d.mts +9 -8
  288. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/siren-light.d.mts +18 -16
  289. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/smoke-patch.d.mts +19 -17
  290. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/star-light.d.mts +9 -8
  291. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/sunburst.d.mts +18 -16
  292. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/swirling-rainbow.d.mts +9 -9
  293. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/torch.d.mts +18 -16
  294. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/vortex.d.mts +18 -16
  295. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/wave.d.mts +18 -16
  296. package/src/foundry/client/pixi/webgl/shaders/lighting/illumination-lighting.d.mts +9 -8
  297. package/src/foundry/client/pixi/webgl/shaders/region/adjust-darkness-level.d.mts +70 -28
  298. package/src/foundry/client/pixi/webgl/shaders/region/base.d.mts +52 -8
  299. package/src/foundry/client/pixi/webgl/shaders/region/highlight.d.mts +68 -8
  300. package/src/foundry/client/pixi/webgl/shaders/samplers/base-sampler.d.mts +23 -24
  301. package/src/foundry/client/pixi/webgl/shaders/samplers/baseline-illumination.d.mts +9 -8
  302. package/src/foundry/client/pixi/webgl/shaders/samplers/color-adjustment.d.mts +37 -28
  303. package/src/foundry/client/pixi/webgl/shaders/samplers/depth.d.mts +20 -16
  304. package/src/foundry/client/pixi/webgl/shaders/samplers/fog-of-war.d.mts +9 -8
  305. package/src/foundry/client/pixi/webgl/shaders/samplers/occlusion.d.mts +19 -17
  306. package/src/foundry/client/pixi/webgl/shaders/samplers/primary.d.mts +9 -0
  307. package/src/foundry/client/pixi/webgl/shaders/samplers/token-ring.d.mts +29 -1
  308. package/src/foundry/client/pixi/webgl/shaders/vision/background-vision.d.mts +9 -8
  309. package/src/foundry/client/pixi/webgl/shaders/vision/base-vision.d.mts +10 -8
  310. package/src/foundry/client/pixi/webgl/shaders/vision/coloration-vision.d.mts +9 -8
  311. package/src/foundry/client/pixi/webgl/shaders/vision/effects/amplification.d.mts +9 -8
  312. package/src/foundry/client/pixi/webgl/shaders/vision/effects/wave.d.mts +18 -16
  313. package/src/foundry/client/pixi/webgl/shaders/vision/illumination-vision.d.mts +9 -8
  314. package/src/foundry/client/pixi/webgl/shaders/weather/base-weather.d.mts +37 -32
  315. package/src/foundry/client/pixi/webgl/shaders/weather/effect.d.mts +15 -14
  316. package/src/foundry/client/pixi/webgl/shaders/weather/fog.d.mts +16 -15
  317. package/src/foundry/client/pixi/webgl/shaders/weather/rain.d.mts +18 -17
  318. package/src/foundry/client/pixi/webgl/shaders/weather/snow.d.mts +14 -13
  319. package/src/foundry/client/pixi/workers/texture-worker.d.mts +33 -53
  320. package/src/foundry/client/ui/dialog.d.mts +136 -125
  321. package/src/foundry/client/ui/drag.d.mts +1 -1
  322. package/src/foundry/client/ui/dragdrop.d.mts +1 -1
  323. package/src/foundry/client/ui/editor.d.mts +3 -3
  324. package/src/foundry/client/ui/filepicker.d.mts +1 -1
  325. package/src/foundry/client/ui/filter.d.mts +2 -2
  326. package/src/foundry/client/ui/index.d.mts +0 -2
  327. package/src/foundry/client-esm/_module.d.mts +112 -0
  328. package/src/foundry/client-esm/_types.d.mts +8 -0
  329. package/src/foundry/client-esm/applications/_module.d.mts +10 -5
  330. package/src/foundry/client-esm/applications/_types.d.mts +2 -2
  331. package/src/foundry/client-esm/applications/api/_module.d.mts +6 -5
  332. package/src/foundry/client-esm/applications/api/application.d.mts +221 -55
  333. package/src/foundry/client-esm/applications/api/category-browser.d.mts +40 -0
  334. package/src/foundry/client-esm/applications/api/dialog.d.mts +152 -74
  335. package/src/foundry/client-esm/applications/api/document-sheet.d.mts +21 -8
  336. package/src/foundry/client-esm/applications/api/handlebars-application.d.mts +161 -131
  337. package/src/foundry/client-esm/applications/apps/_module.d.mts +9 -2
  338. package/src/foundry/client-esm/applications/apps/av/_module.d.mts +7 -0
  339. package/src/foundry/client-esm/applications/apps/av/camera-popout.d.mts +23 -0
  340. package/src/foundry/client-esm/applications/apps/av/cameras.d.mts +95 -0
  341. package/src/foundry/client-esm/applications/apps/combat-tracker-config.d.mts +21 -0
  342. package/src/foundry/client-esm/applications/apps/compendium-art-config.d.mts +6 -5
  343. package/src/foundry/client-esm/applications/apps/document-ownership.d.mts +21 -0
  344. package/src/foundry/client-esm/applications/apps/document-sheet-config.d.mts +24 -0
  345. package/src/foundry/client-esm/applications/apps/file-picker.d.mts +410 -0
  346. package/src/foundry/client-esm/applications/apps/grid-config.d.mts +25 -0
  347. package/src/foundry/client-esm/applications/apps/image-popout.d.mts +56 -0
  348. package/src/foundry/client-esm/applications/apps/permission-config.d.mts +4 -4
  349. package/src/foundry/client-esm/applications/dice/_module.d.mts +2 -2
  350. package/src/foundry/client-esm/applications/dice/roll-resolver.d.mts +14 -2
  351. package/src/foundry/client-esm/applications/elements/_module.d.mts +5 -2
  352. package/src/foundry/client-esm/applications/elements/codemirror/element.d.mts +16 -0
  353. package/src/foundry/client-esm/applications/elements/codemirror/extensions.d.mts +20 -0
  354. package/src/foundry/client-esm/applications/elements/codemirror/view.d.mts +8 -0
  355. package/src/foundry/client-esm/applications/elements/document-embed.d.mts +14 -0
  356. package/src/foundry/client-esm/applications/elements/document-tags.d.mts +2 -0
  357. package/src/foundry/client-esm/applications/elements/enriched-content.d.mts +29 -0
  358. package/src/foundry/client-esm/applications/elements/multi-select.d.mts +15 -5
  359. package/src/foundry/client-esm/applications/elements/prosemirror-editor.d.mts +1 -1
  360. package/src/foundry/client-esm/applications/elements/secret-block.d.mts +7 -0
  361. package/src/foundry/client-esm/applications/elements/string-tags.d.mts +1 -1
  362. package/src/foundry/client-esm/applications/forms/fields.d.mts +6 -1
  363. package/src/foundry/client-esm/applications/handlebars.d.mts +3 -0
  364. package/src/foundry/client-esm/applications/hud/_module.d.mts +10 -0
  365. package/src/foundry/client-esm/applications/hud/container.d.mts +15 -0
  366. package/src/foundry/client-esm/applications/hud/drawing-hud.d.mts +19 -0
  367. package/src/foundry/client-esm/applications/hud/placeable-hud.d.mts +41 -0
  368. package/src/foundry/client-esm/applications/hud/tile-hud.d.mts +19 -0
  369. package/src/foundry/client-esm/applications/hud/token-hud.d.mts +20 -0
  370. package/src/foundry/client-esm/applications/quickstart.d.mts +20 -0
  371. package/src/foundry/client-esm/applications/settings/_module.d.mts +7 -0
  372. package/src/foundry/client-esm/applications/settings/config.d.mts +21 -0
  373. package/src/foundry/client-esm/applications/settings/dependency-resolution.d.mts +19 -0
  374. package/src/foundry/client-esm/applications/settings/menus/_module.d.mts +11 -0
  375. package/src/foundry/client-esm/applications/settings/menus/av-config.d.mts +27 -0
  376. package/src/foundry/client-esm/applications/settings/menus/default-sheets-config.d.mts +19 -0
  377. package/src/foundry/client-esm/applications/settings/menus/dice-config.d.mts +18 -0
  378. package/src/foundry/client-esm/applications/settings/menus/font-config.d.mts +43 -0
  379. package/src/foundry/client-esm/applications/settings/menus/prototype-overrides.d.mts +21 -0
  380. package/src/foundry/client-esm/applications/settings/menus/ui-config.d.mts +26 -0
  381. package/src/foundry/client-esm/applications/sheets/_module.d.mts +30 -5
  382. package/src/foundry/client-esm/applications/sheets/active-effect-config.d.mts +25 -0
  383. package/src/foundry/client-esm/applications/sheets/actor-sheet.d.mts +1 -1
  384. package/src/foundry/client-esm/applications/sheets/adventure-exporter.d.mts +25 -0
  385. package/src/foundry/client-esm/applications/sheets/adventure-importer.d.mts +25 -0
  386. package/src/foundry/client-esm/applications/sheets/ambient-light-config.d.mts +9 -6
  387. package/src/foundry/client-esm/applications/sheets/ambient-sound-config.d.mts +3 -3
  388. package/src/foundry/client-esm/applications/sheets/base-sheet.d.mts +23 -0
  389. package/src/foundry/client-esm/applications/sheets/card-config.d.mts +25 -0
  390. package/src/foundry/client-esm/applications/sheets/cards-config.d.mts +49 -0
  391. package/src/foundry/client-esm/applications/sheets/combatant-config.d.mts +25 -0
  392. package/src/foundry/client-esm/applications/sheets/drawing-config.d.mts +25 -0
  393. package/src/foundry/client-esm/applications/sheets/folder-config.d.mts +25 -0
  394. package/src/foundry/client-esm/applications/sheets/item-sheet.d.mts +1 -1
  395. package/src/foundry/client-esm/applications/sheets/journal/_module.d.mts +16 -0
  396. package/src/foundry/client-esm/applications/sheets/journal/dialog-show.d.mts +19 -0
  397. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-category-config.d.mts +25 -0
  398. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-hbs-sheet.d.mts +19 -0
  399. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-image-sheet.d.mts +18 -0
  400. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-markdown-sheet.d.mts +18 -0
  401. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-pdf-sheet.d.mts +18 -0
  402. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-prose-mirror-sheet.d.mts +18 -0
  403. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-sheet.d.mts +28 -0
  404. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-text-sheet.d.mts +18 -0
  405. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-video-sheet.d.mts +18 -0
  406. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-sheet.d.mts +35 -0
  407. package/src/foundry/client-esm/applications/sheets/macro-config.d.mts +25 -0
  408. package/src/foundry/client-esm/applications/sheets/note-config.d.mts +25 -0
  409. package/src/foundry/client-esm/applications/sheets/playlist-config.d.mts +25 -0
  410. package/src/foundry/client-esm/applications/sheets/playlist-sound-config.d.mts +25 -0
  411. package/src/foundry/client-esm/applications/sheets/region-behavior-config.d.mts +29 -5
  412. package/src/foundry/client-esm/applications/sheets/region-config.d.mts +35 -5
  413. package/src/foundry/client-esm/applications/sheets/roll-table-config.d.mts +25 -0
  414. package/src/foundry/client-esm/applications/sheets/roll-table-sheet.d.mts +25 -0
  415. package/src/foundry/client-esm/applications/sheets/scene-config.d.mts +25 -0
  416. package/src/foundry/client-esm/applications/sheets/table-result-config.d.mts +25 -0
  417. package/src/foundry/client-esm/applications/sheets/template-config.d.mts +25 -0
  418. package/src/foundry/client-esm/applications/sheets/tile-config.d.mts +25 -0
  419. package/src/foundry/client-esm/applications/sheets/token/_module.d.mts +7 -0
  420. package/src/foundry/client-esm/applications/sheets/token/mixin.d.mts +27 -0
  421. package/src/foundry/client-esm/applications/sheets/token/prototype-config.d.mts +18 -0
  422. package/src/foundry/client-esm/applications/sheets/token/token-config.d.mts +25 -0
  423. package/src/foundry/client-esm/applications/sheets/user-config.d.mts +3 -3
  424. package/src/foundry/client-esm/applications/sheets/wall-config.d.mts +25 -0
  425. package/src/foundry/client-esm/applications/sidebar/_module.d.mts +10 -0
  426. package/src/foundry/client-esm/applications/sidebar/apps/_module.d.mts +15 -0
  427. package/src/foundry/client-esm/applications/sidebar/apps/chat-popout.d.mts +22 -0
  428. package/src/foundry/client-esm/applications/sidebar/apps/compendium.d.mts +21 -0
  429. package/src/foundry/client-esm/applications/sidebar/apps/controls-config.d.mts +20 -0
  430. package/src/foundry/client-esm/applications/sidebar/apps/folder-export.d.mts +18 -0
  431. package/src/foundry/client-esm/applications/sidebar/apps/frame-viewer.d.mts +22 -0
  432. package/src/foundry/client-esm/applications/sidebar/apps/invitation-links.d.mts +17 -0
  433. package/src/foundry/client-esm/applications/sidebar/apps/module-management.d.mts +21 -0
  434. package/src/foundry/client-esm/applications/sidebar/apps/support-details.d.mts +17 -0
  435. package/src/foundry/client-esm/applications/sidebar/apps/tours-management.d.mts +20 -0
  436. package/src/foundry/client-esm/applications/sidebar/apps/world-config.d.mts +19 -0
  437. package/src/foundry/client-esm/applications/sidebar/document-directory.d.mts +30 -0
  438. package/src/foundry/client-esm/applications/sidebar/sidebar-tab.d.mts +86 -0
  439. package/src/foundry/client-esm/applications/sidebar/sidebar.d.mts +18 -0
  440. package/src/foundry/client-esm/applications/sidebar/tabs/_module.d.mts +17 -0
  441. package/src/foundry/client-esm/applications/sidebar/tabs/actor-directory.d.mts +20 -0
  442. package/src/foundry/client-esm/applications/sidebar/tabs/cards-directory.d.mts +20 -0
  443. package/src/foundry/client-esm/applications/sidebar/tabs/chat.d.mts +19 -0
  444. package/src/foundry/client-esm/applications/sidebar/tabs/combat-tracker.d.mts +19 -0
  445. package/src/foundry/client-esm/applications/sidebar/tabs/compendium-directory.d.mts +19 -0
  446. package/src/foundry/client-esm/applications/sidebar/tabs/item-directory.d.mts +20 -0
  447. package/src/foundry/client-esm/applications/sidebar/tabs/journal-directory.d.mts +20 -0
  448. package/src/foundry/client-esm/applications/sidebar/tabs/macro-directory.d.mts +20 -0
  449. package/src/foundry/client-esm/applications/sidebar/tabs/playlist-directory.d.mts +20 -0
  450. package/src/foundry/client-esm/applications/sidebar/tabs/roll-table-directory.d.mts +20 -0
  451. package/src/foundry/client-esm/applications/sidebar/tabs/scene-directory.d.mts +20 -0
  452. package/src/foundry/client-esm/applications/sidebar/tabs/settings.d.mts +18 -0
  453. package/src/foundry/client-esm/applications/ui/_module.d.mts +9 -2
  454. package/src/foundry/client-esm/applications/ui/game-pause.d.mts +22 -0
  455. package/src/foundry/client-esm/applications/ui/hotbar.d.mts +29 -0
  456. package/src/foundry/client-esm/applications/ui/main-menu.d.mts +27 -0
  457. package/src/foundry/client-esm/applications/ui/notifications.d.mts +208 -0
  458. package/src/foundry/client-esm/applications/ui/players.d.mts +26 -0
  459. package/src/foundry/client-esm/applications/ui/region-legend.d.mts +48 -3
  460. package/src/foundry/client-esm/applications/ui/scene-controls.d.mts +20 -0
  461. package/src/foundry/client-esm/applications/ui/scene-navigation.d.mts +28 -0
  462. package/src/foundry/client-esm/applications/ux/_module.d.mts +14 -0
  463. package/src/foundry/client-esm/applications/ux/context-menu.d.mts +359 -0
  464. package/src/foundry/client-esm/applications/ux/drag-drop.d.mts +21 -0
  465. package/src/foundry/client-esm/applications/ux/draggable.d.mts +9 -0
  466. package/src/foundry/client-esm/applications/ux/form-data-extended.d.mts +17 -0
  467. package/src/foundry/client-esm/applications/ux/html-secret.d.mts +21 -0
  468. package/src/foundry/client-esm/applications/ux/prosemirror-editor.d.mts +9 -0
  469. package/src/foundry/client-esm/applications/ux/search-filter.d.mts +9 -0
  470. package/src/foundry/client-esm/applications/ux/tabs.d.mts +29 -0
  471. package/src/foundry/client-esm/applications/ux/text-editor.d.mts +9 -0
  472. package/src/foundry/client-esm/appv1/_module.d.mts +7 -0
  473. package/src/foundry/client-esm/appv1/api/_module.d.mts +9 -0
  474. package/src/foundry/client-esm/appv1/api/application-v1.d.mts +5 -0
  475. package/src/foundry/client-esm/appv1/api/dialog-v1.d.mts +5 -0
  476. package/src/foundry/client-esm/appv1/api/document-sheet-v1.d.mts +5 -0
  477. package/src/foundry/client-esm/appv1/api/form-application-v1.d.mts +5 -0
  478. package/src/foundry/client-esm/appv1/sheets/_module.d.mts +10 -0
  479. package/src/foundry/client-esm/appv1/sheets/actor-sheet.d.mts +5 -0
  480. package/src/foundry/client-esm/appv1/sheets/adventure-importer.d.mts +5 -0
  481. package/src/foundry/client-esm/appv1/sheets/item-sheet.d.mts +5 -0
  482. package/src/foundry/client-esm/appv1/sheets/journal-page-sheet.d.mts +7 -0
  483. package/src/foundry/client-esm/appv1/sheets/journal-sheet.d.mts +5 -0
  484. package/src/foundry/client-esm/audio/_module.d.mts +2 -3
  485. package/src/foundry/client-esm/audio/_types.d.mts +1 -1
  486. package/src/foundry/client-esm/audio/biquad.d.mts +1 -1
  487. package/src/foundry/client-esm/audio/convolver.d.mts +1 -1
  488. package/src/foundry/client-esm/audio/helper.d.mts +6 -5
  489. package/src/foundry/client-esm/audio/sound.d.mts +2 -2
  490. package/src/foundry/client-esm/audio/timeout.d.mts +5 -2
  491. package/src/foundry/client-esm/av/_module.d.mts +10 -0
  492. package/src/foundry/client-esm/av/client.d.mts +18 -0
  493. package/src/foundry/client-esm/av/clients/_module.d.mts +6 -0
  494. package/src/foundry/client-esm/av/clients/simplepeer.d.mts +11 -0
  495. package/src/foundry/client-esm/av/master.d.mts +12 -0
  496. package/src/foundry/client-esm/av/settings.d.mts +30 -0
  497. package/src/foundry/client-esm/canvas/_module.d.mts +2 -2
  498. package/src/foundry/client-esm/canvas/edges/_module.d.mts +2 -2
  499. package/src/foundry/client-esm/canvas/edges/collision.d.mts +61 -18
  500. package/src/foundry/client-esm/canvas/edges/edge.d.mts +106 -42
  501. package/src/foundry/client-esm/canvas/edges/edges.d.mts +9 -0
  502. package/src/foundry/client-esm/canvas/edges/vertex.d.mts +51 -23
  503. package/src/foundry/client-esm/canvas/regions/_module.d.mts +2 -3
  504. package/src/foundry/client-esm/canvas/regions/geometry.d.mts +31 -0
  505. package/src/foundry/client-esm/canvas/regions/mesh.d.mts +61 -0
  506. package/src/foundry/client-esm/canvas/regions/polygon-tree.d.mts +101 -0
  507. package/src/foundry/client-esm/canvas/regions/shape.d.mts +118 -0
  508. package/src/foundry/client-esm/canvas/scene-manager.d.mts +12 -3
  509. package/src/foundry/client-esm/canvas/smaa/smaa.d.mts +2 -3
  510. package/src/foundry/client-esm/canvas/sources/_module.d.mts +2 -2
  511. package/src/foundry/client-esm/canvas/sources/base-effect-source.d.mts +32 -18
  512. package/src/foundry/client-esm/canvas/sources/base-light-source.d.mts +53 -15
  513. package/src/foundry/client-esm/canvas/sources/global-light-source.d.mts +18 -3
  514. package/src/foundry/client-esm/canvas/sources/point-darkness-source.d.mts +47 -23
  515. package/src/foundry/client-esm/canvas/sources/point-effect-source.d.mts +17 -7
  516. package/src/foundry/client-esm/canvas/sources/point-light-source.d.mts +26 -14
  517. package/src/foundry/client-esm/canvas/sources/point-movement-source.d.mts +20 -4
  518. package/src/foundry/client-esm/canvas/sources/point-sound-source.d.mts +26 -8
  519. package/src/foundry/client-esm/canvas/sources/point-vision-source.d.mts +26 -25
  520. package/src/foundry/client-esm/canvas/sources/rendered-effect-source.d.mts +89 -52
  521. package/src/foundry/client-esm/canvas/tokens/_module.d.mts +2 -3
  522. package/src/foundry/client-esm/canvas/tokens/ring-config.d.mts +112 -2
  523. package/src/foundry/client-esm/canvas/tokens/ring-data.d.mts +170 -3
  524. package/src/foundry/client-esm/canvas/tokens/ring.d.mts +189 -2
  525. package/src/foundry/client-esm/client.d.mts +56 -63
  526. package/src/foundry/client-esm/config.d.mts +1 -0
  527. package/src/foundry/client-esm/data/_module.d.mts +8 -3
  528. package/src/foundry/client-esm/data/_types.d.mts +10 -0
  529. package/src/foundry/client-esm/data/calendar.d.mts +213 -0
  530. package/src/foundry/client-esm/data/client-backend.d.mts +17 -18
  531. package/src/foundry/client-esm/data/combat-config.d.mts +53 -0
  532. package/src/foundry/client-esm/data/region-behaviors/_module.d.mts +3 -3
  533. package/src/foundry/client-esm/data/region-behaviors/adjust-darkness-level.d.mts +57 -0
  534. package/src/foundry/client-esm/data/region-behaviors/base.d.mts +59 -0
  535. package/src/foundry/client-esm/data/region-behaviors/display-scrolling-text.d.mts +64 -0
  536. package/src/foundry/client-esm/data/region-behaviors/execute-macro.d.mts +27 -0
  537. package/src/foundry/client-esm/data/region-behaviors/execute-script.d.mts +23 -0
  538. package/src/foundry/client-esm/data/region-behaviors/pause-game.d.mts +23 -0
  539. package/src/foundry/client-esm/data/region-behaviors/suppress-weather.d.mts +17 -0
  540. package/src/foundry/client-esm/data/region-behaviors/teleport-token.d.mts +32 -0
  541. package/src/foundry/client-esm/data/region-behaviors/toggle-behavior.d.mts +31 -0
  542. package/src/foundry/client-esm/data/terrain-data.d.mts +22 -0
  543. package/src/foundry/client-esm/dice/_module.d.mts +2 -3
  544. package/src/foundry/client-esm/dice/parser.d.mts +8 -0
  545. package/src/foundry/client-esm/dice/roll.d.mts +64 -30
  546. package/src/foundry/client-esm/dice/terms/_module.d.mts +2 -3
  547. package/src/foundry/client-esm/dice/terms/coin.d.mts +8 -1
  548. package/src/foundry/client-esm/dice/terms/dice.d.mts +11 -2
  549. package/src/foundry/client-esm/dice/terms/die.d.mts +9 -2
  550. package/src/foundry/client-esm/dice/terms/fate.d.mts +9 -2
  551. package/src/foundry/client-esm/dice/terms/function.d.mts +5 -2
  552. package/src/foundry/client-esm/dice/terms/numeric.d.mts +1 -1
  553. package/src/foundry/client-esm/dice/terms/operator.d.mts +1 -1
  554. package/src/foundry/client-esm/dice/terms/parenthetical.d.mts +1 -1
  555. package/src/foundry/client-esm/dice/terms/pool.d.mts +15 -6
  556. package/src/foundry/client-esm/dice/terms/string.d.mts +1 -1
  557. package/src/foundry/client-esm/dice/terms/term.d.mts +12 -3
  558. package/src/foundry/client-esm/documents/_module.d.mts +11 -0
  559. package/src/foundry/client-esm/documents/_types.d.mts +8 -0
  560. package/src/foundry/client-esm/documents/abstract/_module.d.mts +6 -0
  561. package/src/foundry/client-esm/documents/collections/_module.d.mts +6 -0
  562. package/src/foundry/client-esm/game.d.mts +7 -0
  563. package/src/foundry/client-esm/helpers/_module.d.mts +2 -2
  564. package/src/foundry/client-esm/helpers/_types.d.mts +1 -1
  565. package/src/foundry/client-esm/hooks.d.mts +1 -0
  566. package/src/foundry/client-esm/nue/_module.d.mts +9 -0
  567. package/src/foundry/client-esm/nue/nue-manager.d.mts +18 -0
  568. package/src/foundry/client-esm/nue/tour.d.mts +9 -0
  569. package/src/foundry/client-esm/nue/tours/_module.d.mts +8 -0
  570. package/src/foundry/client-esm/nue/tours/canvas-tour.d.mts +12 -0
  571. package/src/foundry/client-esm/nue/tours/setup-tour.d.mts +11 -0
  572. package/src/foundry/client-esm/nue/tours/sidebar-tour.d.mts +11 -0
  573. package/src/foundry/client-esm/nue/tours-collection.d.mts +25 -0
  574. package/src/foundry/client-esm/packages/_module.d.mts +22 -0
  575. package/src/foundry/client-esm/packages/_types.d.mts +11 -0
  576. package/src/foundry/client-esm/packages/client-package.d.mts +11 -0
  577. package/src/foundry/client-esm/packages/module.d.mts +8 -0
  578. package/src/foundry/client-esm/packages/system.d.mts +8 -0
  579. package/src/foundry/client-esm/packages/world.d.mts +8 -0
  580. package/src/foundry/client-esm/ui.d.mts +1 -0
  581. package/src/foundry/client-esm/utils/_module.d.mts +7 -0
  582. package/src/foundry/client-esm/utils/_types.d.mts +2 -0
  583. package/src/foundry/client-esm/utils/helpers.d.mts +6 -0
  584. package/src/foundry/common/{types.d.mts → _types.d.mts} +3 -3
  585. package/src/foundry/common/abstract/{module.d.mts → _module.d.mts} +2 -2
  586. package/src/foundry/common/abstract/backend.d.mts +38 -44
  587. package/src/foundry/common/abstract/data.d.mts +22 -51
  588. package/src/foundry/common/abstract/document.d.mts +212 -121
  589. package/src/foundry/common/abstract/embedded-collection-delta.d.mts +1 -1
  590. package/src/foundry/common/abstract/embedded-collection.d.mts +37 -7
  591. package/src/foundry/common/abstract/socket.d.mts +1 -1
  592. package/src/foundry/common/abstract/type-data.d.mts +40 -24
  593. package/src/foundry/common/config.d.mts +3 -1
  594. package/src/foundry/common/constants.d.mts +234 -205
  595. package/src/foundry/common/data/{module.d.mts → _module.d.mts} +2 -2
  596. package/src/foundry/common/data/_types.d.mts +47 -0
  597. package/src/foundry/common/data/data.d.mts +25 -19
  598. package/src/foundry/common/data/fields.d.mts +469 -423
  599. package/src/foundry/common/data/validation-failure.d.mts +4 -6
  600. package/src/foundry/common/documents/_module.d.mts +4 -2
  601. package/src/foundry/common/documents/_types.d.mts +10 -45
  602. package/src/foundry/common/documents/active-effect.d.mts +7 -4
  603. package/src/foundry/common/documents/actor-delta.d.mts +7 -5
  604. package/src/foundry/common/documents/actor.d.mts +6 -19
  605. package/src/foundry/common/documents/adventure.d.mts +13 -2
  606. package/src/foundry/common/documents/ambient-light.d.mts +3 -1
  607. package/src/foundry/common/documents/ambient-sound.d.mts +3 -1
  608. package/src/foundry/common/documents/card.d.mts +6 -4
  609. package/src/foundry/common/documents/cards.d.mts +3 -1
  610. package/src/foundry/common/documents/chat-message.d.mts +10 -8
  611. package/src/foundry/common/documents/combat.d.mts +3 -1
  612. package/src/foundry/common/documents/combatant.d.mts +4 -12
  613. package/src/foundry/common/documents/drawing.d.mts +6 -4
  614. package/src/foundry/common/documents/fog-exploration.d.mts +3 -1
  615. package/src/foundry/common/documents/folder.d.mts +9 -1
  616. package/src/foundry/common/documents/item.d.mts +5 -3
  617. package/src/foundry/common/documents/journal-entry-page.d.mts +3 -2
  618. package/src/foundry/common/documents/journal-entry.d.mts +3 -1
  619. package/src/foundry/common/documents/macro.d.mts +5 -3
  620. package/src/foundry/common/documents/measured-template.d.mts +6 -8
  621. package/src/foundry/common/documents/module.d.mts +2 -2
  622. package/src/foundry/common/documents/note.d.mts +4 -2
  623. package/src/foundry/common/documents/playlist-sound.d.mts +4 -2
  624. package/src/foundry/common/documents/playlist.d.mts +3 -1
  625. package/src/foundry/common/documents/region-behavior.d.mts +88 -0
  626. package/src/foundry/common/documents/region.d.mts +108 -0
  627. package/src/foundry/common/documents/roll-table.d.mts +3 -1
  628. package/src/foundry/common/documents/scene.d.mts +9 -1
  629. package/src/foundry/common/documents/setting.d.mts +3 -2
  630. package/src/foundry/common/documents/table-result.d.mts +4 -4
  631. package/src/foundry/common/documents/tile.d.mts +3 -1
  632. package/src/foundry/common/documents/token.d.mts +15 -7
  633. package/src/foundry/common/documents/user.d.mts +7 -5
  634. package/src/foundry/common/documents/wall.d.mts +12 -15
  635. package/src/foundry/common/grid/_module.d.mts +3 -3
  636. package/src/foundry/common/grid/_types.d.mts +47 -0
  637. package/src/foundry/common/grid/base.d.mts +10 -14
  638. package/src/foundry/common/grid/gridless.d.mts +2 -2
  639. package/src/foundry/common/grid/hexagonal.d.mts +21 -10
  640. package/src/foundry/common/grid/square.d.mts +2 -2
  641. package/src/foundry/common/packages/{module.d.mts → _module.d.mts} +2 -2
  642. package/src/foundry/common/packages/_types.d.mts +25 -0
  643. package/src/foundry/common/packages/base-package.d.mts +6 -6
  644. package/src/foundry/common/packages/base-system.d.mts +19 -4
  645. package/src/foundry/common/packages/base-world.d.mts +2 -2
  646. package/src/foundry/common/packages/sub-types.d.mts +1 -1
  647. package/src/foundry/common/primitives/array.d.mts +1 -1
  648. package/src/foundry/common/primitives/number.d.mts +1 -1
  649. package/src/foundry/common/primitives/string.d.mts +1 -1
  650. package/src/foundry/common/prosemirror/_module.d.mts +15 -15
  651. package/src/foundry/common/prosemirror/_types.d.mts +29 -0
  652. package/src/foundry/common/prosemirror/dirty-plugin.d.mts +1 -1
  653. package/src/foundry/common/prosemirror/dom-parser.d.mts +2 -1
  654. package/src/foundry/common/prosemirror/highlight-matches-plugin.d.mts +1 -1
  655. package/src/foundry/common/prosemirror/image-plugin.d.mts +1 -1
  656. package/src/foundry/common/prosemirror/paste-transformer.d.mts +1 -1
  657. package/src/foundry/common/prosemirror/plugin.d.mts +1 -1
  658. package/src/foundry/common/prosemirror/schema/index.d.mts +1 -1
  659. package/src/foundry/common/prosemirror/schema/lists.d.mts +2 -0
  660. package/src/foundry/common/utils/{module.d.mts → _module.d.mts} +2 -2
  661. package/src/foundry/common/utils/_types.d.mts +1 -0
  662. package/src/foundry/common/utils/bitmask.d.mts +20 -11
  663. package/src/foundry/common/utils/collection.d.mts +7 -19
  664. package/src/foundry/common/utils/color.d.mts +20 -2
  665. package/src/foundry/common/utils/event-emitter.d.mts +1 -1
  666. package/src/foundry/common/utils/geometry.d.mts +12 -2
  667. package/src/foundry/common/utils/helpers.d.mts +23 -13
  668. package/src/foundry/common/utils/string-tree.d.mts +1 -1
  669. package/src/foundry/common/utils/word-tree.d.mts +1 -1
  670. package/src/foundry/index.d.mts +0 -1
  671. package/src/foundry/{clipper → public/scripts/clipper}/clipper.d.mts +52 -43
  672. package/src/foundry/public/scripts/index.d.mts +1 -0
  673. package/src/foundry/public/scripts/workers/image-compressor.d.mts +23 -0
  674. package/src/foundry/public/scripts/workers/index.d.mts +1 -0
  675. package/{index-lenient.d.mts → src/index-lenient.d.mts} +2 -0
  676. package/src/index.d.mts +6 -0
  677. package/src/tsconfig.json +19 -0
  678. package/src/types/augments/particles.d.mts +29 -0
  679. package/src/types/augments/pixi.d.mts +1013 -10
  680. package/src/types/augments/smooth.d.mts +31 -0
  681. package/src/types/augments/tinyMCE.d.mts +1 -1
  682. package/src/types/config.d.mts +20 -311
  683. package/src/types/documentConfiguration.d.mts +91 -32
  684. package/src/types/index.d.mts +1 -1
  685. package/src/types/lib.d.mts +12 -0
  686. package/src/types/workers/image-compressor.d.mts +176 -0
  687. package/src/utils/index.d.mts +1091 -0
  688. package/index.d.mts +0 -5
  689. package/src/foundry/client/ui/context.d.mts +0 -213
  690. package/src/foundry/client/ui/notifications.d.mts +0 -136
  691. package/src/foundry/common/primitives/regex.d.mts +0 -12
  692. package/src/types/helperTypes.d.mts +0 -389
  693. package/src/types/utils.d.mts +0 -520
  694. /package/src/foundry/common/primitives/{module.d.mts → _module.d.mts} +0 -0
  695. /package/src/foundry/{clipper → public/scripts/clipper}/index.d.mts +0 -0
@@ -1,520 +0,0 @@
1
- import type { Document } from "../foundry/common/abstract/module.d.mts";
2
- import type { MakeConform } from "./helperTypes.d.mts";
3
-
4
- /**
5
- * Recursively sets keys of an object to optional. Used primarily for update methods
6
- * @internal
7
- */
8
- export type DeepPartial<T> = T extends unknown
9
- ? IsObject<T> extends true
10
- ? {
11
- [P in keyof T]?: DeepPartial<T[P]>;
12
- }
13
- : T
14
- : T;
15
-
16
- /**
17
- * Gets all possible keys of `T`. This is useful because if `T` is a union type
18
- * it will get the properties of all types in the union. Otherwise it functions identically to `keyof T`.
19
- */
20
- export type AllKeysOf<T extends object> = T extends unknown ? keyof T : never;
21
-
22
- /**
23
- * Make all properties in `T` optional and explicitly allow `undefined`
24
- *
25
- * ### Picking the right helper type
26
- * - Favor `NullishProps` whenever it is valid. Allowing both `null` and
27
- * `undefined` is convenient for the end user and it is very common that
28
- * wherever `undefined` is valid so is `null`. For some examples it is valid
29
- * for `options.prop ??= "default"`, `options.prop ||= "default"`,
30
- * `if (options.prop) { ... }`, `if (options.prop == null)`, or so on.
31
- * - Use `IntentionalPartial` when an explicit `undefined` is problematic but
32
- * leaving off the property entirely is fine. This primarily occurs when
33
- * patterns like `options = { ...defaultOptions, ...options }`,
34
- * `Object.assign({}, defaultOptions, options)`,
35
- * `foundry.utils.mergeObject(defaultOptions, options)`, or so on.
36
- *
37
- * Note that {@link foundry.utils.mergeObject | `foundry.utils.mergeObject`}
38
- * also expands the object. So once `ExpandsTo` exists you should also use
39
- * that helper type.
40
- *
41
- * What these patterns have in common is that if `options` looks like
42
- * `{ prop: undefined }` that will override whatever is in `defaultOptions`
43
- * and may cause issues. Note that even if you see one of these patterns you
44
- * also need to ensure that `undefined` would cause issues down the road
45
- * before using `IntentionalPartial` as it could be an intended way of
46
- * resetting a property.
47
- * - Use `InexactPartial` when `null` is problematic but `undefined` is not.
48
- * The most common time this shows up is with the pattern
49
- * `exampleFunction({ prop = "foo" } = {}) { ... }`.
50
- *
51
- * @internal
52
- */
53
- export type InexactPartial<T extends object, K extends AllKeysOf<T> = AllKeysOf<T>> = {
54
- [K2 in keyof T as Extract<K2, K>]?: T[K2] | undefined;
55
- } & {
56
- // Note(LukeAbby): This effectively inlines `Omit<T, K>`, hoping for slightly better type display.
57
- [K2 in keyof T as Exclude<K2, K>]: T[K2];
58
- };
59
-
60
- /**
61
- * Makes select properties in `T` optional and explicitly allows both `null` and
62
- * `undefined` values.
63
- *
64
- * ### Picking the right helper type
65
- * - Favor `NullishProps` whenever it is valid. Allowing both `null` and
66
- * `undefined` is convenient for the end user and it is very common that
67
- * wherever `undefined` is valid so is `null`. For some examples it is valid
68
- * for `options.prop ??= "default"`, `options.prop ||= "default"`,
69
- * `if (options.prop) { ... }`, `if (options.prop == null)`, or so on.
70
- * - Use `IntentionalPartial` when an explicit `undefined` is problematic but
71
- * leaving off the property entirely is fine. This primarily occurs when
72
- * patterns like `options = { ...defaultOptions, ...options }`,
73
- * `Object.assign({}, defaultOptions, options)`,
74
- * `foundry.utils.mergeObject(defaultOptions, options)`, or so on.
75
- *
76
- * Note that {@link foundry.utils.mergeObject | `foundry.utils.mergeObject`}
77
- * also expands the object. So once `ExpandsTo` exists you should also use
78
- * that helper type.
79
- *
80
- * What these patterns have in common is that if `options` looks like
81
- * `{ prop: undefined }` that will override whatever is in `defaultOptions`
82
- * and may cause issues. Note that even if you see one of these patterns you
83
- * also need to ensure that `undefined` would cause issues down the road
84
- * before using `IntentionalPartial` as it could be an intended way of
85
- * resetting a property.
86
- * - Use `InexactPartial` when `null` is problematic but `undefined` is not.
87
- * The most common time this shows up is with the pattern
88
- * `exampleFunction({ prop = "foo" } = {}) { ... }`.
89
- *
90
- * @internal
91
- */
92
- export type NullishProps<T extends object, K extends AllKeysOf<T> = AllKeysOf<T>> = {
93
- [K2 in keyof T as Extract<K2, K>]?: T[K2] | null | undefined;
94
- } & {
95
- // Note(LukeAbby): This effectively inlines `Omit<T, K>`, hoping for slightly better type display.
96
- [K2 in keyof T as Exclude<K2, K>]: T[K2];
97
- };
98
-
99
- /**
100
- * References the constructor of type `T`
101
- * @internal
102
- */
103
- export type ConstructorOf<T> = new (arg0: never, ...args: never[]) => T;
104
-
105
- /**
106
- * Expand an object that contains keys in dotted notation
107
- * @internal
108
- */
109
- export type Expanded<O> = O extends AnyObject
110
- ? {
111
- [KO in keyof O as KO extends `${infer A}.${string}` ? A : KO]: KO extends `${string}.${infer B}`
112
- ? Expanded<{ [EB in B]: O[KO] }>
113
- : Expanded<O[KO]>;
114
- }
115
- : O;
116
-
117
- /**
118
- * Union type of the types of the values in `T`
119
- * @internal
120
- */
121
- export type ValueOf<T> = T extends ReadonlyArray<infer V> ? V : T[keyof T];
122
-
123
- type OmitIndex<K extends PropertyKey> = string extends K
124
- ? never
125
- : number extends K
126
- ? never
127
- : symbol extends K
128
- ? never
129
- : K;
130
-
131
- /**
132
- * Gets the keys of `T` but excluding index signatures unlike `keyof T`. For example `Record<string, any> & { foo: number }` will produce `string` with `keyof` but `foo` with `ConcreteKeys`.
133
- */
134
- export type ConcreteKeys<T> = T extends never
135
- ? never
136
- : keyof {
137
- [K in keyof T as OmitIndex<K>]: never;
138
- };
139
-
140
- /**
141
- * Removes all index signatures from an object. Use this instead of `[K in keyof ConcreteKeys<T>]` to preserve modifiers e.g. readonly, or optional.
142
- */
143
- // NOTE(LukeAbby): It may seem easier to write `Pick<T, ConcreteKeys<T>>` but this stops it from being a homomorphic mapped type and regresses its power when given a generic type parameter or `this`.
144
- // See: https://www.typescriptlang.org/play/?#code/KYDwDg9gTgLgBDAnmYcDCEB2BjKwbADSwiAzgDwAqAfHALxwDWJEAZnAN4BQccA2oTgBLTExbtKcAIak4pGFBEBzOKAKYAJrMEB+OJmAA3YFDgAufQFcAtgCMTqkOq1xd+ow4ulEdiABtHZ204PQNjUwtCAF0LMJMAbi4AX0SuJBQ4ACVgawhjAElNUABlISVMKRhLPAoaejgABSFsRioAGnQsXHwiElrqalTsPxlZABFKqQBZCA1gP3Ji7AALHKlabl454ak8OFy5vwts3IKikFLyyurgCiXV63Xkri4d0lliy1sZw8WVtcCwE0sg4cCUQJMzQaUAgYAsUkwiHi-EIXgUyhiVjsDiStDUQJcExg01m8z+D3WnB4+3wy1mAAoAJRU3i8AD0bLglGWQlkYBhKCgiDkdMsfg0jl58FslngGggt0wAHIYAA6am8GA80iqg7zVXggyKbDQ2GpVkIbW60l+VVSWzYRK8JLJIA
145
- export type RemoveIndexSignatures<T extends AnyObject> = {
146
- [K in keyof T as OmitIndex<K>]: T[K];
147
- };
148
-
149
- /**
150
- * Transforms a string to lowercase and the first character to uppercase.
151
- * @internal
152
- */
153
- export type Titlecase<S extends string> = S extends `${infer A} ${infer B}`
154
- ? `${Titlecase<A>} ${Titlecase<B>}`
155
- : Capitalize<Lowercase<S>>;
156
-
157
- /**
158
- * Deeply merge two types. If either of the given types is not an object then `U`
159
- * simply overwrites `T`.
160
- *
161
- * Nested properties of type `object` are merged recursively unless the property
162
- * in `U` is an `Array`.
163
- *
164
- * @typeParam T - The base type that `U` will be merged into.
165
- * @typeParam U - The type that will be merged into `T`.
166
- */
167
- export type Merge<T, U> =
168
- IsObject<U> extends true
169
- ? IsObject<T> extends true
170
- ? SimpleMerge<
171
- T,
172
- {
173
- [K in keyof U]: T extends { readonly [_ in K]?: infer V } ? Merge<V, U[K]> : U[K];
174
- }
175
- >
176
- : U
177
- : U;
178
-
179
- /**
180
- * Returns whether the type is a plain object. Excludes functions and arrays while still being friendly to interfaces.
181
- *
182
- * @example
183
- * ```ts
184
- * interface ObjectInterface {
185
- * prop: number;
186
- * }
187
- *
188
- * type Interface = IsObject<ObjectInterface>; // true
189
- * type Object = IsObject<{ prop: number }>; // true
190
- * type Array = IsObject<number[]>; // false
191
- * type Function = IsObject<() => void>; // false
192
- *
193
- * // By comparison, simply comparing against `Record<string, unknown>` fails.
194
- * type RecordFails = Interface extends Record<string, unknown> ? true : false; // false
195
- * ```
196
- */
197
- // eslint-disable-next-line @typescript-eslint/consistent-indexed-object-style
198
- export type IsObject<T> = T extends { readonly [K: string]: any }
199
- ? T extends AnyArray | AnyFunction
200
- ? false
201
- : true
202
- : false;
203
-
204
- /**
205
- * A simple, non-recursive merge type.
206
- * @typeParam Target - the target type to merge into
207
- * @typeParam Override - the type whose properties override the ones in Target
208
- */
209
- export type SimpleMerge<Target, Override> = Omit<Target, keyof Override> & Override;
210
-
211
- /**
212
- * @deprecated - {@link GetKey | `GetKey`}
213
- */
214
- export type PropertyTypeOrFallback<T, Key extends string, Fallback> = Key extends keyof T ? T[Key] : Fallback;
215
-
216
- /**
217
- * Makes the given keys `K` of the type `T` required
218
- */
219
- export type RequiredProps<T, K extends keyof T> = Required<Pick<T, K>> & Omit<T, K>;
220
-
221
- export type Mixin<MixinClass extends AnyConcreteConstructor, BaseClass extends AnyConstructor> = MixinClass & BaseClass;
222
-
223
- interface GetDataConfigOptions<T> {
224
- partial: Partial<T> & Record<string, unknown>;
225
- exact: T;
226
- object: object;
227
- }
228
-
229
- type GetDataConfigOption = GetDataConfig extends {
230
- mode: infer Mode extends keyof GetDataConfigOptions<unknown>;
231
- }
232
- ? Mode
233
- : "object";
234
-
235
- export type GetDataReturnType<T extends object> = GetDataConfigOptions<T>[GetDataConfigOption];
236
-
237
- /**
238
- * Replaces the type `{}` with `Record<string, never>` by default which is
239
- * usually a better representation of an empty object. The type `{}` actually
240
- * allows any type be assigned to it except for `null` and `undefined`.
241
- *
242
- * The theory behind this is that all non-nullish types allow
243
- * you to access any property on them without erroring. Primitive types like
244
- * `number` will not store the property but it still will not error to simply
245
- * try to get and set properties.
246
- *
247
- * The type `{}` can appear for example after operations like `Omit` if it
248
- * removes all properties rom an object, because an empty interface was given,
249
- * or so on.
250
- *
251
- * Type params extend `object` instead of `AnyObject` to allow interfaces
252
- *
253
- * @example
254
- * ```ts
255
- * type ObjectArray<T extends Record<string, unknown>> = T[];
256
- *
257
- * // As you would hope a union can't be assigned. It errors with:
258
- * // "type 'string' is not assignable to type 'Record<string, unknown>'."
259
- * type UnionErrors = ObjectArray<string | { x: number }>;
260
- *
261
- * // However, this works.
262
- * type EmptyObjectArray = ObjectArray<{}>;
263
- *
264
- * // But it allows likely unsound behavior like this:
265
- * const emptyObject: EmptyObjectArray = [1, "foo", () => 3];
266
- *
267
- * // So it may be better to define `ObjectArray` like so:
268
- * type ObjectArray<T extends Record<string, unknown>> = HandleEmptyObject<T>[];
269
- *
270
- * // If it were, then this line would error appropriately!
271
- * const emptyObject: EmptyObjectArray = [1, "foo", () => 3];
272
- * ```
273
- */
274
- // eslint-disable-next-line @typescript-eslint/no-empty-object-type
275
- export type HandleEmptyObject<T extends object, D extends object = EmptyObject> = [{}] extends [T] ? D : T;
276
-
277
- /**
278
- * This type allows any plain objects. In other words it disallows functions
279
- * and arrays.
280
- *
281
- * Use this type instead of:
282
- * - `object`/`Record<any, any>` - This allows functions, classes, and arrays.
283
- * - `{}` - This type allows anything besides `null` and `undefined`.
284
- * - `Record<string, unknown>` - This is the appropriate type for any mutable object but doesn't allow readonly objects.
285
- */
286
- // This type is not meant to be extended and it has to use an indexed type.
287
- // eslint-disable-next-line @typescript-eslint/consistent-type-definitions, @typescript-eslint/consistent-indexed-object-style
288
- export type AnyObject = {
289
- readonly [K: string]: unknown;
290
- };
291
-
292
- /**
293
- * This type allows mutable plain objects. This means readonly objects cannot be
294
- * assigned.
295
- *
296
- * Use this type instead of:
297
- * - `object` - This allows functions and arrays.
298
- * - `Record<string, any>`/`{}` - These allows anything besides `null` and `undefined`.
299
- * - `Record<string, unknown>` - These types are equivalent but `AnyMutableObject` is preferred for explicitness.
300
- */
301
- // eslint-disable-next-line @typescript-eslint/consistent-type-definitions, @typescript-eslint/consistent-indexed-object-style
302
- export type AnyMutableObject = {
303
- [K: string]: unknown;
304
- };
305
-
306
- /**
307
- * Use this type to allow any array. This allows readonly arrays which is
308
- * generally what you want. If you need a mutable array use the
309
- * {@link MutableArray | `MutableArray`} type instead of the builtin `T[]` or
310
- * `Array` types. This allows us to be more explicit about intent.
311
- *
312
- * Consider being more specific if possible. You should generally try to use a
313
- * concrete array with a union or add a type parameter first.
314
- *
315
- * Use this instead of:
316
- * - `any[]` - When elements of this array are accessed you get `any` which is not safe.
317
- * - `unknown[]` - This is the appropriate type for any mutable array but doesn't allow readonly arrays.
318
- */
319
- export type AnyArray = readonly unknown[];
320
-
321
- /**
322
- * Use this type to allow a mutable array of type `T`. Only use this if the
323
- * array can be soundly mutated. Otherwise you should be using
324
- * `readonly T[]` or {@link ReadonlyArray | `ReadonlyArray`}
325
- */
326
- export type MutableArray<T> = Array<T>;
327
-
328
- /**
329
- * Use this type to allow any function. Notably since this allows any function
330
- * it is difficult to call the function in a safe way. This means its uses are
331
- * mostly niche and it should be avoided.
332
- *
333
- * Make sure you have a good reason to use this type. It is almost always better
334
- * to use a more specific function type. Please consider leaving a comment about
335
- * why this type is necessary.
336
- *
337
- * Use this instead of:
338
- * - `Function` - This refers to the fundamental `Function` object in JS. It allows classes.
339
- * - `(...args: any[]) => any` - If someone explicitly accesses the parameters or uses the return value you get `any` which is not safe.
340
- * - `(...args: any[]) => any` - If someone explicitly accesses the parameters or uses the return value you get `any` which is not safe.
341
- * - `(...args: unknown[]) => unknown` - This allows obviously unsound calls like `fn(1, "foo")` because it indicates it can take any arguments.
342
- */
343
- // The explicit arg0 does not prevent a function with no arguments from being assigned to `AnyFunction` because any function that takes less arguments can be assigned to one that takes more.
344
- // The point of this is to prevent it from being possible to call with 0 arguments.
345
- // never is used to make it impossible to call with anything besides `never` or `any`. This makes it the most type safe way to define any function.
346
- export type AnyFunction = (arg0: never, ...args: never[]) => unknown;
347
-
348
- /**
349
- * Use this type to allow any class, abstract class, or class-like constructor.
350
- *
351
- * See {@link AnyConcreteConstructor | `AnyConcreteConstructor`} if you cannot
352
- * allow abstract classes. Please also consider writing a comment
353
- * explaining why {@link AnyConcreteConstructor | `AnyConcreteConstructor`} is
354
- * necessary.
355
- *
356
- * @example
357
- * ```ts
358
- * const concrete: AnyConstructor = class Concrete { ... }
359
- * const abstract: AnyConstructor = abstract class Abstract { ... }
360
- *
361
- * // `Date` is not actually a class but it can be used as a constructor.
362
- * const classLike: AnyConstructor = Date;
363
- * ```
364
- */
365
- export type AnyConstructor = abstract new (arg0: never, ...args: never[]) => unknown;
366
-
367
- /**
368
- * Use this type to allow any class or class-like constructor but disallow
369
- * class-like constructors.
370
- *
371
- * Use this type only when abstract classes would be problematic such as the
372
- * base type of a mixin. Please consider writing a comment explaining why.
373
- * See {@link AnyConstructor | `AnyConstructor`} to also allow abstract classes.
374
- *
375
- * @example
376
- * ```ts
377
- * const concrete: AnyConcreteConstructor = class Concrete { ... }
378
- *
379
- * // `Date` is not actually a class but it can be used as a constructor.
380
- * const classLike: AnyConcreteConstructor = Date;
381
- *
382
- * // This next line errors:
383
- * const abstract: AnyConcreteConstructor = abstract class Abstract { ... }
384
- * ```
385
- */
386
- export type AnyConcreteConstructor = new (arg0: never, ...args: never[]) => unknown;
387
-
388
- /**
389
- * This type is equivalent to `Promise<T>` but exists to give an explicit signal
390
- * that this is not a mistake. When Foundry accepts an asynchronous callback the
391
- * vast majority of the time it is best to use {@link MaybePromise | `MaybePromise`}.
392
- *
393
- * By doing it this way the maximum flexibility is given to the definer of the
394
- * callback. This is okay because typically asynchronous callbacks are simply
395
- * awaited, meaning that there's no noticeable difference between a `Promise`
396
- * and {@link MaybePromise | `MaybePromise`}. Even functions like
397
- * {@link Promise.allSettled | `Promise.allSettled`} function correctly
398
- * with {@link MaybePromise | `MaybePromise`}.
399
- *
400
- * Do not use this type or {@link MaybePromise | `MaybePromise`} for the return
401
- * type of asynchronous methods on classes. For example for
402
- * {@link foundry.abstract.Document._preCreate | `Document#_preCreate`} the typing
403
- * should be `Promise<void>` and not this type. In theory we could use
404
- * {@link MaybePromise | `MaybePromise`} in this context as well but this seems
405
- * more likely to be confusing than to be helpful.
406
- *
407
- * Use this type only in the rare case where a callback's return type must be a
408
- * `Promise`, for example if `promise.then` or `promise.catch` is explicitly
409
- * called. Please also writing a comment explaining why
410
- * {@link MaybePromise | `MaybePromise`} is problematic in this context.
411
- */
412
- export type MustBePromise<T> = Promise<T>;
413
-
414
- /**
415
- * Use when a type may be either a promise or not. This is most useful in
416
- * asynchronous callbacks where in most cases it's sound to provide a synchronous
417
- * callback instead.
418
- *
419
- * If it is not sound to provide a non-Promise for whatever reason, see
420
- * {@link MustBePromise | `MustBePromise`} to declare this more explicitly than simply writing
421
- * `Promise<T>`.
422
- *
423
- * This should generally not be used in asynchronous methods. For example in
424
- * {@link foundry.abstract.Document._preCreate | `Document#_preCreate`} the typing
425
- * is `Promise<void>` because it's declared as an async method. Overriding an
426
- * asynchronous method with a synchronous method is more confusing than
427
- * helpful.
428
- */
429
- export type MaybePromise<T> = T | Promise<T>;
430
-
431
- /**
432
- * Use this to allow any type besides `null` or `undefined`.
433
- *
434
- * This type is equivalent to the type `{}`. It exists to give this type a
435
- * better name. `{}` is not a type representing an empty object. In reality it
436
- * allows assigning any type besides `null` or `undefined`. This is frustrating
437
- * but it seems the theory is supposed to be that all types except for `null`
438
- * and `undefined` will return `undefined` for any property accessed on them.
439
- *
440
- * Even primitives like `number` will not error when you get or even set a
441
- * property on them, although they will not preserve the property. Since the
442
- * only type that cannot be indexed is `null` or `undefined` this is the chosen
443
- * semantics of `{}` in TypeScript.
444
- */
445
- // This type is not meant to be extended and it's meant to be the explicit version of what the type `{}` does, i.e. allow any type besides `null` or `undefined`.
446
- // eslint-disable-next-line @typescript-eslint/consistent-type-definitions, @typescript-eslint/no-empty-object-type
447
- export type NonNullish = {};
448
-
449
- /**
450
- * This is the closest approximation to a type representing an empty object.
451
- *
452
- * Use instead of `{}` when you want to represent an empty object. `{}` actually
453
- * allows any type that is not `null` or `undefined`. see
454
- * {@link NonNullish | `NonNullish`} if you want that behavior.
455
- */
456
- // It would be unsound to merge into so an interface is not used.
457
- // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
458
- export type EmptyObject = Record<string, never>;
459
-
460
- declare const empty: unique symbol;
461
-
462
- /**
463
- * This helper type helps emulate index signatures for types with incompatible concrete keys.
464
- *
465
- * For example the type `{ foo: number; [K: string]: string }` is not allowed because the index signature is incompatible with the concrete key `foo`.
466
- * It may seem like tricks like `{ foo: number; } & { [K: string]: string }` work but this defers the error to the caller.
467
- *
468
- * @example
469
- * ```typescript
470
- * type NaiveType = { foo: number; [K: string]: boolean };
471
- * // ^ Property 'foo' of type 'number' is not assignable to 'string' index type 'boolean'.
472
- *
473
- * type NaiveIntersection = { foo: number } & { [K: string]: string };
474
- *
475
- * function usesIntersection(intersection: NaiveIntersection) { ... }
476
- *
477
- * usesIntersection({ foo: 1, x: true });
478
- * // ^ Argument of type '{ foo: number; }' is not assignable to parameter of type 'NaiveIntersection'.
479
- * // Type '{ foo: number; }' is not assignable to type '{ [K: string]: boolean; }'.
480
- * // Property 'foo' is incompatible with index signature.
481
- * // Type 'number' is not assignable to type 'boolean'.
482
- *
483
- * function usesCorrectly<T extends AnyObject>(withIndex: ShapeWithIndexSignature<T, { foo: number }, string, boolean>) { ... }
484
- *
485
- * usesCorrectly({ foo: 1, x: true });
486
- * ```
487
- */
488
- // Note: If https://github.com/microsoft/TypeScript/issues/17867 or https://github.com/microsoft/TypeScript/issues/43826 (depending on implementation) is implemented it's likely this type can be expressed in a better way.
489
- export type ShapeWithIndexSignature<
490
- T extends AnyObject,
491
- // Uses `extends object` to allow interfaces and if useful other objects.
492
- PrimaryShape extends object,
493
- IndexSignature extends PropertyKey,
494
- IndexType,
495
- > = PrimaryShape & {
496
- readonly [K in keyof T & IndexSignature]: K extends keyof PrimaryShape ? PrimaryShape[K] : IndexType;
497
- };
498
-
499
- /**
500
- * Defer is a utility type that allows you to defer the evaluation of a type.
501
- * The use cases for this are extremely advanced. In essence they have to do with breaking cycles in evaluation.
502
- */
503
- export type Defer<T> = [T][T extends any ? 0 : never];
504
-
505
- /**
506
- * @deprecated {@link Document.ToConfiguredStored | `Document.ToConfiguredStored`}
507
- */
508
- export type ConfiguredStoredDocument<T extends Document.AnyConstructor> = Document.ToConfiguredStored<T>;
509
-
510
- /**
511
- * @deprecated {@link Document.Stored | `Document.Stored`}
512
- */
513
- export type StoredDocument<D extends { _source: unknown }> = Document.Stored<
514
- MakeConform<D, Document.Internal.Instance.Any>
515
- >;
516
-
517
- /**
518
- * @deprecated {@link Document.Temporary | `Document.Temporary`}
519
- */
520
- export type TemporaryDocument<D> = Document.Temporary<MakeConform<D, Document.Internal.Instance.Any>>;