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

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 (560) hide show
  1. package/README.md +17 -18
  2. package/package.json +73 -32
  3. package/src/configuration/configuration.d.mts +316 -0
  4. package/src/configuration/documents.d.mts +295 -0
  5. package/src/configuration/globals.d.mts +357 -0
  6. package/src/configuration/index.d.mts +5 -0
  7. package/src/foundry/client/apps/app.d.mts +129 -122
  8. package/src/foundry/client/apps/av/av-config.d.mts +12 -7
  9. package/src/foundry/client/apps/av/cameras.d.mts +12 -7
  10. package/src/foundry/client/apps/dice/dice-config.d.mts +59 -0
  11. package/src/foundry/client/apps/dice/index.d.mts +1 -0
  12. package/src/foundry/client/apps/form.d.mts +114 -86
  13. package/src/foundry/client/apps/forms/actor.d.mts +21 -11
  14. package/src/foundry/client/apps/forms/adventure-exporter.d.mts +12 -7
  15. package/src/foundry/client/apps/forms/adventure-importer.d.mts +14 -6
  16. package/src/foundry/client/apps/forms/base-sheet.d.mts +16 -8
  17. package/src/foundry/client/apps/forms/card-config.d.mts +16 -8
  18. package/src/foundry/client/apps/forms/cards-config.d.mts +15 -14
  19. package/src/foundry/client/apps/forms/combat-config.d.mts +7 -7
  20. package/src/foundry/client/apps/forms/combatant-config.d.mts +3 -3
  21. package/src/foundry/client/apps/forms/default-sheets-config.d.mts +1 -1
  22. package/src/foundry/client/apps/forms/effect-config.d.mts +7 -7
  23. package/src/foundry/client/apps/forms/folder-config.d.mts +5 -5
  24. package/src/foundry/client/apps/forms/fonts.d.mts +42 -35
  25. package/src/foundry/client/apps/forms/grid-config.d.mts +12 -17
  26. package/src/foundry/client/apps/forms/image-popout.d.mts +29 -23
  27. package/src/foundry/client/apps/forms/item.d.mts +9 -9
  28. package/src/foundry/client/apps/forms/journal-page-sheet.d.mts +16 -14
  29. package/src/foundry/client/apps/forms/journal-sheet.d.mts +48 -38
  30. package/src/foundry/client/apps/forms/macro-config.d.mts +7 -7
  31. package/src/foundry/client/apps/forms/measure-template.d.mts +10 -12
  32. package/src/foundry/client/apps/forms/ownership.d.mts +5 -5
  33. package/src/foundry/client/apps/forms/playlist-config.d.mts +8 -10
  34. package/src/foundry/client/apps/forms/playlist-sound-config.d.mts +7 -7
  35. package/src/foundry/client/apps/forms/roll-table-config.d.mts +11 -10
  36. package/src/foundry/client/apps/forms/scene-config.d.mts +40 -41
  37. package/src/foundry/client/apps/forms/sheet-config.d.mts +9 -21
  38. package/src/foundry/client/apps/forms/user-config.d.mts +13 -12
  39. package/src/foundry/client/apps/hud/chatbubble.d.mts +18 -6
  40. package/src/foundry/client/apps/hud/container.d.mts +4 -4
  41. package/src/foundry/client/apps/hud/controls.d.mts +126 -81
  42. package/src/foundry/client/apps/hud/hotbar.d.mts +17 -12
  43. package/src/foundry/client/apps/hud/hud.d.mts +5 -5
  44. package/src/foundry/client/apps/hud/menu.d.mts +10 -3
  45. package/src/foundry/client/apps/hud/navigation.d.mts +14 -9
  46. package/src/foundry/client/apps/hud/pause.d.mts +9 -4
  47. package/src/foundry/client/apps/hud/players.d.mts +14 -9
  48. package/src/foundry/client/apps/i18n.d.mts +34 -27
  49. package/src/foundry/client/apps/index.d.mts +1 -0
  50. package/src/foundry/client/apps/placeables/drawing-config.d.mts +41 -33
  51. package/src/foundry/client/apps/placeables/drawing-hud.d.mts +5 -5
  52. package/src/foundry/client/apps/placeables/index.d.mts +0 -2
  53. package/src/foundry/client/apps/placeables/note-config.d.mts +28 -18
  54. package/src/foundry/client/apps/placeables/tile-config.d.mts +23 -10
  55. package/src/foundry/client/apps/placeables/tile-hud.d.mts +10 -5
  56. package/src/foundry/client/apps/placeables/token-config.d.mts +91 -58
  57. package/src/foundry/client/apps/placeables/token-hud.d.mts +12 -7
  58. package/src/foundry/client/apps/placeables/wall-config.d.mts +21 -17
  59. package/src/foundry/client/apps/sidebar/apps/chat-popout.d.mts +5 -5
  60. package/src/foundry/client/apps/sidebar/apps/client-settings.d.mts +3 -3
  61. package/src/foundry/client/apps/sidebar/apps/compendium.d.mts +15 -13
  62. package/src/foundry/client/apps/sidebar/apps/invitation-links.d.mts +3 -3
  63. package/src/foundry/client/apps/sidebar/apps/keybindings-config.d.mts +3 -2
  64. package/src/foundry/client/apps/sidebar/apps/module-management.d.mts +6 -6
  65. package/src/foundry/client/apps/sidebar/apps/permission-config.d.mts +6 -6
  66. package/src/foundry/client/apps/sidebar/apps/support-details.d.mts +34 -29
  67. package/src/foundry/client/apps/sidebar/apps/tours-management.d.mts +2 -2
  68. package/src/foundry/client/apps/sidebar/apps/world-config.d.mts +13 -10
  69. package/src/foundry/client/apps/sidebar/directory-tab-mixin.d.mts +50 -35
  70. package/src/foundry/client/apps/sidebar/document-directory.d.mts +52 -38
  71. package/src/foundry/client/apps/sidebar/package-configuration.d.mts +4 -4
  72. package/src/foundry/client/apps/sidebar/sidebar-tab.d.mts +3 -3
  73. package/src/foundry/client/apps/sidebar/sidebar.d.mts +9 -4
  74. package/src/foundry/client/apps/sidebar/tabs/actors-directory.d.mts +11 -2
  75. package/src/foundry/client/apps/sidebar/tabs/cards-directory.d.mts +11 -2
  76. package/src/foundry/client/apps/sidebar/tabs/chat-log.d.mts +39 -27
  77. package/src/foundry/client/apps/sidebar/tabs/combat-tracker.d.mts +21 -12
  78. package/src/foundry/client/apps/sidebar/tabs/compendium-directory.d.mts +30 -15
  79. package/src/foundry/client/apps/sidebar/tabs/items-directory.d.mts +11 -2
  80. package/src/foundry/client/apps/sidebar/tabs/journal-directory.d.mts +11 -2
  81. package/src/foundry/client/apps/sidebar/tabs/macros-directory.d.mts +14 -5
  82. package/src/foundry/client/apps/sidebar/tabs/playlists-directory.d.mts +30 -22
  83. package/src/foundry/client/apps/sidebar/tabs/roll-table-directory.d.mts +11 -2
  84. package/src/foundry/client/apps/sidebar/tabs/scenes-directory.d.mts +14 -5
  85. package/src/foundry/client/apps/sidebar/tabs/settings.d.mts +23 -5
  86. package/src/foundry/client/apps/templates.d.mts +6 -2
  87. package/src/foundry/client/av/client.d.mts +1 -1
  88. package/src/foundry/client/av/clients/simplepeer.d.mts +11 -1
  89. package/src/foundry/client/av/master.d.mts +2 -2
  90. package/src/foundry/client/av/settings.d.mts +17 -15
  91. package/src/foundry/client/config.d.mts +444 -314
  92. package/src/foundry/client/core/document-index.d.mts +11 -3
  93. package/src/foundry/client/core/hooks.d.mts +2 -4
  94. package/src/foundry/client/core/image.d.mts +92 -42
  95. package/src/foundry/client/core/issues.d.mts +9 -4
  96. package/src/foundry/client/core/keybindings.d.mts +5 -5
  97. package/src/foundry/client/core/nue.d.mts +1 -1
  98. package/src/foundry/client/core/packages.d.mts +397 -61
  99. package/src/foundry/client/core/settings.d.mts +62 -38
  100. package/src/foundry/client/core/socket.d.mts +2 -2
  101. package/src/foundry/client/core/sorting.d.mts +6 -6
  102. package/src/foundry/client/core/time.d.mts +6 -3
  103. package/src/foundry/client/core/tooltip.d.mts +2 -2
  104. package/src/foundry/client/core/tour.d.mts +59 -50
  105. package/src/foundry/client/core/tours.d.mts +1 -1
  106. package/src/foundry/client/core/utils.d.mts +33 -10
  107. package/src/foundry/client/core/video.d.mts +1 -1
  108. package/src/foundry/client/core/workers.d.mts +24 -17
  109. package/src/foundry/client/data/abstract/canvas-document.d.mts +21 -17
  110. package/src/foundry/client/data/abstract/client-document.d.mts +153 -183
  111. package/src/foundry/client/data/abstract/directory-collection-mixin.d.mts +23 -39
  112. package/src/foundry/client/data/abstract/document-collection.d.mts +96 -68
  113. package/src/foundry/client/data/abstract/world-collection.d.mts +48 -56
  114. package/src/foundry/client/data/collections/actors.d.mts +30 -28
  115. package/src/foundry/client/data/collections/cards.d.mts +16 -3
  116. package/src/foundry/client/data/collections/combats.d.mts +18 -5
  117. package/src/foundry/client/data/collections/compendium-collection.d.mts +85 -101
  118. package/src/foundry/client/data/collections/compendium-folders.d.mts +6 -6
  119. package/src/foundry/client/data/collections/compendium-packs.d.mts +6 -6
  120. package/src/foundry/client/data/collections/fog.d.mts +16 -3
  121. package/src/foundry/client/data/collections/folder.d.mts +20 -6
  122. package/src/foundry/client/data/collections/items.d.mts +17 -4
  123. package/src/foundry/client/data/collections/journal.d.mts +22 -7
  124. package/src/foundry/client/data/collections/macros.d.mts +21 -19
  125. package/src/foundry/client/data/collections/messages.d.mts +19 -6
  126. package/src/foundry/client/data/collections/playlists.d.mts +17 -5
  127. package/src/foundry/client/data/collections/scenes.d.mts +24 -27
  128. package/src/foundry/client/data/collections/settings.d.mts +16 -3
  129. package/src/foundry/client/data/collections/tables.d.mts +18 -5
  130. package/src/foundry/client/data/collections/users.d.mts +19 -7
  131. package/src/foundry/client/data/documents/active-effect.d.mts +677 -85
  132. package/src/foundry/client/data/documents/actor-delta.d.mts +670 -27
  133. package/src/foundry/client/data/documents/actor.d.mts +718 -55
  134. package/src/foundry/client/data/documents/adventure.d.mts +480 -46
  135. package/src/foundry/client/data/documents/ambient-light.d.mts +423 -19
  136. package/src/foundry/client/data/documents/ambient-sound.d.mts +473 -14
  137. package/src/foundry/client/data/documents/card.d.mts +567 -36
  138. package/src/foundry/client/data/documents/cards.d.mts +744 -85
  139. package/src/foundry/client/data/documents/chat-message.d.mts +574 -42
  140. package/src/foundry/client/data/documents/combat.d.mts +699 -69
  141. package/src/foundry/client/data/documents/combatant.d.mts +504 -24
  142. package/src/foundry/client/data/documents/drawing.d.mts +540 -14
  143. package/src/foundry/client/data/documents/fog-exploration.d.mts +416 -21
  144. package/src/foundry/client/data/documents/folder.d.mts +468 -30
  145. package/src/foundry/client/data/documents/index.d.mts +2 -0
  146. package/src/foundry/client/data/documents/item.d.mts +677 -20
  147. package/src/foundry/client/data/documents/journal-entry-page.d.mts +585 -19
  148. package/src/foundry/client/data/documents/journal-entry.d.mts +619 -18
  149. package/src/foundry/client/data/documents/macro.d.mts +528 -25
  150. package/src/foundry/client/data/documents/measured-template.d.mts +478 -14
  151. package/src/foundry/client/data/documents/note.d.mts +491 -15
  152. package/src/foundry/client/data/documents/playlist-sound.d.mts +426 -24
  153. package/src/foundry/client/data/documents/playlist.d.mts +665 -74
  154. package/src/foundry/client/data/documents/region-behavior.d.mts +507 -0
  155. package/src/foundry/client/data/documents/region.d.mts +784 -0
  156. package/src/foundry/client/data/documents/scene.d.mts +983 -140
  157. package/src/foundry/client/data/documents/setting.d.mts +395 -13
  158. package/src/foundry/client/data/documents/table-result.d.mts +476 -14
  159. package/src/foundry/client/data/documents/table.d.mts +661 -78
  160. package/src/foundry/client/data/documents/tile.d.mts +499 -14
  161. package/src/foundry/client/data/documents/token.d.mts +1110 -97
  162. package/src/foundry/client/data/documents/user.d.mts +493 -25
  163. package/src/foundry/client/data/documents/wall.d.mts +548 -14
  164. package/src/foundry/client/game.d.mts +62 -89
  165. package/src/foundry/client/head.d.mts +9 -9
  166. package/src/foundry/client/hooks.d.mts +257 -237
  167. package/src/foundry/client/pixi/board.d.mts +111 -104
  168. package/src/foundry/client/pixi/core/containers/base-canvas-group.d.mts +97 -25
  169. package/src/foundry/client/pixi/core/containers/cached-container.d.mts +37 -19
  170. package/src/foundry/client/pixi/core/containers/full-canvas-container.d.mts +7 -10
  171. package/src/foundry/client/pixi/core/containers/point-source-mesh.d.mts +25 -15
  172. package/src/foundry/client/pixi/core/containers/quad-mesh.d.mts +16 -6
  173. package/src/foundry/client/pixi/core/containers/quadtree.d.mts +113 -54
  174. package/src/foundry/client/pixi/core/containers/sprite-mesh.d.mts +69 -26
  175. package/src/foundry/client/pixi/core/containers/unbound-container.d.mts +20 -2
  176. package/src/foundry/client/pixi/core/interaction/canvas-animation.d.mts +164 -99
  177. package/src/foundry/client/pixi/core/interaction/control-icon.d.mts +61 -22
  178. package/src/foundry/client/pixi/core/interaction/mouse-handler.d.mts +120 -53
  179. package/src/foundry/client/pixi/core/interaction/ping.d.mts +62 -31
  180. package/src/foundry/client/pixi/core/interaction/pings/chevron.d.mts +23 -10
  181. package/src/foundry/client/pixi/core/interaction/pings/pulse.d.mts +91 -34
  182. package/src/foundry/client/pixi/core/interaction/render-flags.d.mts +76 -31
  183. package/src/foundry/client/pixi/core/interaction/resize-handle.d.mts +35 -5
  184. package/src/foundry/client/pixi/core/interaction/targets.d.mts +21 -18
  185. package/src/foundry/client/pixi/core/loader.d.mts +86 -76
  186. package/src/foundry/client/pixi/core/shapes/limited-angle-polygon.d.mts +42 -17
  187. package/src/foundry/client/pixi/core/shapes/polygon-mesher.d.mts +92 -64
  188. package/src/foundry/client/pixi/core/shapes/precise-text.d.mts +28 -10
  189. package/src/foundry/client/pixi/core/shapes/ray.d.mts +47 -23
  190. package/src/foundry/client/pixi/core/shapes/source-polygon.d.mts +170 -75
  191. package/src/foundry/client/pixi/extensions/circle.d.mts +133 -122
  192. package/src/foundry/client/pixi/extensions/graphics.d.mts +3 -1
  193. package/src/foundry/client/pixi/extensions/observable-transform.d.mts +10 -2
  194. package/src/foundry/client/pixi/extensions/polygon.d.mts +155 -134
  195. package/src/foundry/client/pixi/extensions/rectangle.d.mts +266 -240
  196. package/src/foundry/client/pixi/groups/effects.d.mts +75 -24
  197. package/src/foundry/client/pixi/groups/environment.d.mts +68 -19
  198. package/src/foundry/client/pixi/groups/hidden.d.mts +27 -11
  199. package/src/foundry/client/pixi/groups/interface.d.mts +62 -38
  200. package/src/foundry/client/pixi/groups/overlay.d.mts +19 -7
  201. package/src/foundry/client/pixi/groups/primary.d.mts +66 -44
  202. package/src/foundry/client/pixi/groups/rendered.d.mts +19 -7
  203. package/src/foundry/client/pixi/layers/base/canvas-layer.d.mts +11 -15
  204. package/src/foundry/client/pixi/layers/base/interaction-layer.d.mts +29 -28
  205. package/src/foundry/client/pixi/layers/base/placeables-layer.d.mts +306 -272
  206. package/src/foundry/client/pixi/layers/controls/cursor.d.mts +18 -9
  207. package/src/foundry/client/pixi/layers/controls/door.d.mts +32 -11
  208. package/src/foundry/client/pixi/layers/controls/layer.d.mts +89 -77
  209. package/src/foundry/client/pixi/layers/controls/ruler.d.mts +121 -96
  210. package/src/foundry/client/pixi/layers/effects/background-effects.d.mts +9 -12
  211. package/src/foundry/client/pixi/layers/effects/coloration-effects.d.mts +9 -10
  212. package/src/foundry/client/pixi/layers/effects/darkness-effects.d.mts +8 -8
  213. package/src/foundry/client/pixi/layers/effects/illumination-effects.d.mts +22 -22
  214. package/src/foundry/client/pixi/layers/effects/visibility.d.mts +106 -86
  215. package/src/foundry/client/pixi/layers/effects/weather/particles/effect.d.mts +14 -5
  216. package/src/foundry/client/pixi/layers/effects/weather/particles/leaves.d.mts +31 -2
  217. package/src/foundry/client/pixi/layers/effects/weather-effects.d.mts +137 -65
  218. package/src/foundry/client/pixi/layers/grid/highlight.d.mts +14 -4
  219. package/src/foundry/client/pixi/layers/grid/layer.d.mts +92 -92
  220. package/src/foundry/client/pixi/layers/grid/mesh.d.mts +37 -16
  221. package/src/foundry/client/pixi/layers/masks/depth.d.mts +12 -7
  222. package/src/foundry/client/pixi/layers/masks/occlusion.d.mts +19 -12
  223. package/src/foundry/client/pixi/layers/masks/vision.d.mts +104 -18
  224. package/src/foundry/client/pixi/layers/placeables/drawings.d.mts +16 -15
  225. package/src/foundry/client/pixi/layers/placeables/index.d.mts +1 -0
  226. package/src/foundry/client/pixi/layers/placeables/lighting.d.mts +12 -14
  227. package/src/foundry/client/pixi/layers/placeables/notes.d.mts +49 -32
  228. package/src/foundry/client/pixi/layers/placeables/regions.d.mts +113 -0
  229. package/src/foundry/client/pixi/layers/placeables/sounds.d.mts +81 -67
  230. package/src/foundry/client/pixi/layers/placeables/templates.d.mts +11 -15
  231. package/src/foundry/client/pixi/layers/placeables/tiles.d.mts +30 -21
  232. package/src/foundry/client/pixi/layers/placeables/tokens.d.mts +66 -52
  233. package/src/foundry/client/pixi/layers/placeables/walls.d.mts +54 -57
  234. package/src/foundry/client/pixi/perception/clockwise-sweep.d.mts +62 -27
  235. package/src/foundry/client/pixi/perception/detection-mode.d.mts +121 -47
  236. package/src/foundry/client/pixi/perception/fog.d.mts +38 -15
  237. package/src/foundry/client/pixi/perception/perception-manager.d.mts +136 -136
  238. package/src/foundry/client/pixi/perception/vision-mode.d.mts +108 -66
  239. package/src/foundry/client/pixi/perception/weiler-atherton-clipping.d.mts +77 -39
  240. package/src/foundry/client/pixi/placeable.d.mts +238 -137
  241. package/src/foundry/client/pixi/placeables/drawing.d.mts +255 -133
  242. package/src/foundry/client/pixi/placeables/index.d.mts +1 -0
  243. package/src/foundry/client/pixi/placeables/light.d.mts +199 -64
  244. package/src/foundry/client/pixi/placeables/note.d.mts +145 -54
  245. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-canvas-object.d.mts +30 -8
  246. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-graphics.d.mts +41 -11
  247. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-occludable-object.d.mts +59 -18
  248. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-sprite-mesh.d.mts +120 -37
  249. package/src/foundry/client/pixi/placeables/region.d.mts +280 -0
  250. package/src/foundry/client/pixi/placeables/sound.d.mts +205 -66
  251. package/src/foundry/client/pixi/placeables/template.d.mts +181 -99
  252. package/src/foundry/client/pixi/placeables/tile.d.mts +206 -140
  253. package/src/foundry/client/pixi/placeables/token.d.mts +916 -448
  254. package/src/foundry/client/pixi/placeables/wall.d.mts +249 -129
  255. package/src/foundry/client/pixi/webgl/extensions/batch-renderer.d.mts +72 -33
  256. package/src/foundry/client/pixi/webgl/extensions/batch-shader-generator.d.mts +10 -9
  257. package/src/foundry/client/pixi/webgl/helpers/{framebugger-snapshot.d.mts → framebuffer-snapshot.d.mts} +10 -9
  258. package/src/foundry/client/pixi/webgl/helpers/index.d.mts +1 -1
  259. package/src/foundry/client/pixi/webgl/helpers/smooth-noise.d.mts +38 -23
  260. package/src/foundry/client/pixi/webgl/helpers/texture-extractor.d.mts +82 -53
  261. package/src/foundry/client/pixi/webgl/shaders/base-shader-mixin.d.mts +12 -12
  262. package/src/foundry/client/pixi/webgl/shaders/base-shader.d.mts +45 -28
  263. package/src/foundry/client/pixi/webgl/shaders/filters/base-filter.d.mts +12 -11
  264. package/src/foundry/client/pixi/webgl/shaders/filters/base-mask-filter.d.mts +12 -10
  265. package/src/foundry/client/pixi/webgl/shaders/filters/blur.d.mts +22 -20
  266. package/src/foundry/client/pixi/webgl/shaders/filters/effects-masking.d.mts +36 -32
  267. package/src/foundry/client/pixi/webgl/shaders/filters/environment.d.mts +10 -9
  268. package/src/foundry/client/pixi/webgl/shaders/filters/glow-overlay.d.mts +12 -11
  269. package/src/foundry/client/pixi/webgl/shaders/filters/invisibility.d.mts +10 -9
  270. package/src/foundry/client/pixi/webgl/shaders/filters/outline-overlay.d.mts +12 -11
  271. package/src/foundry/client/pixi/webgl/shaders/filters/transition.d.mts +67 -60
  272. package/src/foundry/client/pixi/webgl/shaders/filters/visibility.d.mts +24 -17
  273. package/src/foundry/client/pixi/webgl/shaders/filters/vision-mask-filter.d.mts +13 -10
  274. package/src/foundry/client/pixi/webgl/shaders/filters/void.d.mts +10 -9
  275. package/src/foundry/client/pixi/webgl/shaders/filters/weather-occlusion-masks.d.mts +11 -10
  276. package/src/foundry/client/pixi/webgl/shaders/fragment-channel-mixin.d.mts +20 -14
  277. package/src/foundry/client/pixi/webgl/shaders/grid/grid.d.mts +12 -11
  278. package/src/foundry/client/pixi/webgl/shaders/lighting/background-lighting.d.mts +10 -9
  279. package/src/foundry/client/pixi/webgl/shaders/lighting/base-lighting.d.mts +33 -33
  280. package/src/foundry/client/pixi/webgl/shaders/lighting/coloration-lighting.d.mts +10 -9
  281. package/src/foundry/client/pixi/webgl/shaders/lighting/darkness-lighting.d.mts +10 -9
  282. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/bewitching-wave.d.mts +19 -17
  283. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/black-hole.d.mts +10 -9
  284. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/chroma.d.mts +10 -9
  285. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/emanation.d.mts +10 -9
  286. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/energy-field.d.mts +10 -9
  287. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fairy-light.d.mts +19 -17
  288. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/flame.d.mts +19 -17
  289. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fog.d.mts +10 -9
  290. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/force-grid.d.mts +10 -8
  291. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/ghost-light.d.mts +19 -17
  292. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/hexa-dome.d.mts +10 -9
  293. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/light-dome.d.mts +10 -9
  294. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/magical-gloom.d.mts +10 -9
  295. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/pulse.d.mts +19 -17
  296. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/radial-rainbow.d.mts +10 -9
  297. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/revolving-light.d.mts +10 -9
  298. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/roiling-mass.d.mts +10 -9
  299. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/siren-light.d.mts +19 -17
  300. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/smoke-patch.d.mts +20 -17
  301. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/star-light.d.mts +10 -9
  302. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/sunburst.d.mts +19 -17
  303. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/swirling-rainbow.d.mts +10 -9
  304. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/torch.d.mts +19 -17
  305. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/vortex.d.mts +19 -17
  306. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/wave.d.mts +19 -17
  307. package/src/foundry/client/pixi/webgl/shaders/lighting/illumination-lighting.d.mts +10 -9
  308. package/src/foundry/client/pixi/webgl/shaders/region/adjust-darkness-level.d.mts +71 -29
  309. package/src/foundry/client/pixi/webgl/shaders/region/base.d.mts +54 -10
  310. package/src/foundry/client/pixi/webgl/shaders/region/highlight.d.mts +69 -9
  311. package/src/foundry/client/pixi/webgl/shaders/samplers/base-sampler.d.mts +24 -25
  312. package/src/foundry/client/pixi/webgl/shaders/samplers/baseline-illumination.d.mts +10 -9
  313. package/src/foundry/client/pixi/webgl/shaders/samplers/color-adjustment.d.mts +38 -29
  314. package/src/foundry/client/pixi/webgl/shaders/samplers/depth.d.mts +21 -17
  315. package/src/foundry/client/pixi/webgl/shaders/samplers/fog-of-war.d.mts +10 -9
  316. package/src/foundry/client/pixi/webgl/shaders/samplers/occlusion.d.mts +20 -18
  317. package/src/foundry/client/pixi/webgl/shaders/samplers/primary.d.mts +11 -2
  318. package/src/foundry/client/pixi/webgl/shaders/samplers/token-ring.d.mts +28 -2
  319. package/src/foundry/client/pixi/webgl/shaders/vision/background-vision.d.mts +10 -9
  320. package/src/foundry/client/pixi/webgl/shaders/vision/base-vision.d.mts +11 -9
  321. package/src/foundry/client/pixi/webgl/shaders/vision/coloration-vision.d.mts +10 -9
  322. package/src/foundry/client/pixi/webgl/shaders/vision/effects/amplification.d.mts +10 -9
  323. package/src/foundry/client/pixi/webgl/shaders/vision/effects/wave.d.mts +19 -17
  324. package/src/foundry/client/pixi/webgl/shaders/vision/illumination-vision.d.mts +10 -9
  325. package/src/foundry/client/pixi/webgl/shaders/weather/base-weather.d.mts +40 -36
  326. package/src/foundry/client/pixi/webgl/shaders/weather/effect.d.mts +27 -33
  327. package/src/foundry/client/pixi/webgl/shaders/weather/fog.d.mts +17 -16
  328. package/src/foundry/client/pixi/webgl/shaders/weather/rain.d.mts +19 -18
  329. package/src/foundry/client/pixi/webgl/shaders/weather/snow.d.mts +15 -14
  330. package/src/foundry/client/pixi/workers/texture-worker.d.mts +33 -53
  331. package/src/foundry/client/tours/setup-tour.d.mts +15 -10
  332. package/src/foundry/client/ui/context.d.mts +48 -40
  333. package/src/foundry/client/ui/dialog.d.mts +137 -126
  334. package/src/foundry/client/ui/drag.d.mts +1 -1
  335. package/src/foundry/client/ui/dragdrop.d.mts +34 -28
  336. package/src/foundry/client/ui/editor.d.mts +29 -21
  337. package/src/foundry/client/ui/filepicker.d.mts +43 -38
  338. package/src/foundry/client/ui/filter.d.mts +62 -50
  339. package/src/foundry/client/ui/forms.d.mts +22 -22
  340. package/src/foundry/client/ui/notifications.d.mts +10 -3
  341. package/src/foundry/client/ui/prosemirror.d.mts +15 -7
  342. package/src/foundry/client/ui/secrets.d.mts +42 -27
  343. package/src/foundry/client/ui/tabs.d.mts +40 -33
  344. package/src/foundry/client-esm/applications/_module.d.mts +3 -3
  345. package/src/foundry/client-esm/applications/_types.d.mts +0 -2
  346. package/src/foundry/client-esm/applications/api/_module.d.mts +2 -2
  347. package/src/foundry/client-esm/applications/api/application.d.mts +51 -39
  348. package/src/foundry/client-esm/applications/api/dialog.d.mts +20 -22
  349. package/src/foundry/client-esm/applications/api/document-sheet.d.mts +26 -12
  350. package/src/foundry/client-esm/applications/api/handlebars-application.d.mts +142 -126
  351. package/src/foundry/client-esm/applications/apps/_module.d.mts +2 -2
  352. package/src/foundry/client-esm/applications/apps/compendium-art-config.d.mts +10 -10
  353. package/src/foundry/client-esm/applications/apps/permission-config.d.mts +3 -3
  354. package/src/foundry/client-esm/applications/dice/_module.d.mts +2 -2
  355. package/src/foundry/client-esm/applications/dice/roll-resolver.d.mts +14 -2
  356. package/src/foundry/client-esm/applications/elements/_module.d.mts +2 -2
  357. package/src/foundry/client-esm/applications/elements/document-tags.d.mts +2 -0
  358. package/src/foundry/client-esm/applications/elements/file-picker.d.mts +1 -1
  359. package/src/foundry/client-esm/applications/elements/multi-select.d.mts +15 -5
  360. package/src/foundry/client-esm/applications/elements/string-tags.d.mts +1 -1
  361. package/src/foundry/client-esm/applications/forms/fields.d.mts +6 -1
  362. package/src/foundry/client-esm/applications/sheets/_module.d.mts +2 -2
  363. package/src/foundry/client-esm/applications/sheets/actor-sheet.d.mts +3 -3
  364. package/src/foundry/client-esm/applications/sheets/ambient-light-config.d.mts +16 -11
  365. package/src/foundry/client-esm/applications/sheets/ambient-sound-config.d.mts +9 -7
  366. package/src/foundry/client-esm/applications/sheets/item-sheet.d.mts +3 -3
  367. package/src/foundry/client-esm/applications/sheets/region-behavior-config.d.mts +30 -5
  368. package/src/foundry/client-esm/applications/sheets/region-config.d.mts +36 -5
  369. package/src/foundry/client-esm/applications/sheets/user-config.d.mts +8 -7
  370. package/src/foundry/client-esm/applications/ui/_module.d.mts +2 -2
  371. package/src/foundry/client-esm/applications/ui/region-legend.d.mts +45 -3
  372. package/src/foundry/client-esm/audio/_module.d.mts +2 -3
  373. package/src/foundry/client-esm/audio/_types.d.mts +3 -1
  374. package/src/foundry/client-esm/audio/biquad.d.mts +76 -26
  375. package/src/foundry/client-esm/audio/cache.d.mts +31 -20
  376. package/src/foundry/client-esm/audio/convolver.d.mts +47 -25
  377. package/src/foundry/client-esm/audio/helper.d.mts +123 -78
  378. package/src/foundry/client-esm/audio/sound.d.mts +230 -126
  379. package/src/foundry/client-esm/audio/timeout.d.mts +30 -11
  380. package/src/foundry/client-esm/canvas/_module.d.mts +2 -2
  381. package/src/foundry/client-esm/canvas/edges/_module.d.mts +2 -2
  382. package/src/foundry/client-esm/canvas/edges/collision.d.mts +69 -18
  383. package/src/foundry/client-esm/canvas/edges/edge.d.mts +110 -41
  384. package/src/foundry/client-esm/canvas/edges/edges.d.mts +10 -0
  385. package/src/foundry/client-esm/canvas/edges/vertex.d.mts +56 -26
  386. package/src/foundry/client-esm/canvas/regions/_module.d.mts +2 -3
  387. package/src/foundry/client-esm/canvas/regions/geometry.d.mts +38 -0
  388. package/src/foundry/client-esm/canvas/regions/mesh.d.mts +72 -0
  389. package/src/foundry/client-esm/canvas/regions/polygon-tree.d.mts +130 -0
  390. package/src/foundry/client-esm/canvas/regions/shape.d.mts +129 -0
  391. package/src/foundry/client-esm/canvas/scene-manager.d.mts +16 -6
  392. package/src/foundry/client-esm/canvas/smaa/blend.d.mts +14 -3
  393. package/src/foundry/client-esm/canvas/smaa/edges.d.mts +25 -3
  394. package/src/foundry/client-esm/canvas/smaa/smaa.d.mts +121 -23
  395. package/src/foundry/client-esm/canvas/smaa/weights.d.mts +26 -3
  396. package/src/foundry/client-esm/canvas/sources/_module.d.mts +2 -2
  397. package/src/foundry/client-esm/canvas/sources/base-effect-source.d.mts +84 -40
  398. package/src/foundry/client-esm/canvas/sources/base-light-source.d.mts +103 -39
  399. package/src/foundry/client-esm/canvas/sources/global-light-source.d.mts +89 -15
  400. package/src/foundry/client-esm/canvas/sources/point-darkness-source.d.mts +71 -30
  401. package/src/foundry/client-esm/canvas/sources/point-effect-source.d.mts +49 -20
  402. package/src/foundry/client-esm/canvas/sources/point-light-source.d.mts +57 -16
  403. package/src/foundry/client-esm/canvas/sources/point-movement-source.d.mts +31 -4
  404. package/src/foundry/client-esm/canvas/sources/point-sound-source.d.mts +45 -12
  405. package/src/foundry/client-esm/canvas/sources/point-vision-source.d.mts +98 -52
  406. package/src/foundry/client-esm/canvas/sources/rendered-effect-source.d.mts +180 -69
  407. package/src/foundry/client-esm/canvas/tokens/_module.d.mts +2 -3
  408. package/src/foundry/client-esm/canvas/tokens/ring-config.d.mts +174 -2
  409. package/src/foundry/client-esm/canvas/tokens/ring-data.d.mts +141 -2
  410. package/src/foundry/client-esm/canvas/tokens/ring.d.mts +284 -2
  411. package/src/foundry/client-esm/client.d.mts +47 -54
  412. package/src/foundry/client-esm/data/_module.d.mts +2 -2
  413. package/src/foundry/client-esm/data/client-backend.d.mts +22 -23
  414. package/src/foundry/client-esm/data/region-behaviors/_module.d.mts +3 -3
  415. package/src/foundry/client-esm/data/region-behaviors/adjust-darkness-level.d.mts +57 -0
  416. package/src/foundry/client-esm/data/region-behaviors/base.d.mts +59 -0
  417. package/src/foundry/client-esm/data/region-behaviors/display-scrolling-text.d.mts +64 -0
  418. package/src/foundry/client-esm/data/region-behaviors/execute-macro.d.mts +27 -0
  419. package/src/foundry/client-esm/data/region-behaviors/execute-script.d.mts +23 -0
  420. package/src/foundry/client-esm/data/region-behaviors/pause-game.d.mts +23 -0
  421. package/src/foundry/client-esm/data/region-behaviors/suppress-weather.d.mts +17 -0
  422. package/src/foundry/client-esm/data/region-behaviors/teleport-token.d.mts +32 -0
  423. package/src/foundry/client-esm/data/region-behaviors/toggle-behavior.d.mts +31 -0
  424. package/src/foundry/client-esm/dice/_module.d.mts +2 -3
  425. package/src/foundry/client-esm/dice/parser.d.mts +11 -25
  426. package/src/foundry/client-esm/dice/roll.d.mts +115 -89
  427. package/src/foundry/client-esm/dice/terms/_module.d.mts +2 -3
  428. package/src/foundry/client-esm/dice/terms/coin.d.mts +8 -5
  429. package/src/foundry/client-esm/dice/terms/dice.d.mts +93 -63
  430. package/src/foundry/client-esm/dice/terms/die.d.mts +11 -4
  431. package/src/foundry/client-esm/dice/terms/fate.d.mts +9 -2
  432. package/src/foundry/client-esm/dice/terms/function.d.mts +18 -18
  433. package/src/foundry/client-esm/dice/terms/numeric.d.mts +3 -5
  434. package/src/foundry/client-esm/dice/terms/operator.d.mts +2 -2
  435. package/src/foundry/client-esm/dice/terms/parenthetical.d.mts +9 -10
  436. package/src/foundry/client-esm/dice/terms/pool.d.mts +25 -31
  437. package/src/foundry/client-esm/dice/terms/string.d.mts +4 -4
  438. package/src/foundry/client-esm/dice/terms/term.d.mts +18 -4
  439. package/src/foundry/client-esm/dice/twister.d.mts +3 -3
  440. package/src/foundry/client-esm/helpers/_module.d.mts +2 -2
  441. package/src/foundry/client-esm/helpers/_types.d.mts +12 -46
  442. package/src/foundry/client-esm/helpers/compendium-art.d.mts +56 -4
  443. package/src/foundry/common/abstract/_types.d.mts +60 -54
  444. package/src/foundry/common/abstract/backend.d.mts +51 -45
  445. package/src/foundry/common/abstract/data.d.mts +140 -154
  446. package/src/foundry/common/abstract/document.d.mts +1305 -421
  447. package/src/foundry/common/abstract/embedded-collection-delta.d.mts +1 -1
  448. package/src/foundry/common/abstract/embedded-collection.d.mts +37 -7
  449. package/src/foundry/common/abstract/module.d.mts +3 -2
  450. package/src/foundry/common/abstract/singleton-collection.d.mts +1 -1
  451. package/src/foundry/common/abstract/socket.d.mts +1 -1
  452. package/src/foundry/common/abstract/type-data.d.mts +62 -54
  453. package/src/foundry/common/config.d.mts +5 -3
  454. package/src/foundry/common/constants.d.mts +261 -231
  455. package/src/foundry/common/data/data.d.mts +200 -94
  456. package/src/foundry/common/data/fields.d.mts +746 -585
  457. package/src/foundry/common/data/module.d.mts +2 -2
  458. package/src/foundry/common/data/validation-failure.d.mts +12 -9
  459. package/src/foundry/common/documents/_module.d.mts +4 -2
  460. package/src/foundry/common/documents/_types.d.mts +22 -50
  461. package/src/foundry/common/documents/active-effect.d.mts +280 -177
  462. package/src/foundry/common/documents/actor-delta.d.mts +318 -69
  463. package/src/foundry/common/documents/actor.d.mts +305 -117
  464. package/src/foundry/common/documents/adventure.d.mts +266 -141
  465. package/src/foundry/common/documents/ambient-light.d.mts +268 -75
  466. package/src/foundry/common/documents/ambient-sound.d.mts +268 -109
  467. package/src/foundry/common/documents/card.d.mts +267 -174
  468. package/src/foundry/common/documents/cards.d.mts +299 -126
  469. package/src/foundry/common/documents/chat-message.d.mts +276 -158
  470. package/src/foundry/common/documents/combat.d.mts +300 -89
  471. package/src/foundry/common/documents/combatant.d.mts +275 -88
  472. package/src/foundry/common/documents/drawing.d.mts +286 -206
  473. package/src/foundry/common/documents/fog-exploration.d.mts +258 -70
  474. package/src/foundry/common/documents/folder.d.mts +252 -81
  475. package/src/foundry/common/documents/item.d.mts +305 -99
  476. package/src/foundry/common/documents/journal-entry-page.d.mts +279 -189
  477. package/src/foundry/common/documents/journal-entry.d.mts +294 -68
  478. package/src/foundry/common/documents/macro.d.mts +254 -132
  479. package/src/foundry/common/documents/measured-template.d.mts +293 -139
  480. package/src/foundry/common/documents/note.d.mts +274 -149
  481. package/src/foundry/common/documents/playlist-sound.d.mts +260 -94
  482. package/src/foundry/common/documents/playlist.d.mts +279 -120
  483. package/src/foundry/common/documents/region-behavior.d.mts +329 -0
  484. package/src/foundry/common/documents/region.d.mts +327 -0
  485. package/src/foundry/common/documents/roll-table.d.mts +286 -102
  486. package/src/foundry/common/documents/scene.d.mts +276 -336
  487. package/src/foundry/common/documents/setting.d.mts +229 -54
  488. package/src/foundry/common/documents/table-result.d.mts +267 -96
  489. package/src/foundry/common/documents/tile.d.mts +301 -170
  490. package/src/foundry/common/documents/token.d.mts +351 -445
  491. package/src/foundry/common/documents/user.d.mts +256 -144
  492. package/src/foundry/common/documents/wall.d.mts +273 -161
  493. package/src/foundry/common/grid/_module.d.mts +3 -3
  494. package/src/foundry/common/grid/base.d.mts +66 -49
  495. package/src/foundry/common/grid/gridless.d.mts +2 -2
  496. package/src/foundry/common/grid/hexagonal.d.mts +40 -29
  497. package/src/foundry/common/grid/square.d.mts +3 -3
  498. package/src/foundry/common/packages/base-module.d.mts +6 -24
  499. package/src/foundry/common/packages/base-package.d.mts +23 -21
  500. package/src/foundry/common/packages/base-system.d.mts +6 -63
  501. package/src/foundry/common/packages/base-world.d.mts +8 -61
  502. package/src/foundry/common/packages/module.d.mts +7 -7
  503. package/src/foundry/common/packages/sub-types.d.mts +2 -2
  504. package/src/foundry/common/primitives/array.d.mts +4 -4
  505. package/src/foundry/common/primitives/math.d.mts +7 -1
  506. package/src/foundry/common/primitives/number.d.mts +2 -2
  507. package/src/foundry/common/primitives/set.d.mts +17 -14
  508. package/src/foundry/common/primitives/string.d.mts +1 -1
  509. package/src/foundry/common/prosemirror/_module.d.mts +15 -15
  510. package/src/foundry/common/prosemirror/dirty-plugin.d.mts +1 -1
  511. package/src/foundry/common/prosemirror/dom-parser.d.mts +2 -1
  512. package/src/foundry/common/prosemirror/dropdown.d.mts +1 -1
  513. package/src/foundry/common/prosemirror/highlight-matches-plugin.d.mts +2 -2
  514. package/src/foundry/common/prosemirror/image-plugin.d.mts +1 -1
  515. package/src/foundry/common/prosemirror/menu.d.mts +3 -3
  516. package/src/foundry/common/prosemirror/paste-transformer.d.mts +1 -1
  517. package/src/foundry/common/prosemirror/plugin.d.mts +2 -2
  518. package/src/foundry/common/prosemirror/schema/index.d.mts +0 -1
  519. package/src/foundry/common/prosemirror/schema/lists.d.mts +2 -0
  520. package/src/foundry/common/prosemirror/util.d.mts +1 -1
  521. package/src/foundry/common/types.d.mts +3 -3
  522. package/src/foundry/common/utils/bitmask.d.mts +23 -11
  523. package/src/foundry/common/utils/collection.d.mts +61 -38
  524. package/src/foundry/common/utils/color.d.mts +20 -2
  525. package/src/foundry/common/utils/event-emitter.d.mts +32 -17
  526. package/src/foundry/common/utils/geometry.d.mts +12 -2
  527. package/src/foundry/common/utils/helpers.d.mts +36 -26
  528. package/src/foundry/common/utils/http.d.mts +2 -2
  529. package/src/foundry/common/utils/module.d.mts +2 -2
  530. package/src/foundry/common/utils/string-tree.d.mts +45 -39
  531. package/src/foundry/common/utils/word-tree.d.mts +10 -23
  532. package/src/foundry/index.d.mts +0 -1
  533. package/src/foundry/{clipper → public/scripts/clipper}/clipper.d.mts +52 -43
  534. package/src/foundry/public/scripts/index.d.mts +1 -0
  535. package/src/foundry/public/scripts/workers/image-compressor.d.mts +23 -0
  536. package/src/foundry/public/scripts/workers/index.d.mts +1 -0
  537. package/{index-lenient.d.mts → src/index-lenient.d.mts} +2 -0
  538. package/src/index.d.mts +6 -0
  539. package/src/tsconfig.json +15 -0
  540. package/src/types/augments/particles.d.mts +29 -0
  541. package/src/types/augments/pixi.d.mts +1024 -21
  542. package/src/types/augments/smooth.d.mts +31 -0
  543. package/src/types/augments/tinyMCE.d.mts +1 -1
  544. package/src/types/config.d.mts +20 -311
  545. package/src/types/documentConfiguration.d.mts +286 -542
  546. package/src/types/index.d.mts +1 -1
  547. package/src/types/lib.d.mts +12 -0
  548. package/src/types/workers/image-compressor.d.mts +176 -0
  549. package/src/utils/index.d.mts +1279 -0
  550. package/tsconfig.json +29 -0
  551. package/tsconfig.main.json +8 -0
  552. package/tsconfig.miscellaneous.json +16 -0
  553. package/index.d.mts +0 -5
  554. package/src/foundry/client/apps/placeables/light-config.d.mts +0 -100
  555. package/src/foundry/client/apps/placeables/sound-config.d.mts +0 -43
  556. package/src/foundry/common/documents/module.d.mts +0 -35
  557. package/src/foundry/common/primitives/regex.d.mts +0 -12
  558. package/src/types/helperTypes.d.mts +0 -389
  559. package/src/types/utils.d.mts +0 -520
  560. /package/src/foundry/{clipper → public/scripts/clipper}/index.d.mts +0 -0
@@ -1,47 +1,17 @@
1
- import type { AnyObject, EmptyObject } from "../../../types/utils.d.mts";
1
+ import type { AnyMutableObject, AnyObject, EmptyObject, Identity } from "fvtt-types/utils";
2
2
  import type { DataField, SchemaField } from "../data/fields.d.mts";
3
3
  import type { fields } from "../data/module.d.mts";
4
4
  import type { DataModelValidationFailure } from "../data/validation-failure.d.mts";
5
5
 
6
- declare global {
7
- type DataSchema = Record<string, DataField.Any>;
6
+ type DataSchema = foundry.data.fields.DataSchema;
8
7
 
9
- interface DataValidationOptions {
10
- /**
11
- * Throw an error if validation fails.
12
- * @defaultValue `true`
13
- */
14
- strict?: boolean | undefined;
15
-
16
- /**
17
- * Attempt to replace invalid values with valid defaults?
18
- * @defaultValue `false`
19
- */
20
- fallback?: boolean | undefined;
21
-
22
- /**
23
- * Allow partial source data, ignoring absent fields?
24
- * @defaultValue `false`
25
- */
26
- partial?: boolean | undefined;
27
-
28
- /**
29
- * If true, invalid embedded documents will emit a warning and be
30
- * placed in the invalidDocuments collection rather than causing the
31
- * parent to be considered invalid.
32
- * @defaultValue `false`
33
- */
34
- dropInvalidEmbedded?: boolean | undefined;
35
- }
36
- }
37
-
38
- declare const DynamicClass: new <_Computed extends object>(arg0: never, ...args: never[]) => _Computed;
8
+ declare const DynamicClass: new <_Computed extends object>(...args: never) => _Computed;
39
9
 
40
10
  // @ts-expect-error - This is a workaround to allow for dynamic top level properties in a class.
41
11
  declare class _InternalDataModel<
42
12
  out Schema extends DataSchema,
43
13
  // Do not inline. Being a type parameter is an important part of the circumvention of TypeScript's detection of dynamic classes.
44
- out _Computed extends object = SchemaField.InnerInitializedType<Schema>,
14
+ out _Computed extends object = SchemaField.InitializedData<Schema>,
45
15
  > extends DynamicClass<_Computed> {}
46
16
 
47
17
  export default DataModel;
@@ -52,7 +22,6 @@ export default DataModel;
52
22
  declare abstract class DataModel<
53
23
  Schema extends DataSchema,
54
24
  Parent extends DataModel.Any | null = null,
55
-
56
25
  // eslint-disable-next-line @typescript-eslint/no-empty-object-type
57
26
  ExtraConstructorOptions extends AnyObject = {},
58
27
  > extends _InternalDataModel<Schema> {
@@ -61,11 +30,16 @@ declare abstract class DataModel<
61
30
  * will be owned by the constructed model instance and may be mutated.
62
31
  * @param options - Options which affect DataModel construction
63
32
  */
64
- // TODO(LukeAbby): Make only optional if `{}` is assignable to `InnerAssignmentType`.
65
- constructor(
66
- data?: DataModel.ConstructorData<Schema>,
67
- { parent, strict, ...options }?: DataModel.DataValidationOptions<Parent> & ExtraConstructorOptions,
68
- );
33
+ constructor(...args: DataModel.ConstructorArgs<Schema, Parent>);
34
+
35
+ /** @internal */
36
+ " __fvtt_types_internal_source_data": SchemaField.SourceData<Schema>;
37
+
38
+ /** @internal */
39
+ " __fvtt_types_internal_assignment_data": SchemaField.AssignmentData<Schema>;
40
+
41
+ /** @internal */
42
+ " __fvtt_types_internal_initialized_data": SchemaField.InitializedData<Schema>;
69
43
 
70
44
  /**
71
45
  * Configure the data model instance before validation and initialization workflows are performed.
@@ -76,7 +50,7 @@ declare abstract class DataModel<
76
50
  * The source data object for this DataModel instance.
77
51
  * Once constructed, the source object is sealed such that no keys may be added nor removed.
78
52
  */
79
- readonly _source: Readonly<fields.SchemaField.InnerPersistedType<Schema>>;
53
+ readonly _source: Readonly<fields.SchemaField.SourceData<Schema>>;
80
54
 
81
55
  /**
82
56
  * The defined and cached Data Schema for all instances of this DataModel.
@@ -134,9 +108,9 @@ declare abstract class DataModel<
134
108
  * @returns Migrated and cleaned source data which will be stored to the model instance
135
109
  */
136
110
  protected _initializeSource(
137
- data: fields.SchemaField.InnerConstructorType<Schema> | this,
111
+ data: fields.SchemaField.CreateData<Schema> | this,
138
112
  options?: Omit<DataModel.DataValidationOptions, "parent">,
139
- ): fields.SchemaField.InnerPersistedType<Schema>;
113
+ ): fields.SchemaField.SourceData<Schema>;
140
114
 
141
115
  /**
142
116
  * Clean a data source object to conform to a specific provided schema.
@@ -144,7 +118,7 @@ declare abstract class DataModel<
144
118
  * @param options - Additional options which are passed to field cleaning methods
145
119
  * @returns The cleaned source data
146
120
  */
147
- static cleanData(source?: object, options?: Parameters<SchemaField.Any["clean"]>[1]): object;
121
+ static cleanData(source?: AnyMutableObject, options?: Parameters<SchemaField.Any["clean"]>[1]): AnyMutableObject;
148
122
 
149
123
  /**
150
124
  * A generator that orders the DataFields in the DataSchema into an expected initialization order.
@@ -170,10 +144,7 @@ declare abstract class DataModel<
170
144
  * @param context - Context options passed to the data model constructor
171
145
  * @returns The cloned Document instance
172
146
  */
173
- clone(
174
- data?: fields.SchemaField.InnerAssignmentType<Schema>,
175
- context?: DataModel.ConstructorOptions<Parent>,
176
- ): this | Promise<this>;
147
+ clone(data?: fields.SchemaField.AssignmentData<Schema>, context?: DataModel.DataValidationOptions<Parent>): this;
177
148
 
178
149
  /**
179
150
  * Validate the data contained in the document to check for type and content
@@ -182,60 +153,7 @@ declare abstract class DataModel<
182
153
  * @param options - Optional parameters which customize how validation occurs.
183
154
  * @returns An indicator for whether the document contains valid data
184
155
  */
185
- validate({
186
- changes,
187
- clean,
188
- fallback,
189
- strict,
190
- fields,
191
- joint,
192
- }?: {
193
- /**
194
- * A specific set of proposed changes to validate, rather than the full source data of the model.
195
- */
196
- changes?: fields.SchemaField.InnerAssignmentType<Schema>;
197
-
198
- /**
199
- * If changes are provided, attempt to clean the changes before validating them?
200
- * @defaultValue `false`
201
- */
202
- clean?: boolean;
203
-
204
- /**
205
- * Allow replacement of invalid values with valid defaults?
206
- * @defaultValue `false`
207
- */
208
- fallback?: boolean;
209
-
210
- /**
211
- * If true, invalid embedded documents will emit a warning and
212
- * be placed in the invalidDocuments collection rather than
213
- * causing the parent to be considered invalid.
214
- * @defaultValue `false`
215
- */
216
- dropInvalidEmbedded: boolean;
217
-
218
- /**
219
- * Throw if an invalid value is encountered, otherwise log a warning?
220
- * @defaultValue `true`
221
- */
222
- strict?: boolean;
223
-
224
- /**
225
- * Perform validation on individual fields?
226
- * @defaultValue `true`
227
- */
228
- fields?: boolean;
229
-
230
- /**
231
- * Perform joint validation on the full data model?
232
- * Joint validation will be performed by default if no changes are passed.
233
- * Joint validation will be disabled by default if changes are passed.
234
- * Joint validation can be performed on a complete set of changes (for
235
- * example testing a complete data model) by explicitly passing true.
236
- */
237
- joint?: boolean;
238
- }): boolean;
156
+ validate({ changes, clean, fallback, strict, fields, joint }?: DataModel.ValidateOptions<Schema>): boolean;
239
157
 
240
158
  /**
241
159
  * Evaluate joint validation rules which apply validation conditions across multiple fields of the model.
@@ -244,14 +162,13 @@ declare abstract class DataModel<
244
162
  * @param data - Candidate data for the model
245
163
  * @throws An error if a validation failure is detected
246
164
  */
247
- // TODO(LukeAbby): Should be SourceType
248
- static validateJoint(data: Record<string, unknown>): void;
165
+ static validateJoint(data: never): void;
249
166
 
250
167
  /**
251
168
  * @deprecated since v11; Use the validateJoint static method instead.
252
169
  */
253
170
  // TODO(LukeAbby): Should be SourceType
254
- protected _validateModel(data: fields.SchemaField.InnerAssignmentType<Schema>): void;
171
+ protected _validateModel(data: fields.SchemaField.SourceData<Schema>): void;
255
172
 
256
173
  /**
257
174
  * Update the DataModel locally by applying an object of changes to its source data.
@@ -263,11 +180,10 @@ declare abstract class DataModel<
263
180
  * @param options - Options which determine how the new data is merged
264
181
  * @returns An object containing the changed keys and values
265
182
  */
266
- // TODO(LukeAbby): Should be SourceType
267
183
  updateSource(
268
- changes?: fields.SchemaField.InnerAssignmentType<Schema>,
269
- options?: { dryRun?: boolean; fallback?: boolean; recursive?: boolean },
270
- ): object;
184
+ changes?: fields.SchemaField.UpdateData<Schema>,
185
+ options?: DataModel.UpdateSourceOptions,
186
+ ): fields.SchemaField.UpdateData<Schema>;
271
187
 
272
188
  /**
273
189
  * Update the source data for a specific DataSchema.
@@ -310,56 +226,46 @@ declare abstract class DataModel<
310
226
  * (default: `true`)
311
227
  * @returns The extracted primitive object
312
228
  */
313
- toObject(source: true): this["_source"];
314
- toObject(source?: boolean): ReturnType<this["schema"]["toObject"]>;
229
+ toObject<Source extends boolean | undefined>(
230
+ source?: Source,
231
+ ): Source extends false ? SchemaField.SourceData<Schema> : Readonly<SchemaField.SourceData<Schema>>;
315
232
 
316
233
  /**
317
234
  * Extract the source data for the DataModel into a simple object format that can be serialized.
318
235
  * @returns The document source data expressed as a plain object
319
236
  */
320
- toJSON(): this["_source"];
237
+ toJSON(): fields.SchemaField.SourceData<Schema>;
321
238
 
322
239
  /**
323
240
  * Create a new instance of this DataModel from a source record.
324
241
  * The source is presumed to be trustworthy and is not strictly validated.
325
242
  * @param source - Initial document data which comes from a trusted source.
326
243
  * @param context - Model construction context
327
- * @remarks The generic parameters should fit the DataModel implementation that this method is called on.
328
- */
329
- static fromSource<Schema extends DataSchema>(
330
- source: fields.SchemaField.InnerAssignmentType<Schema>,
331
- {
332
- strict,
333
- ...context
334
- }?: DataModel.ConstructorOptions & {
335
- /**
336
- * Models created from trusted source data are validated non-strictly
337
- * @defaultValue `false`
338
- */
339
- strict?: boolean;
340
- },
341
- ): DataModel<Schema, DataModel.Any | null>;
244
+ * @remarks Returns `new this()` so needs an override per subclass.
245
+ */
246
+ static fromSource(source: never, { strict, ...context }?: DataModel.FromSourceOptions): DataModel.Any;
342
247
 
343
248
  /**
344
249
  * Create a DataModel instance using a provided serialized JSON string.
345
250
  * @param json - Serialized document data in string format
346
251
  * @returns A constructed data model instance
252
+ * @remarks Returns `new this()` so needs an override per subclass.
347
253
  */
348
- static fromJSON(json: string): ReturnType<(typeof DataModel)["fromSource"]>;
254
+ static fromJSON(json: string): DataModel.Any;
349
255
 
350
256
  /**
351
257
  * Migrate candidate source data for this DataModel which may require initial cleaning or transformations.
352
258
  * @param source - The candidate source data from which the model will be constructed
353
259
  * @returns Migrated source data, if necessary
354
260
  */
355
- static migrateData(source: AnyObject): AnyObject;
261
+ static migrateData(source: AnyMutableObject): AnyMutableObject;
356
262
 
357
263
  /**
358
264
  * Wrap data migration in a try/catch which attempts it safely
359
265
  * @param source - The candidate source data from which the model will be constructed
360
266
  * @returns Migrated source data, if necessary
361
267
  */
362
- static migrateDataSafe(source: AnyObject): AnyObject;
268
+ static migrateDataSafe(source: AnyMutableObject): AnyMutableObject;
363
269
 
364
270
  /**
365
271
  * Take data which conforms to the current data schema and add backwards-compatible accessors to it in order to
@@ -368,31 +274,33 @@ declare abstract class DataModel<
368
274
  * @param options - Additional shimming options
369
275
  * @returns Data with added backwards-compatible properties
370
276
  */
371
- static shimData(
372
- data: object,
373
- options?: {
374
- /**
375
- * Apply shims to embedded models?
376
- * @defaultValue `true`
377
- */
378
- embedded?: boolean;
379
- },
380
- ): object;
277
+ // options: not null (destructured)
278
+ static shimData(data: AnyMutableObject, options?: DataModel.ShimDataOptions): AnyMutableObject;
381
279
  }
382
280
 
383
281
  declare namespace DataModel {
384
- type ConstructorData<Schema extends DataSchema> =
385
- | fields.SchemaField.InnerAssignmentType<Schema>
386
- | DataModel<Schema, any>;
282
+ type CreateData<Schema extends DataSchema> = fields.SchemaField.AssignmentData<Schema> | DataModel<Schema, any>;
283
+
284
+ type ConstructorDataFor<ConcreteDataModel extends DataModel.Any> = CreateData<SchemaOf<ConcreteDataModel>>;
387
285
 
388
- type ConstructorDataFor<ConcreteDataModel extends DataModel.Any> = ConstructorData<SchemaOf<ConcreteDataModel>>;
286
+ // TODO(LukeAbby): Make optional only if `{}` is assignable to `AssignmentData`.
287
+ type ConstructorArgs<Schema extends DataSchema, Parent extends DataModel.Any | null = null> = [
288
+ data?: DataModel.CreateData<Schema>,
389
289
 
290
+ // Note(LukeAbby): `{ parent, strict, ...options }`
291
+ options?: DataModel.DataValidationOptions<Parent>,
292
+ ];
390
293
  /**
391
- * @deprecated {@link DataModel.DataValidationOptions | `DataModel.DataValidationOptions`}
294
+ * With the existence of custom module subtypes a system can no longer rely on their configured types being the only ones.
295
+ *
296
+ * `UnknownDataModel` covers the case where it's configured with a {@link DataModel | `DataModel`}.
297
+ * Using a {@link TypeDataModel | `TypeDataModel`} is recommended by Foundry but a {@link DataModel | `DataModel`} is
298
+ * always possible.
299
+ * See {@link UnknownSystem | `UnknownSystem`} for other possibilities.
392
300
  */
393
- type ConstructorOptions<Parent extends Any | null = null> = DataValidationOptions<Parent>;
301
+ interface UnknownDataModel extends DataModel<any, any, any> {}
394
302
 
395
- interface DataValidationOptions<Parent extends Any | null = null> {
303
+ interface DataValidationOptions<Parent extends Any | null = Any | null> {
396
304
  /**
397
305
  * Throw an error if validation fails.
398
306
  * @defaultValue `true`
@@ -429,17 +337,24 @@ declare namespace DataModel {
429
337
  parent?: Parent | null | undefined;
430
338
  }
431
339
 
432
- type Any = DataModel<DataSchema, any>;
433
-
434
- type AnyConstructor = typeof AnyDataModel;
340
+ interface Any extends AnyDataModel {}
341
+ interface AnyConstructor extends Identity<typeof AnyDataModel> {}
435
342
 
436
343
  /**
437
- * A helper type to extract the {@link SchemaOf} from a {@link DataModel}.
344
+ * A helper type to extract the schema from a {@link DataModel | `DataModel`}.
438
345
  * @typeParam ModelType - the DataModel for the embedded data
439
346
  */
440
347
  type SchemaOf<ModelType extends DataModel.Any> = ModelType["schema"]["fields"];
441
348
 
442
- type SchemaOfClass<ConcreteClass extends DataModel.AnyConstructor> = SchemaOf<InstanceType<ConcreteClass>>;
349
+ // Note(LukeAbby): This avoids writing `SchemaOf<InstanceType<ConcreteClass>>` to be robust to an issue with this snippet:
350
+ // ```ts
351
+ // EmbeddedDataField<typeof DataModel<{}>> extends SchemaField<infer SubSchema> ? SubSchema : never
352
+ // ```
353
+ type SchemaOfClass<ConcreteClass extends DataModel.AnyConstructor> = ConcreteClass extends abstract new (
354
+ ...args: infer _1
355
+ ) => { schema: { fields: infer Fields extends DataSchema } }
356
+ ? Fields
357
+ : never;
443
358
 
444
359
  interface UpdateOptions {
445
360
  dryRun?: boolean;
@@ -451,10 +366,81 @@ declare namespace DataModel {
451
366
  _diff: Record<string, unknown>;
452
367
  _backup: Record<string, unknown>;
453
368
  }
369
+
370
+ interface FromSourceOptions extends DataModel.DataValidationOptions {
371
+ /**
372
+ * Models created from trusted source data are validated non-strictly
373
+ * @defaultValue `false`
374
+ */
375
+ strict?: boolean;
376
+ }
377
+
378
+ interface ShimDataOptions {
379
+ /**
380
+ * Apply shims to embedded models?
381
+ * @defaultValue `true`
382
+ */
383
+ embedded?: boolean;
384
+ }
385
+
386
+ interface ValidateOptions<Schema extends DataSchema> {
387
+ /**
388
+ * A specific set of proposed changes to validate, rather than the full source data of the model.
389
+ */
390
+ changes?: fields.SchemaField.AssignmentData<Schema>;
391
+
392
+ /**
393
+ * If changes are provided, attempt to clean the changes before validating them?
394
+ * @defaultValue `false`
395
+ */
396
+ clean?: boolean;
397
+
398
+ /**
399
+ * Allow replacement of invalid values with valid defaults?
400
+ * @defaultValue `false`
401
+ */
402
+ fallback?: boolean;
403
+
404
+ /**
405
+ * If true, invalid embedded documents will emit a warning and
406
+ * be placed in the invalidDocuments collection rather than
407
+ * causing the parent to be considered invalid.
408
+ * @defaultValue `false`
409
+ */
410
+ dropInvalidEmbedded: boolean;
411
+
412
+ /**
413
+ * Throw if an invalid value is encountered, otherwise log a warning?
414
+ * @defaultValue `true`
415
+ */
416
+ strict?: boolean;
417
+
418
+ /**
419
+ * Perform validation on individual fields?
420
+ * @defaultValue `true`
421
+ */
422
+ fields?: boolean;
423
+
424
+ /**
425
+ * Perform joint validation on the full data model?
426
+ * Joint validation will be performed by default if no changes are passed.
427
+ * Joint validation will be disabled by default if changes are passed.
428
+ * Joint validation can be performed on a complete set of changes (for
429
+ * example testing a complete data model) by explicitly passing true.
430
+ */
431
+ joint?: boolean;
432
+ }
433
+
434
+ interface UpdateSourceOptions {
435
+ dryRun?: boolean;
436
+ fallback?: boolean;
437
+ recursive?: boolean;
438
+ }
454
439
  }
455
440
 
456
- declare abstract class AnyDataModel extends DataModel<any, any> {
457
- constructor(arg0: never, ...args: never[]);
441
+ // This uses `any` because `Schema` and `Parent` are invariant
442
+ declare abstract class AnyDataModel extends DataModel<DataSchema, any, AnyObject> {
443
+ constructor(...args: never);
458
444
  }
459
445
 
460
446
  // Matches foundry exporting class as both default and non-default