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