@league-of-foundry-developers/foundry-vtt-types 12.331.3-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 (559) hide show
  1. package/README.md +17 -18
  2. package/package.json +74 -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 -13
  26. package/src/foundry/client/apps/forms/image-popout.d.mts +29 -23
  27. package/src/foundry/client/apps/forms/item.d.mts +9 -9
  28. package/src/foundry/client/apps/forms/journal-page-sheet.d.mts +16 -14
  29. package/src/foundry/client/apps/forms/journal-sheet.d.mts +48 -38
  30. package/src/foundry/client/apps/forms/macro-config.d.mts +7 -7
  31. package/src/foundry/client/apps/forms/measure-template.d.mts +10 -12
  32. package/src/foundry/client/apps/forms/ownership.d.mts +5 -5
  33. package/src/foundry/client/apps/forms/playlist-config.d.mts +8 -10
  34. package/src/foundry/client/apps/forms/playlist-sound-config.d.mts +7 -7
  35. package/src/foundry/client/apps/forms/roll-table-config.d.mts +11 -10
  36. package/src/foundry/client/apps/forms/scene-config.d.mts +40 -41
  37. package/src/foundry/client/apps/forms/sheet-config.d.mts +9 -21
  38. package/src/foundry/client/apps/forms/user-config.d.mts +13 -12
  39. package/src/foundry/client/apps/hud/chatbubble.d.mts +18 -6
  40. package/src/foundry/client/apps/hud/container.d.mts +4 -4
  41. package/src/foundry/client/apps/hud/controls.d.mts +126 -81
  42. package/src/foundry/client/apps/hud/hotbar.d.mts +17 -12
  43. package/src/foundry/client/apps/hud/hud.d.mts +5 -5
  44. package/src/foundry/client/apps/hud/menu.d.mts +10 -3
  45. package/src/foundry/client/apps/hud/navigation.d.mts +14 -9
  46. package/src/foundry/client/apps/hud/pause.d.mts +9 -4
  47. package/src/foundry/client/apps/hud/players.d.mts +14 -9
  48. package/src/foundry/client/apps/i18n.d.mts +31 -27
  49. package/src/foundry/client/apps/index.d.mts +1 -0
  50. package/src/foundry/client/apps/placeables/drawing-config.d.mts +41 -33
  51. package/src/foundry/client/apps/placeables/drawing-hud.d.mts +5 -5
  52. package/src/foundry/client/apps/placeables/index.d.mts +0 -2
  53. package/src/foundry/client/apps/placeables/note-config.d.mts +28 -18
  54. package/src/foundry/client/apps/placeables/tile-config.d.mts +23 -10
  55. package/src/foundry/client/apps/placeables/tile-hud.d.mts +10 -5
  56. package/src/foundry/client/apps/placeables/token-config.d.mts +91 -58
  57. package/src/foundry/client/apps/placeables/token-hud.d.mts +12 -7
  58. package/src/foundry/client/apps/placeables/wall-config.d.mts +21 -17
  59. package/src/foundry/client/apps/sidebar/apps/chat-popout.d.mts +5 -5
  60. package/src/foundry/client/apps/sidebar/apps/client-settings.d.mts +3 -3
  61. package/src/foundry/client/apps/sidebar/apps/compendium.d.mts +15 -13
  62. package/src/foundry/client/apps/sidebar/apps/invitation-links.d.mts +3 -3
  63. package/src/foundry/client/apps/sidebar/apps/keybindings-config.d.mts +3 -2
  64. package/src/foundry/client/apps/sidebar/apps/module-management.d.mts +6 -6
  65. package/src/foundry/client/apps/sidebar/apps/permission-config.d.mts +6 -6
  66. package/src/foundry/client/apps/sidebar/apps/support-details.d.mts +34 -29
  67. package/src/foundry/client/apps/sidebar/apps/tours-management.d.mts +2 -2
  68. package/src/foundry/client/apps/sidebar/apps/world-config.d.mts +13 -10
  69. package/src/foundry/client/apps/sidebar/directory-tab-mixin.d.mts +50 -35
  70. package/src/foundry/client/apps/sidebar/document-directory.d.mts +52 -38
  71. package/src/foundry/client/apps/sidebar/package-configuration.d.mts +4 -4
  72. package/src/foundry/client/apps/sidebar/sidebar-tab.d.mts +3 -3
  73. package/src/foundry/client/apps/sidebar/sidebar.d.mts +9 -4
  74. package/src/foundry/client/apps/sidebar/tabs/actors-directory.d.mts +11 -2
  75. package/src/foundry/client/apps/sidebar/tabs/cards-directory.d.mts +11 -2
  76. package/src/foundry/client/apps/sidebar/tabs/chat-log.d.mts +39 -27
  77. package/src/foundry/client/apps/sidebar/tabs/combat-tracker.d.mts +21 -12
  78. package/src/foundry/client/apps/sidebar/tabs/compendium-directory.d.mts +30 -15
  79. package/src/foundry/client/apps/sidebar/tabs/items-directory.d.mts +11 -2
  80. package/src/foundry/client/apps/sidebar/tabs/journal-directory.d.mts +11 -2
  81. package/src/foundry/client/apps/sidebar/tabs/macros-directory.d.mts +14 -5
  82. package/src/foundry/client/apps/sidebar/tabs/playlists-directory.d.mts +30 -22
  83. package/src/foundry/client/apps/sidebar/tabs/roll-table-directory.d.mts +11 -2
  84. package/src/foundry/client/apps/sidebar/tabs/scenes-directory.d.mts +14 -5
  85. package/src/foundry/client/apps/sidebar/tabs/settings.d.mts +23 -5
  86. package/src/foundry/client/apps/templates.d.mts +1 -1
  87. package/src/foundry/client/av/client.d.mts +1 -1
  88. package/src/foundry/client/av/clients/simplepeer.d.mts +11 -1
  89. package/src/foundry/client/av/master.d.mts +2 -2
  90. package/src/foundry/client/av/settings.d.mts +17 -15
  91. package/src/foundry/client/config.d.mts +444 -312
  92. package/src/foundry/client/core/document-index.d.mts +11 -3
  93. package/src/foundry/client/core/hooks.d.mts +2 -4
  94. package/src/foundry/client/core/image.d.mts +14 -13
  95. package/src/foundry/client/core/issues.d.mts +9 -4
  96. package/src/foundry/client/core/keybindings.d.mts +5 -5
  97. package/src/foundry/client/core/nue.d.mts +1 -1
  98. package/src/foundry/client/core/packages.d.mts +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 -16
  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 +47 -55
  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 +81 -99
  118. package/src/foundry/client/data/collections/compendium-folders.d.mts +6 -6
  119. package/src/foundry/client/data/collections/compendium-packs.d.mts +5 -5
  120. package/src/foundry/client/data/collections/fog.d.mts +16 -3
  121. package/src/foundry/client/data/collections/folder.d.mts +20 -6
  122. package/src/foundry/client/data/collections/items.d.mts +17 -4
  123. package/src/foundry/client/data/collections/journal.d.mts +22 -7
  124. package/src/foundry/client/data/collections/macros.d.mts +21 -19
  125. package/src/foundry/client/data/collections/messages.d.mts +19 -6
  126. package/src/foundry/client/data/collections/playlists.d.mts +17 -5
  127. package/src/foundry/client/data/collections/scenes.d.mts +24 -27
  128. package/src/foundry/client/data/collections/settings.d.mts +16 -3
  129. package/src/foundry/client/data/collections/tables.d.mts +18 -5
  130. package/src/foundry/client/data/collections/users.d.mts +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 -64
  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 -87
  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 -35
  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 -147
  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 +1111 -94
  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 +60 -92
  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 +106 -94
  168. package/src/foundry/client/pixi/core/containers/base-canvas-group.d.mts +97 -25
  169. package/src/foundry/client/pixi/core/containers/cached-container.d.mts +37 -19
  170. package/src/foundry/client/pixi/core/containers/full-canvas-container.d.mts +7 -10
  171. package/src/foundry/client/pixi/core/containers/point-source-mesh.d.mts +25 -15
  172. package/src/foundry/client/pixi/core/containers/quad-mesh.d.mts +16 -6
  173. package/src/foundry/client/pixi/core/containers/quadtree.d.mts +113 -54
  174. package/src/foundry/client/pixi/core/containers/sprite-mesh.d.mts +69 -26
  175. package/src/foundry/client/pixi/core/containers/unbound-container.d.mts +20 -2
  176. package/src/foundry/client/pixi/core/interaction/canvas-animation.d.mts +164 -99
  177. package/src/foundry/client/pixi/core/interaction/control-icon.d.mts +61 -22
  178. package/src/foundry/client/pixi/core/interaction/mouse-handler.d.mts +120 -53
  179. package/src/foundry/client/pixi/core/interaction/ping.d.mts +62 -31
  180. package/src/foundry/client/pixi/core/interaction/pings/chevron.d.mts +23 -10
  181. package/src/foundry/client/pixi/core/interaction/pings/pulse.d.mts +91 -34
  182. package/src/foundry/client/pixi/core/interaction/render-flags.d.mts +76 -30
  183. package/src/foundry/client/pixi/core/interaction/resize-handle.d.mts +35 -5
  184. package/src/foundry/client/pixi/core/interaction/targets.d.mts +21 -18
  185. package/src/foundry/client/pixi/core/loader.d.mts +86 -76
  186. package/src/foundry/client/pixi/core/shapes/limited-angle-polygon.d.mts +42 -17
  187. package/src/foundry/client/pixi/core/shapes/polygon-mesher.d.mts +92 -64
  188. package/src/foundry/client/pixi/core/shapes/precise-text.d.mts +28 -10
  189. package/src/foundry/client/pixi/core/shapes/ray.d.mts +47 -23
  190. package/src/foundry/client/pixi/core/shapes/source-polygon.d.mts +170 -75
  191. package/src/foundry/client/pixi/extensions/circle.d.mts +128 -125
  192. package/src/foundry/client/pixi/extensions/graphics.d.mts +3 -1
  193. package/src/foundry/client/pixi/extensions/observable-transform.d.mts +5 -4
  194. package/src/foundry/client/pixi/extensions/polygon.d.mts +154 -134
  195. package/src/foundry/client/pixi/extensions/rectangle.d.mts +242 -259
  196. package/src/foundry/client/pixi/groups/effects.d.mts +75 -24
  197. package/src/foundry/client/pixi/groups/environment.d.mts +68 -19
  198. package/src/foundry/client/pixi/groups/hidden.d.mts +27 -11
  199. package/src/foundry/client/pixi/groups/interface.d.mts +62 -38
  200. package/src/foundry/client/pixi/groups/overlay.d.mts +19 -7
  201. package/src/foundry/client/pixi/groups/primary.d.mts +66 -44
  202. package/src/foundry/client/pixi/groups/rendered.d.mts +19 -7
  203. package/src/foundry/client/pixi/layers/base/canvas-layer.d.mts +11 -15
  204. package/src/foundry/client/pixi/layers/base/interaction-layer.d.mts +29 -28
  205. package/src/foundry/client/pixi/layers/base/placeables-layer.d.mts +306 -272
  206. package/src/foundry/client/pixi/layers/controls/cursor.d.mts +18 -9
  207. package/src/foundry/client/pixi/layers/controls/door.d.mts +32 -11
  208. package/src/foundry/client/pixi/layers/controls/layer.d.mts +89 -77
  209. package/src/foundry/client/pixi/layers/controls/ruler.d.mts +121 -96
  210. package/src/foundry/client/pixi/layers/effects/background-effects.d.mts +9 -12
  211. package/src/foundry/client/pixi/layers/effects/coloration-effects.d.mts +9 -10
  212. package/src/foundry/client/pixi/layers/effects/darkness-effects.d.mts +8 -8
  213. package/src/foundry/client/pixi/layers/effects/illumination-effects.d.mts +22 -22
  214. package/src/foundry/client/pixi/layers/effects/visibility.d.mts +106 -86
  215. package/src/foundry/client/pixi/layers/effects/weather/particles/effect.d.mts +14 -5
  216. package/src/foundry/client/pixi/layers/effects/weather/particles/leaves.d.mts +31 -2
  217. package/src/foundry/client/pixi/layers/effects/weather-effects.d.mts +137 -65
  218. package/src/foundry/client/pixi/layers/grid/highlight.d.mts +14 -4
  219. package/src/foundry/client/pixi/layers/grid/layer.d.mts +92 -92
  220. package/src/foundry/client/pixi/layers/grid/mesh.d.mts +37 -16
  221. package/src/foundry/client/pixi/layers/masks/depth.d.mts +12 -7
  222. package/src/foundry/client/pixi/layers/masks/occlusion.d.mts +19 -12
  223. package/src/foundry/client/pixi/layers/masks/vision.d.mts +104 -18
  224. package/src/foundry/client/pixi/layers/placeables/drawings.d.mts +16 -15
  225. package/src/foundry/client/pixi/layers/placeables/index.d.mts +1 -0
  226. package/src/foundry/client/pixi/layers/placeables/lighting.d.mts +12 -14
  227. package/src/foundry/client/pixi/layers/placeables/notes.d.mts +49 -32
  228. package/src/foundry/client/pixi/layers/placeables/regions.d.mts +113 -0
  229. package/src/foundry/client/pixi/layers/placeables/sounds.d.mts +81 -67
  230. package/src/foundry/client/pixi/layers/placeables/templates.d.mts +11 -15
  231. package/src/foundry/client/pixi/layers/placeables/tiles.d.mts +30 -21
  232. package/src/foundry/client/pixi/layers/placeables/tokens.d.mts +66 -52
  233. package/src/foundry/client/pixi/layers/placeables/walls.d.mts +54 -57
  234. package/src/foundry/client/pixi/perception/clockwise-sweep.d.mts +62 -27
  235. package/src/foundry/client/pixi/perception/detection-mode.d.mts +121 -47
  236. package/src/foundry/client/pixi/perception/fog.d.mts +38 -15
  237. package/src/foundry/client/pixi/perception/perception-manager.d.mts +136 -136
  238. package/src/foundry/client/pixi/perception/vision-mode.d.mts +91 -64
  239. package/src/foundry/client/pixi/perception/weiler-atherton-clipping.d.mts +44 -16
  240. package/src/foundry/client/pixi/placeable.d.mts +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 -100
  252. package/src/foundry/client/pixi/placeables/tile.d.mts +206 -140
  253. package/src/foundry/client/pixi/placeables/token.d.mts +916 -449
  254. package/src/foundry/client/pixi/placeables/wall.d.mts +249 -129
  255. package/src/foundry/client/pixi/webgl/extensions/batch-renderer.d.mts +72 -33
  256. package/src/foundry/client/pixi/webgl/extensions/batch-shader-generator.d.mts +10 -9
  257. package/src/foundry/client/pixi/webgl/helpers/{framebugger-snapshot.d.mts → framebuffer-snapshot.d.mts} +10 -9
  258. package/src/foundry/client/pixi/webgl/helpers/index.d.mts +1 -1
  259. package/src/foundry/client/pixi/webgl/helpers/smooth-noise.d.mts +38 -23
  260. package/src/foundry/client/pixi/webgl/helpers/texture-extractor.d.mts +82 -53
  261. package/src/foundry/client/pixi/webgl/shaders/base-shader-mixin.d.mts +12 -12
  262. package/src/foundry/client/pixi/webgl/shaders/base-shader.d.mts +45 -28
  263. package/src/foundry/client/pixi/webgl/shaders/filters/base-filter.d.mts +12 -11
  264. package/src/foundry/client/pixi/webgl/shaders/filters/base-mask-filter.d.mts +12 -10
  265. package/src/foundry/client/pixi/webgl/shaders/filters/blur.d.mts +22 -20
  266. package/src/foundry/client/pixi/webgl/shaders/filters/effects-masking.d.mts +36 -32
  267. package/src/foundry/client/pixi/webgl/shaders/filters/environment.d.mts +10 -9
  268. package/src/foundry/client/pixi/webgl/shaders/filters/glow-overlay.d.mts +12 -11
  269. package/src/foundry/client/pixi/webgl/shaders/filters/invisibility.d.mts +10 -9
  270. package/src/foundry/client/pixi/webgl/shaders/filters/outline-overlay.d.mts +12 -11
  271. package/src/foundry/client/pixi/webgl/shaders/filters/transition.d.mts +67 -60
  272. package/src/foundry/client/pixi/webgl/shaders/filters/visibility.d.mts +24 -17
  273. package/src/foundry/client/pixi/webgl/shaders/filters/vision-mask-filter.d.mts +13 -10
  274. package/src/foundry/client/pixi/webgl/shaders/filters/void.d.mts +10 -9
  275. package/src/foundry/client/pixi/webgl/shaders/filters/weather-occlusion-masks.d.mts +11 -10
  276. package/src/foundry/client/pixi/webgl/shaders/fragment-channel-mixin.d.mts +20 -14
  277. package/src/foundry/client/pixi/webgl/shaders/grid/grid.d.mts +12 -11
  278. package/src/foundry/client/pixi/webgl/shaders/lighting/background-lighting.d.mts +10 -9
  279. package/src/foundry/client/pixi/webgl/shaders/lighting/base-lighting.d.mts +33 -33
  280. package/src/foundry/client/pixi/webgl/shaders/lighting/coloration-lighting.d.mts +10 -9
  281. package/src/foundry/client/pixi/webgl/shaders/lighting/darkness-lighting.d.mts +10 -9
  282. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/bewitching-wave.d.mts +19 -17
  283. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/black-hole.d.mts +10 -9
  284. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/chroma.d.mts +10 -9
  285. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/emanation.d.mts +10 -9
  286. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/energy-field.d.mts +10 -9
  287. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fairy-light.d.mts +19 -17
  288. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/flame.d.mts +19 -17
  289. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fog.d.mts +10 -9
  290. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/force-grid.d.mts +10 -8
  291. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/ghost-light.d.mts +19 -17
  292. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/hexa-dome.d.mts +10 -9
  293. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/light-dome.d.mts +10 -9
  294. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/magical-gloom.d.mts +10 -9
  295. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/pulse.d.mts +19 -17
  296. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/radial-rainbow.d.mts +10 -9
  297. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/revolving-light.d.mts +10 -9
  298. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/roiling-mass.d.mts +10 -9
  299. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/siren-light.d.mts +19 -17
  300. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/smoke-patch.d.mts +20 -17
  301. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/star-light.d.mts +10 -9
  302. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/sunburst.d.mts +19 -17
  303. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/swirling-rainbow.d.mts +10 -9
  304. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/torch.d.mts +19 -17
  305. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/vortex.d.mts +19 -17
  306. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/wave.d.mts +19 -17
  307. package/src/foundry/client/pixi/webgl/shaders/lighting/illumination-lighting.d.mts +10 -9
  308. package/src/foundry/client/pixi/webgl/shaders/region/adjust-darkness-level.d.mts +71 -29
  309. package/src/foundry/client/pixi/webgl/shaders/region/base.d.mts +54 -10
  310. package/src/foundry/client/pixi/webgl/shaders/region/highlight.d.mts +69 -9
  311. package/src/foundry/client/pixi/webgl/shaders/samplers/base-sampler.d.mts +24 -25
  312. package/src/foundry/client/pixi/webgl/shaders/samplers/baseline-illumination.d.mts +10 -9
  313. package/src/foundry/client/pixi/webgl/shaders/samplers/color-adjustment.d.mts +38 -29
  314. package/src/foundry/client/pixi/webgl/shaders/samplers/depth.d.mts +21 -17
  315. package/src/foundry/client/pixi/webgl/shaders/samplers/fog-of-war.d.mts +10 -9
  316. package/src/foundry/client/pixi/webgl/shaders/samplers/occlusion.d.mts +20 -18
  317. package/src/foundry/client/pixi/webgl/shaders/samplers/primary.d.mts +11 -2
  318. package/src/foundry/client/pixi/webgl/shaders/samplers/token-ring.d.mts +28 -2
  319. package/src/foundry/client/pixi/webgl/shaders/vision/background-vision.d.mts +10 -9
  320. package/src/foundry/client/pixi/webgl/shaders/vision/base-vision.d.mts +11 -9
  321. package/src/foundry/client/pixi/webgl/shaders/vision/coloration-vision.d.mts +10 -9
  322. package/src/foundry/client/pixi/webgl/shaders/vision/effects/amplification.d.mts +10 -9
  323. package/src/foundry/client/pixi/webgl/shaders/vision/effects/wave.d.mts +19 -17
  324. package/src/foundry/client/pixi/webgl/shaders/vision/illumination-vision.d.mts +10 -9
  325. package/src/foundry/client/pixi/webgl/shaders/weather/base-weather.d.mts +40 -36
  326. package/src/foundry/client/pixi/webgl/shaders/weather/effect.d.mts +27 -33
  327. package/src/foundry/client/pixi/webgl/shaders/weather/fog.d.mts +17 -16
  328. package/src/foundry/client/pixi/webgl/shaders/weather/rain.d.mts +19 -18
  329. package/src/foundry/client/pixi/webgl/shaders/weather/snow.d.mts +15 -14
  330. package/src/foundry/client/pixi/workers/texture-worker.d.mts +33 -53
  331. package/src/foundry/client/tours/setup-tour.d.mts +15 -10
  332. package/src/foundry/client/ui/context.d.mts +48 -40
  333. package/src/foundry/client/ui/dialog.d.mts +137 -126
  334. package/src/foundry/client/ui/drag.d.mts +1 -1
  335. package/src/foundry/client/ui/dragdrop.d.mts +34 -28
  336. package/src/foundry/client/ui/editor.d.mts +29 -21
  337. package/src/foundry/client/ui/filepicker.d.mts +43 -38
  338. package/src/foundry/client/ui/filter.d.mts +62 -50
  339. package/src/foundry/client/ui/forms.d.mts +22 -22
  340. package/src/foundry/client/ui/notifications.d.mts +10 -3
  341. package/src/foundry/client/ui/prosemirror.d.mts +15 -7
  342. package/src/foundry/client/ui/secrets.d.mts +42 -27
  343. package/src/foundry/client/ui/tabs.d.mts +40 -33
  344. package/src/foundry/client-esm/applications/_module.d.mts +3 -3
  345. package/src/foundry/client-esm/applications/_types.d.mts +0 -2
  346. package/src/foundry/client-esm/applications/api/_module.d.mts +2 -2
  347. package/src/foundry/client-esm/applications/api/application.d.mts +36 -19
  348. package/src/foundry/client-esm/applications/api/dialog.d.mts +20 -22
  349. package/src/foundry/client-esm/applications/api/document-sheet.d.mts +26 -12
  350. package/src/foundry/client-esm/applications/api/handlebars-application.d.mts +142 -126
  351. package/src/foundry/client-esm/applications/apps/_module.d.mts +2 -2
  352. package/src/foundry/client-esm/applications/apps/compendium-art-config.d.mts +10 -10
  353. package/src/foundry/client-esm/applications/apps/permission-config.d.mts +3 -3
  354. package/src/foundry/client-esm/applications/dice/_module.d.mts +2 -2
  355. package/src/foundry/client-esm/applications/dice/roll-resolver.d.mts +14 -2
  356. package/src/foundry/client-esm/applications/elements/_module.d.mts +2 -2
  357. package/src/foundry/client-esm/applications/elements/document-tags.d.mts +2 -0
  358. package/src/foundry/client-esm/applications/elements/file-picker.d.mts +1 -1
  359. package/src/foundry/client-esm/applications/elements/multi-select.d.mts +15 -5
  360. package/src/foundry/client-esm/applications/elements/string-tags.d.mts +1 -1
  361. package/src/foundry/client-esm/applications/forms/fields.d.mts +1 -1
  362. package/src/foundry/client-esm/applications/sheets/_module.d.mts +2 -2
  363. package/src/foundry/client-esm/applications/sheets/actor-sheet.d.mts +3 -3
  364. package/src/foundry/client-esm/applications/sheets/ambient-light-config.d.mts +10 -8
  365. package/src/foundry/client-esm/applications/sheets/ambient-sound-config.d.mts +9 -7
  366. package/src/foundry/client-esm/applications/sheets/item-sheet.d.mts +3 -3
  367. package/src/foundry/client-esm/applications/sheets/region-behavior-config.d.mts +30 -5
  368. package/src/foundry/client-esm/applications/sheets/region-config.d.mts +36 -5
  369. package/src/foundry/client-esm/applications/sheets/user-config.d.mts +8 -7
  370. package/src/foundry/client-esm/applications/ui/_module.d.mts +2 -2
  371. package/src/foundry/client-esm/applications/ui/region-legend.d.mts +45 -3
  372. package/src/foundry/client-esm/audio/_module.d.mts +2 -3
  373. package/src/foundry/client-esm/audio/_types.d.mts +2 -0
  374. package/src/foundry/client-esm/audio/biquad.d.mts +76 -26
  375. package/src/foundry/client-esm/audio/cache.d.mts +31 -20
  376. package/src/foundry/client-esm/audio/convolver.d.mts +47 -25
  377. package/src/foundry/client-esm/audio/helper.d.mts +124 -80
  378. package/src/foundry/client-esm/audio/sound.d.mts +230 -126
  379. package/src/foundry/client-esm/audio/timeout.d.mts +28 -12
  380. package/src/foundry/client-esm/canvas/_module.d.mts +2 -2
  381. package/src/foundry/client-esm/canvas/edges/_module.d.mts +2 -2
  382. package/src/foundry/client-esm/canvas/edges/collision.d.mts +69 -18
  383. package/src/foundry/client-esm/canvas/edges/edge.d.mts +110 -41
  384. package/src/foundry/client-esm/canvas/edges/edges.d.mts +10 -0
  385. package/src/foundry/client-esm/canvas/edges/vertex.d.mts +56 -26
  386. package/src/foundry/client-esm/canvas/regions/_module.d.mts +6 -11
  387. package/src/foundry/client-esm/canvas/regions/geometry.d.mts +38 -0
  388. package/src/foundry/client-esm/canvas/regions/mesh.d.mts +72 -0
  389. package/src/foundry/client-esm/canvas/regions/polygon-tree.d.mts +130 -0
  390. package/src/foundry/client-esm/canvas/regions/shape.d.mts +129 -0
  391. package/src/foundry/client-esm/canvas/scene-manager.d.mts +13 -3
  392. package/src/foundry/client-esm/canvas/smaa/blend.d.mts +14 -3
  393. package/src/foundry/client-esm/canvas/smaa/edges.d.mts +25 -3
  394. package/src/foundry/client-esm/canvas/smaa/smaa.d.mts +121 -23
  395. package/src/foundry/client-esm/canvas/smaa/weights.d.mts +26 -3
  396. package/src/foundry/client-esm/canvas/sources/_module.d.mts +2 -2
  397. package/src/foundry/client-esm/canvas/sources/base-effect-source.d.mts +84 -40
  398. package/src/foundry/client-esm/canvas/sources/base-light-source.d.mts +103 -39
  399. package/src/foundry/client-esm/canvas/sources/global-light-source.d.mts +89 -15
  400. package/src/foundry/client-esm/canvas/sources/point-darkness-source.d.mts +71 -27
  401. package/src/foundry/client-esm/canvas/sources/point-effect-source.d.mts +49 -20
  402. package/src/foundry/client-esm/canvas/sources/point-light-source.d.mts +57 -16
  403. package/src/foundry/client-esm/canvas/sources/point-movement-source.d.mts +31 -4
  404. package/src/foundry/client-esm/canvas/sources/point-sound-source.d.mts +45 -12
  405. package/src/foundry/client-esm/canvas/sources/point-vision-source.d.mts +98 -52
  406. package/src/foundry/client-esm/canvas/sources/rendered-effect-source.d.mts +180 -69
  407. package/src/foundry/client-esm/canvas/tokens/_module.d.mts +2 -3
  408. package/src/foundry/client-esm/canvas/tokens/ring-config.d.mts +175 -2
  409. package/src/foundry/client-esm/canvas/tokens/ring-data.d.mts +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 +11 -14
  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 +132 -154
  446. package/src/foundry/common/abstract/document.d.mts +1306 -438
  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 +58 -55
  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 +700 -644
  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 -179
  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 -94
  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 -156
  493. package/src/foundry/common/grid/_module.d.mts +3 -3
  494. package/src/foundry/common/grid/base.d.mts +66 -49
  495. package/src/foundry/common/grid/gridless.d.mts +2 -2
  496. package/src/foundry/common/grid/hexagonal.d.mts +35 -28
  497. package/src/foundry/common/grid/square.d.mts +3 -3
  498. package/src/foundry/common/packages/base-module.d.mts +6 -24
  499. package/src/foundry/common/packages/base-package.d.mts +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/helpers.d.mts +36 -26
  527. package/src/foundry/common/utils/http.d.mts +2 -2
  528. package/src/foundry/common/utils/module.d.mts +2 -2
  529. package/src/foundry/common/utils/string-tree.d.mts +45 -39
  530. package/src/foundry/common/utils/word-tree.d.mts +10 -23
  531. package/src/foundry/index.d.mts +0 -1
  532. package/src/foundry/{clipper → public/scripts/clipper}/clipper.d.mts +58 -16
  533. package/src/foundry/public/scripts/index.d.mts +1 -0
  534. package/src/foundry/public/scripts/workers/image-compressor.d.mts +23 -0
  535. package/src/foundry/public/scripts/workers/index.d.mts +1 -0
  536. package/{index-lenient.d.mts → src/index-lenient.d.mts} +2 -0
  537. package/src/index.d.mts +6 -0
  538. package/src/tsconfig.json +15 -0
  539. package/src/types/augments/particles.d.mts +29 -0
  540. package/src/types/augments/pixi.d.mts +1024 -21
  541. package/src/types/augments/smooth.d.mts +31 -0
  542. package/src/types/augments/tinyMCE.d.mts +1 -1
  543. package/src/types/config.d.mts +20 -312
  544. package/src/types/documentConfiguration.d.mts +286 -542
  545. package/src/types/index.d.mts +1 -1
  546. package/src/types/lib.d.mts +12 -0
  547. package/src/types/workers/image-compressor.d.mts +176 -0
  548. package/src/utils/index.d.mts +1279 -0
  549. package/tsconfig.json +29 -0
  550. package/tsconfig.main.json +8 -0
  551. package/tsconfig.miscellaneous.json +16 -0
  552. package/index.d.mts +0 -5
  553. package/src/foundry/client/apps/placeables/light-config.d.mts +0 -100
  554. package/src/foundry/client/apps/placeables/sound-config.d.mts +0 -43
  555. package/src/foundry/common/documents/module.d.mts +0 -35
  556. package/src/foundry/common/primitives/regex.d.mts +0 -12
  557. package/src/types/helperTypes.d.mts +0 -583
  558. package/src/types/utils.d.mts +0 -539
  559. /package/src/foundry/{clipper → public/scripts/clipper}/index.d.mts +0 -0
@@ -1,22 +1,489 @@
1
- import type { InexactPartial } from "../../../../types/utils.d.mts";
1
+ import type { InexactPartial, Merge } from "fvtt-types/utils";
2
+ import type { documents } from "../../../client-esm/client.d.mts";
2
3
  import type Document from "../../../common/abstract/document.d.mts";
3
- import type { DocumentDatabaseOperations } from "../../../common/abstract/document.d.mts";
4
- import type BaseRollTable from "../../../common/documents/roll-table.d.mts";
4
+ import type { DataSchema } from "../../../common/data/fields.d.mts";
5
+ import type { fields } from "../../../common/data/module.d.mts";
5
6
 
6
7
  declare global {
7
8
  namespace RollTable {
8
- type Metadata = Document.MetadataFor<RollTable>;
9
+ /**
10
+ * The document's name.
11
+ */
12
+ type Name = "RollTable";
13
+
14
+ /**
15
+ * The arguments to construct the document.
16
+ */
17
+ type ConstructorArgs = Document.ConstructorParameters<CreateData, Parent>;
18
+
19
+ /**
20
+ * The documents embedded within `RollTable`.
21
+ */
22
+ type Hierarchy = Readonly<Document.HierarchyOf<Schema>>;
23
+
24
+ /**
25
+ * The implementation of the `RollTable` document instance configured through `CONFIG.RollTable.documentClass` in Foundry and
26
+ * {@link DocumentClassConfig | `DocumentClassConfig`} or {@link ConfiguredRollTable | `fvtt-types/configuration/ConfiguredRollTable`} in fvtt-types.
27
+ */
28
+ type Implementation = Document.ImplementationFor<Name>;
29
+
30
+ /**
31
+ * The implementation of the `RollTable` document configured through `CONFIG.RollTable.documentClass` in Foundry and
32
+ * {@link DocumentClassConfig | `DocumentClassConfig`} in fvtt-types.
33
+ */
34
+ type ImplementationClass = Document.ImplementationClassFor<Name>;
35
+
36
+ /**
37
+ * A document's metadata is special information about the document ranging anywhere from its name,
38
+ * whether it's indexed, or to the permissions a user has over it.
39
+ */
40
+ interface Metadata
41
+ extends Merge<
42
+ Document.Metadata.Default,
43
+ Readonly<{
44
+ name: "RollTable";
45
+ collection: "tables";
46
+ indexed: true;
47
+ compendiumIndexFields: ["_id", "name", "img", "sort", "folder"];
48
+ embedded: Metadata.Embedded;
49
+ label: string;
50
+ labelPlural: string;
51
+ schemaVersion: string;
52
+ }>
53
+ > {}
54
+
55
+ namespace Metadata {
56
+ /**
57
+ * The embedded metadata
58
+ */
59
+ interface Embedded {
60
+ TableResult: "results";
61
+ }
62
+ }
63
+
64
+ /**
65
+ * A document's parent is something that can contain it.
66
+ * For example an `Item` can be contained by an `Actor` which makes `Actor` one of its possible parents.
67
+ */
68
+ type Parent = null;
69
+
70
+ /**
71
+ * A document's direct descendants are documents that are contained directly within its schema.
72
+ * This is a union of all such instances, or never if the document doesn't have any descendants.
73
+ */
74
+ type DirectDescendant = TableResult.Stored;
75
+
76
+ /**
77
+ * A document's direct descendants are documents that are contained directly within its schema.
78
+ * This is a union of all such classes, or never if the document doesn't have any descendants.
79
+ */
80
+ type DirectDescendantClass = TableResult.ImplementationClass;
81
+
82
+ /**
83
+ * A document's descendants are any documents that are contained within, either within its schema
84
+ * or its descendant's schemas.
85
+ * This is a union of all such instances, or never if the document doesn't have any descendants.
86
+ */
87
+ type Descendant = DirectDescendant;
88
+
89
+ /**
90
+ * A document's descendants are any child documents, grandchild documents, etc.
91
+ * This is a union of all classes, or never if the document doesn't have any descendants.
92
+ */
93
+ type DescendantClass = DirectDescendantClass;
94
+ /**
95
+ * Types of `CompendiumCollection` this document might be contained in.
96
+ * Note that `this.pack` will always return a string; this is the type for `game.packs.get(this.pack)`
97
+ */
98
+ // Note: Takes any document in the heritage chain (i.e. itself or any parent, transitive or not) that can be contained in a compendium.
99
+ type Pack = CompendiumCollection.ForDocument<Name>;
100
+
101
+ /**
102
+ * An embedded document is a document contained in another.
103
+ * For example an `Item` can be contained by an `Actor` which means `Item` can be embedded in `Actor`.
104
+ *
105
+ * If this is `never` it is because there are no embeddable documents (or there's a bug!).
106
+ */
107
+ type Embedded = Document.ImplementationFor<Embedded.Name>;
108
+
109
+ namespace Embedded {
110
+ /**
111
+ * An embedded document is a document contained in another.
112
+ * For example an `Item` can be contained by an `Actor` which means `Item` can be embedded in `Actor`.
113
+ *
114
+ * If this is `never` it is because there are no embeddable documents (or there's a bug!).
115
+ */
116
+ type Name = keyof Metadata.Embedded;
117
+
118
+ /**
119
+ * Gets the collection name for an embedded document.
120
+ */
121
+ type CollectionNameOf<CollectionName extends Embedded.CollectionName> = Document.Embedded.CollectionNameFor<
122
+ Metadata.Embedded,
123
+ CollectionName
124
+ >;
125
+
126
+ /**
127
+ * Gets the collection document for an embedded document.
128
+ */
129
+ // TODO(LukeAbby): There's a circularity. Should be `Document.Embedded.CollectionDocumentFor<Metadata.Embedded, CollectionName>`
130
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
131
+ type DocumentFor<CollectionName extends Embedded.CollectionName> = Document.Any;
132
+
133
+ /**
134
+ * Gets the collection for an embedded document.
135
+ */
136
+ type CollectionFor<CollectionName extends Embedded.CollectionName> = Document.Embedded.CollectionFor<
137
+ // TODO(LukeAbby): This should be `TokenDocument.Implementation` but this causes a circularity.
138
+ Document.Any,
139
+ Metadata.Embedded,
140
+ CollectionName
141
+ >;
142
+
143
+ /**
144
+ * A valid name to refer to a collection embedded in this document. For example an `Actor`
145
+ * has the key `"items"` which contains `Item` instance which would make both `"Item" | "Items"`
146
+ * valid keys (amongst others).
147
+ */
148
+ type CollectionName = Document.Embedded.CollectionName<Metadata.Embedded>;
149
+ }
150
+
151
+ /**
152
+ * The name of the world or embedded collection this document can find itself in.
153
+ * For example an `Item` is always going to be inside a collection with a key of `items`.
154
+ * This is a fixed string per document type and is primarily useful for {@link ClientDocumentMixin | `Descendant Document Events`}.
155
+ */
156
+ type ParentCollectionName = Metadata["collection"];
157
+
158
+ /**
159
+ * The world collection that contains `RollTable`s. Will be `never` if none exists.
160
+ */
161
+ type CollectionClass = RollTables.ConfiguredClass;
162
+
163
+ /**
164
+ * The world collection that contains `RollTable`s. Will be `never` if none exists.
165
+ */
166
+ type Collection = RollTables.Configured;
9
167
 
10
- type ConfiguredClass = Document.ConfiguredClassForName<"RollTable">;
11
- type ConfiguredInstance = Document.ConfiguredInstanceForName<"RollTable">;
168
+ /**
169
+ * An instance of `RollTable` that comes from the database but failed validation meaining that
170
+ * its `system` and `_source` could theoretically be anything.
171
+ */
172
+ interface Invalid extends Document.Invalid<RollTable.Implementation> {}
12
173
 
13
- interface DatabaseOperations extends DocumentDatabaseOperations<RollTable> {}
174
+ /**
175
+ * An instance of `RollTable` that comes from the database.
176
+ */
177
+ interface Stored extends Document.Stored<RollTable.Implementation> {}
14
178
 
15
- // Helpful aliases
16
- type ConstructorData = BaseRollTable.ConstructorData;
17
- type UpdateData = BaseRollTable.UpdateData;
18
- type Schema = BaseRollTable.Schema;
19
- type Source = BaseRollTable.Source;
179
+ /**
180
+ * The data put in {@link RollTable._source | `RollTable#_source`}. This data is what was
181
+ * persisted to the database and therefore it must be valid JSON.
182
+ *
183
+ * For example a {@link fields.SetField | `SetField`} is persisted to the database as an array
184
+ * but initialized as a {@link Set | `Set`}.
185
+ */
186
+ interface Source extends fields.SchemaField.SourceData<Schema> {}
187
+
188
+ /**
189
+ * @deprecated {@link RollTable.Source | `RollTable.Source`}
190
+ */
191
+ type PersistedData = Source;
192
+
193
+ /**
194
+ * The data necessary to create a document. Used in places like {@link RollTable.create | `RollTable.create`}
195
+ * and {@link RollTable | `new RollTable(...)`}.
196
+ *
197
+ * For example a {@link fields.SetField | `SetField`} can accept any {@link Iterable | `Iterable`}
198
+ * with the right values. This means you can pass a `Set` instance, an array of values,
199
+ * a generator, or any other iterable.
200
+ */
201
+ interface CreateData extends fields.SchemaField.CreateData<Schema> {}
202
+
203
+ /**
204
+ * The data after a {@link foundry.abstract.Document | `Document`} has been initialized, for example
205
+ * {@link RollTable.name | `RollTable#name`}.
206
+ *
207
+ * This is data transformed from {@link RollTable.Source | `RollTable.Source`} and turned into more
208
+ * convenient runtime data structures. For example a {@link fields.SetField | `SetField`} is
209
+ * persisted to the database as an array of values but at runtime it is a `Set` instance.
210
+ */
211
+ interface InitializedData extends fields.SchemaField.InitializedData<Schema> {}
212
+
213
+ /**
214
+ * The data used to update a document, for example {@link RollTable.update | `RollTable#update`}.
215
+ * It is a distinct type from {@link RollTable.CreateData | `DeepPartial<RollTable.CreateData>`} because
216
+ * it has different rules for `null` and `undefined`.
217
+ */
218
+ interface UpdateData extends fields.SchemaField.UpdateData<Schema> {}
219
+
220
+ /**
221
+ * The schema for {@link RollTable | `RollTable`}. This is the source of truth for how an RollTable document
222
+ * must be structured.
223
+ *
224
+ * Foundry uses this schema to validate the structure of the {@link RollTable | `RollTable`}. For example
225
+ * a {@link fields.StringField | `StringField`} will enforce that the value is a string. More
226
+ * complex fields like {@link fields.SetField | `SetField`} goes through various conversions
227
+ * starting as an array in the database, initialized as a set, and allows updates with any
228
+ * iterable.
229
+ */
230
+ interface Schema extends DataSchema {
231
+ /**
232
+ * The _id which uniquely identifies this RollTable document
233
+ * @defaultValue `null`
234
+ */
235
+ _id: fields.DocumentIdField;
236
+
237
+ /**
238
+ * The name of this RollTable
239
+ * @defaultValue `""`
240
+ */
241
+ name: fields.StringField<{ required: true; blank: false; textSearch: true }>;
242
+
243
+ /**
244
+ * An image file path which provides the thumbnail artwork for this RollTable
245
+ * @defaultValue `BaseRollTable.DEFAULT_ICON`
246
+ */
247
+ img: fields.FilePathField<{
248
+ categories: ["IMAGE"];
249
+ initial: () => typeof documents.BaseRollTable.DEFAULT_ICON;
250
+ }>;
251
+
252
+ /**
253
+ * The HTML text description for this RollTable document
254
+ * @defaultValue `""`
255
+ */
256
+ description: fields.StringField<{ textSearch: true }>;
257
+
258
+ /**
259
+ * A Collection of TableResult embedded documents which belong to this RollTable
260
+ * @defaultValue `[]`
261
+ */
262
+ results: fields.EmbeddedCollectionField<typeof documents.BaseTableResult, RollTable.Implementation>;
263
+
264
+ /**
265
+ * The Roll formula which determines the results chosen from the table
266
+ * @defaultValue `""`
267
+ */
268
+ formula: fields.StringField;
269
+
270
+ /**
271
+ * Are results from this table drawn with replacement?
272
+ * @defaultValue `true`
273
+ */
274
+ replacement: fields.BooleanField<{ initial: true }>;
275
+
276
+ /**
277
+ * Is the Roll result used to draw from this RollTable displayed in chat?
278
+ * @defaultValue `true`
279
+ */
280
+ displayRoll: fields.BooleanField<{ initial: true }>;
281
+
282
+ /**
283
+ * The _id of a Folder which contains this RollTable
284
+ * @defaultValue `null`
285
+ */
286
+ folder: fields.ForeignDocumentField<typeof documents.BaseFolder>;
287
+
288
+ /**
289
+ * The numeric sort value which orders this RollTable relative to its siblings
290
+ * @defaultValue `0`
291
+ */
292
+ sort: fields.IntegerSortField;
293
+
294
+ /**
295
+ * An object which configures ownership of this RollTable
296
+ * @defaultValue see {@link fields.DocumentOwnershipField | `fields.DocumentOwnershipField`}
297
+ */
298
+ ownership: fields.DocumentOwnershipField;
299
+
300
+ /**
301
+ * An object of optional key/value flags
302
+ * @defaultValue `{}`
303
+ */
304
+ flags: fields.ObjectField.FlagsField<Name>;
305
+
306
+ /**
307
+ * An object of creation and access information
308
+ * @defaultValue see {@link fields.DocumentStatsField | `fields.DocumentStatsField`}
309
+ */
310
+ _stats: fields.DocumentStatsField;
311
+ }
312
+
313
+ namespace Database {
314
+ /** Options passed along in Get operations for RollTables */
315
+ interface Get extends foundry.abstract.types.DatabaseGetOperation<RollTable.Parent> {}
316
+
317
+ /** Options passed along in Create operations for RollTables */
318
+ interface Create<Temporary extends boolean | undefined = boolean | undefined>
319
+ extends foundry.abstract.types.DatabaseCreateOperation<RollTable.CreateData, RollTable.Parent, Temporary> {}
320
+
321
+ /** Options passed along in Delete operations for RollTables */
322
+ interface Delete extends foundry.abstract.types.DatabaseDeleteOperation<RollTable.Parent> {}
323
+
324
+ /** Options passed along in Update operations for RollTables */
325
+ interface Update extends foundry.abstract.types.DatabaseUpdateOperation<RollTable.UpdateData, RollTable.Parent> {}
326
+
327
+ /** Operation for {@link RollTable.createDocuments | `RollTable.createDocuments`} */
328
+ interface CreateDocumentsOperation<Temporary extends boolean | undefined>
329
+ extends Document.Database.CreateOperation<RollTable.Database.Create<Temporary>> {}
330
+
331
+ /** Operation for {@link RollTable.updateDocuments | `RollTable.updateDocuments`} */
332
+ interface UpdateDocumentsOperation
333
+ extends Document.Database.UpdateDocumentsOperation<RollTable.Database.Update> {}
334
+
335
+ /** Operation for {@link RollTable.deleteDocuments | `RollTable.deleteDocuments`} */
336
+ interface DeleteDocumentsOperation
337
+ extends Document.Database.DeleteDocumentsOperation<RollTable.Database.Delete> {}
338
+
339
+ /** Operation for {@link RollTable.create | `RollTable.create`} */
340
+ interface CreateOperation<Temporary extends boolean | undefined>
341
+ extends Document.Database.CreateOperation<RollTable.Database.Create<Temporary>> {}
342
+
343
+ /** Operation for {@link RollTable.update | `RollTable#update`} */
344
+ interface UpdateOperation extends Document.Database.UpdateOperation<Update> {}
345
+
346
+ interface DeleteOperation extends Document.Database.DeleteOperation<Delete> {}
347
+
348
+ /** Options for {@link RollTable.get | `RollTable.get`} */
349
+ interface GetOptions extends Document.Database.GetOptions {}
350
+
351
+ /** Options for {@link RollTable._preCreate | `RollTable#_preCreate`} */
352
+ interface PreCreateOptions extends Document.Database.PreCreateOptions<Create> {}
353
+
354
+ /** Options for {@link RollTable._onCreate | `RollTable#_onCreate`} */
355
+ interface OnCreateOptions extends Document.Database.CreateOptions<Create> {}
356
+
357
+ /** Operation for {@link RollTable._preCreateOperation | `RollTable._preCreateOperation`} */
358
+ interface PreCreateOperation extends Document.Database.PreCreateOperationStatic<RollTable.Database.Create> {}
359
+
360
+ /** Operation for {@link RollTable._onCreateOperation | `RollTable#_onCreateOperation`} */
361
+ interface OnCreateOperation extends RollTable.Database.Create {}
362
+
363
+ /** Options for {@link RollTable._preUpdate | `RollTable#_preUpdate`} */
364
+ interface PreUpdateOptions extends Document.Database.PreUpdateOptions<Update> {}
365
+
366
+ /** Options for {@link RollTable._onUpdate | `RollTable#_onUpdate`} */
367
+ interface OnUpdateOptions extends Document.Database.UpdateOptions<Update> {}
368
+
369
+ /** Operation for {@link RollTable._preUpdateOperation | `RollTable._preUpdateOperation`} */
370
+ interface PreUpdateOperation extends RollTable.Database.Update {}
371
+
372
+ /** Operation for {@link RollTable._onUpdateOperation | `RollTable._preUpdateOperation`} */
373
+ interface OnUpdateOperation extends RollTable.Database.Update {}
374
+
375
+ /** Options for {@link RollTable._preDelete | `RollTable#_preDelete`} */
376
+ interface PreDeleteOptions extends Document.Database.PreDeleteOperationInstance<Delete> {}
377
+
378
+ /** Options for {@link RollTable._onDelete | `RollTable#_onDelete`} */
379
+ interface OnDeleteOptions extends Document.Database.DeleteOptions<Delete> {}
380
+
381
+ /** Options for {@link RollTable._preDeleteOperation | `RollTable#_preDeleteOperation`} */
382
+ interface PreDeleteOperation extends RollTable.Database.Delete {}
383
+
384
+ /** Options for {@link RollTable._onDeleteOperation | `RollTable#_onDeleteOperation`} */
385
+ interface OnDeleteOperation extends RollTable.Database.Delete {}
386
+
387
+ /** Context for {@link RollTable._onDeleteOperation | `RollTable._onDeleteOperation`} */
388
+ interface OnDeleteDocumentsContext extends Document.ModificationContext<RollTable.Parent> {}
389
+
390
+ /** Context for {@link RollTable._onCreateDocuments | `RollTable._onCreateDocuments`} */
391
+ interface OnCreateDocumentsContext extends Document.ModificationContext<RollTable.Parent> {}
392
+
393
+ /** Context for {@link RollTable._onUpdateDocuments | `RollTable._onUpdateDocuments`} */
394
+ interface OnUpdateDocumentsContext extends Document.ModificationContext<RollTable.Parent> {}
395
+
396
+ /**
397
+ * Options for {@link RollTable._preCreateDescendantDocuments | `RollTable#_preCreateDescendantDocuments`}
398
+ * and {@link RollTable._onCreateDescendantDocuments | `RollTable#_onCreateDescendantDocuments`}
399
+ */
400
+ interface CreateOptions extends Document.Database.CreateOptions<RollTable.Database.Create> {}
401
+
402
+ /**
403
+ * Options for {@link RollTable._preUpdateDescendantDocuments | `RollTable#_preUpdateDescendantDocuments`}
404
+ * and {@link RollTable._onUpdateDescendantDocuments | `RollTable#_onUpdateDescendantDocuments`}
405
+ */
406
+ interface UpdateOptions extends Document.Database.UpdateOptions<RollTable.Database.Update> {}
407
+
408
+ /**
409
+ * Options for {@link RollTable._preDeleteDescendantDocuments | `RollTable#_preDeleteDescendantDocuments`}
410
+ * and {@link RollTable._onDeleteDescendantDocuments | `RollTable#_onDeleteDescendantDocuments`}
411
+ */
412
+ interface DeleteOptions extends Document.Database.DeleteOptions<RollTable.Database.Delete> {}
413
+ }
414
+
415
+ /**
416
+ * An object containing the executed Roll and the produced results
417
+ */
418
+ interface Draw {
419
+ /**
420
+ * The Dice roll which generated the draw
421
+ */
422
+ roll: Roll;
423
+
424
+ /**
425
+ * An array of drawn TableResult documents
426
+ */
427
+ results: Document.ToConfiguredInstance<typeof foundry.documents.BaseTableResult>[];
428
+ }
429
+
430
+ /**
431
+ * The flags that are available for this document in the form `{ [scope: string]: { [key: string]: unknown } }`.
432
+ */
433
+ interface Flags extends Document.ConfiguredFlagsForName<Name> {}
434
+
435
+ namespace Flags {
436
+ /**
437
+ * The valid scopes for the flags on this document e.g. `"core"` or `"dnd5e"`.
438
+ */
439
+ type Scope = Document.FlagKeyOf<Flags>;
440
+
441
+ /**
442
+ * The valid keys for a certain scope for example if the scope is "core" then a valid key may be `"sheetLock"` or `"viewMode"`.
443
+ */
444
+ type Key<Scope extends Flags.Scope> = Document.FlagKeyOf<Document.FlagGetKey<Flags, Scope>>;
445
+
446
+ /**
447
+ * Gets the type of a particular flag given a `Scope` and a `Key`.
448
+ */
449
+ type Get<Scope extends Flags.Scope, Key extends Flags.Key<Scope>> = Document.GetFlag<Name, Scope, Key>;
450
+ }
451
+
452
+ type PreCreateDescendantDocumentsArgs = Document.PreCreateDescendantDocumentsArgs<
453
+ RollTable.Stored,
454
+ RollTable.DirectDescendant,
455
+ RollTable.Metadata.Embedded
456
+ >;
457
+
458
+ type OnCreateDescendantDocumentsArgs = Document.OnCreateDescendantDocumentsArgs<
459
+ RollTable.Stored,
460
+ RollTable.DirectDescendant,
461
+ RollTable.Metadata.Embedded
462
+ >;
463
+
464
+ type PreUpdateDescendantDocumentsArgs = Document.PreUpdateDescendantDocumentsArgs<
465
+ RollTable.Stored,
466
+ RollTable.DirectDescendant,
467
+ RollTable.Metadata.Embedded
468
+ >;
469
+
470
+ type OnUpdateDescendantDocumentsArgs = Document.OnUpdateDescendantDocumentsArgs<
471
+ RollTable.Stored,
472
+ RollTable.DirectDescendant,
473
+ RollTable.Metadata.Embedded
474
+ >;
475
+
476
+ type PreDeleteDescendantDocumentsArgs = Document.PreDeleteDescendantDocumentsArgs<
477
+ RollTable.Stored,
478
+ RollTable.DirectDescendant,
479
+ RollTable.Metadata.Embedded
480
+ >;
481
+
482
+ type OnDeleteDescendantDocumentsArgs = Document.OnDeleteDescendantDocumentsArgs<
483
+ RollTable.Stored,
484
+ RollTable.DirectDescendant,
485
+ RollTable.Metadata.Embedded
486
+ >;
20
487
 
21
488
  /**
22
489
  * Optional arguments which customize the draw
@@ -37,7 +504,7 @@ declare global {
37
504
  * One or more table results which have been drawn
38
505
  * @defaultValue `[]`
39
506
  */
40
- results: TableResult[];
507
+ results: TableResult.Implementation[];
41
508
 
42
509
  /**
43
510
  * Whether to automatically display the results in chat
@@ -54,7 +521,7 @@ declare global {
54
521
  /**
55
522
  * Additional options which modify message creation
56
523
  */
57
- interface ToMessageOptions {
524
+ interface ToMessageOptions<Temporary extends boolean | undefined = false> {
58
525
  /**
59
526
  * An optional Roll instance which produced the drawn results
60
527
  */
@@ -70,7 +537,7 @@ declare global {
70
537
  * Additional options which customize the created messages
71
538
  * @defaultValue `{}`
72
539
  */
73
- messageOptions: Document.OnCreateOptions<"ChatMessage">;
540
+ messageOptions: ChatMessage.Database.CreateOperation<Temporary>;
74
541
  }
75
542
 
76
543
  interface RollOptions {
@@ -99,17 +566,42 @@ declare global {
99
566
  */
100
567
  rollable?: boolean | undefined;
101
568
  }
569
+
570
+ /**
571
+ * @deprecated {@link RollTable.Database | `RollTable.DatabaseOperation`}
572
+ */
573
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
574
+ interface DatabaseOperations extends Document.Database.Operations<RollTable.Implementation> {}
575
+
576
+ /**
577
+ * @deprecated {@link RollTable.CreateData | `RollTable.CreateData`}
578
+ */
579
+ interface ConstructorData extends RollTable.CreateData {}
580
+
581
+ /**
582
+ * @deprecated {@link RollTable.implementation | `RollTable.ImplementationClass`}
583
+ */
584
+ type ConfiguredClass = ImplementationClass;
585
+
586
+ /**
587
+ * @deprecated {@link RollTable.Implementation | `RollTable.Implementation`}
588
+ */
589
+ type ConfiguredInstance = Implementation;
102
590
  }
103
591
 
104
592
  /**
105
593
  * The client-side RollTable document which extends the common BaseRollTable model.
106
594
  *
107
- * @see {@link RollTables} The world-level collection of RollTable documents
108
- * @see {@link TableResult} The embedded TableResult document
109
- * @see {@link RollTableConfig} The RollTable configuration application
595
+ * @see {@link RollTables | `RollTables`} The world-level collection of RollTable documents
596
+ * @see {@link TableResult | `TableResult`} The embedded TableResult document
597
+ * @see {@link RollTableConfig | `RollTableConfig`} The RollTable configuration application
110
598
  */
111
599
  class RollTable extends ClientDocumentMixin(foundry.documents.BaseRollTable) {
112
- static override metadata: RollTable.Metadata;
600
+ /**
601
+ * @param data - Initial data from which to construct the `RollTable`
602
+ * @param context - Construction context options
603
+ */
604
+ constructor(...args: RollTable.ConstructorArgs);
113
605
 
114
606
  /**
115
607
  * Provide a thumbnail image path used to represent this document.
@@ -124,16 +616,16 @@ declare global {
124
616
  * @param options - Additional options which modify message creation
125
617
  */
126
618
  toMessage(
127
- results: TableResult.ConfiguredInstance[],
619
+ results: TableResult.Implementation[],
128
620
  options?: InexactPartial<RollTable.ToMessageOptions>,
129
- ): Promise<ChatMessage.ConfiguredInstance | undefined>;
621
+ ): Promise<ChatMessage.Implementation | undefined>;
130
622
 
131
623
  /**
132
624
  * Draw a result from the RollTable based on the table formula or a provided Roll instance
133
625
  * @param options - Optional arguments which customize the draw behavior
134
626
  * @returns A Promise which resolves to an object containing the executed roll and the produced results
135
627
  */
136
- draw(options?: RollTable.DrawOptions): Promise<RollTableDraw>;
628
+ draw(options?: RollTable.DrawOptions): Promise<RollTable.Draw>;
137
629
 
138
630
  /**
139
631
  * Draw multiple results from a RollTable, constructing a final synthetic Roll as a dice pool of inner rolls.
@@ -141,7 +633,7 @@ declare global {
141
633
  * @param options - Optional arguments which customize the draw
142
634
  * @returns The drawn results
143
635
  */
144
- drawMany(number: number, options?: InexactPartial<RollTable.DrawOptions>): Promise<RollTableDraw>;
636
+ drawMany(number: number, options?: InexactPartial<RollTable.DrawOptions>): Promise<RollTable.Draw>;
145
637
 
146
638
  /**
147
639
  * Normalize the probabilities of rolling each item in the RollTable based on their assigned weights
@@ -153,7 +645,7 @@ declare global {
153
645
  * @remarks Actually, returns list of TableEntries updated, not the RollTable.
154
646
  * As written, it force updates all records, not just the ones already drawn.
155
647
  */
156
- resetResults(): Promise<TableResult.ConfiguredInstance[]>;
648
+ resetResults(): Promise<TableResult.Stored[]>;
157
649
 
158
650
  /**
159
651
  * Evaluate a RollTable by rolling its formula and retrieving a drawn result.
@@ -175,7 +667,7 @@ declare global {
175
667
  * const customResults = await table.roll({roll});
176
668
  * ```
177
669
  */
178
- roll(options?: RollTable.RollOptions): Promise<RollTableDraw>;
670
+ roll(options?: RollTable.RollOptions): Promise<RollTable.Draw>;
179
671
 
180
672
  /**
181
673
  * Handle a roll from within embedded content.
@@ -188,7 +680,7 @@ declare global {
188
680
  * @param value - The rolled value
189
681
  * @returns An Array of results
190
682
  */
191
- getResultsForRoll(value: number): TableResult.ConfiguredInstance[];
683
+ getResultsForRoll(value: number): TableResult.Stored[];
192
684
 
193
685
  /**
194
686
  * Create embedded roll table markup.
@@ -252,70 +744,161 @@ declare global {
252
744
  options?: TextEditor.EnrichmentOptions,
253
745
  ): Promise<HTMLElement | null>;
254
746
 
255
- protected override _onCreateDescendantDocuments(
256
- parent: ClientDocument,
257
- collection: string,
258
- documents: ClientDocument[],
259
- data: unknown[],
260
- options: Document.OnCreateOptions<"TableResult">,
261
- userId: string,
262
- ): void;
263
-
264
- protected override _onDeleteDescendantDocuments(
265
- parent: ClientDocument,
266
- collection: string,
267
- documents: ClientDocument[],
268
- ids: string,
269
- options: Document.OnDeleteOptions<"TableResult">,
270
- userId: string,
271
- ): void;
272
-
273
- override toCompendium<
274
- FlagsOpt extends boolean = false,
275
- SourceOpt extends boolean = true,
276
- SortOpt extends boolean = true,
277
- FolderOpt extends boolean = false,
278
- OwnershipOpt extends boolean = false,
279
- StateOpt extends boolean = true,
280
- IdOpt extends boolean = false,
281
- >(
747
+ /**
748
+ * @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
749
+ * this method must be overriden like so:
750
+ * ```typescript
751
+ * class GurpsRollTable extends RollTable {
752
+ * protected override _onCreateDescendantDocuments(...args: RollTable.OnCreateDescendantDocumentsArgs) {
753
+ * super._onCreateDescendantDocuments(...args);
754
+ *
755
+ * const [parent, collection, documents, data, options, userId] = args;
756
+ * if (collection === "cards") {
757
+ * options; // Will be narrowed.
758
+ * }
759
+ * }
760
+ * }
761
+ * ```
762
+ */
763
+ protected override _onCreateDescendantDocuments(...args: RollTable.OnCreateDescendantDocumentsArgs): void;
764
+
765
+ /**
766
+ * @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
767
+ * this method must be overriden like so:
768
+ * ```typescript
769
+ * class BladesRollTable extends RollTable {
770
+ * protected override _onDeleteDescendantDocuments(...args: RollTable.OnUpdateDescendantDocuments) {
771
+ * super._onDeleteDescendantDocuments(...args);
772
+ *
773
+ * const [parent, collection, documents, ids, options, userId] = args;
774
+ * if (collection === "cards") {
775
+ * options; // Will be narrowed.
776
+ * }
777
+ * }
778
+ * }
779
+ * ```
780
+ */
781
+ protected override _onDeleteDescendantDocuments(...args: RollTable.OnDeleteDescendantDocumentsArgs): void;
782
+
783
+ toCompendium<Options extends ClientDocument.ToCompendiumOptions>(
282
784
  pack?: CompendiumCollection<CompendiumCollection.Metadata> | null,
283
- options?: InexactPartial<
284
- ClientDocument.CompendiumExportOptions<FlagsOpt, SourceOpt, SortOpt, FolderOpt, OwnershipOpt, StateOpt, IdOpt>
285
- >,
286
- ): Omit<
287
- this["_source"],
288
- | (IdOpt extends false ? "_id" : never)
289
- | ClientDocument.OmitProperty<SortOpt, "sort" | "navigation" | "navOrder">
290
- | ClientDocument.OmitProperty<FolderOpt, "folder">
291
- | ClientDocument.OmitProperty<FlagsOpt, "flags">
292
- | ClientDocument.OmitProperty<OwnershipOpt, "ownership">
293
- | ClientDocument.OmitProperty<StateOpt, "active" | "fogReset" | "playing"> // does not model the results.drawn = false
294
- >;
785
+ options?: Options,
786
+ ): ClientDocument.ToCompendiumReturnType<foundry.documents.BaseRollTable, Options>;
295
787
 
296
788
  /**
297
789
  * Create a new RollTable document using all of the Documents from a specific Folder as new results.
298
790
  * @param folder - The Folder document from which to create a roll table
299
791
  * @param options - Additional options passed to the RollTable.create method
300
792
  */
301
- static fromFolder(
302
- folder: Folder,
303
- options?: Document.OnCreateOptions<"Folder">,
304
- ): Promise<RollTable.ConfiguredInstance | undefined>;
305
- }
793
+ static fromFolder<Temporary extends boolean | undefined = false>(
794
+ folder: Folder.Implementation,
795
+ options?: RollTable.Database.CreateOperation<Temporary>,
796
+ ): Promise<Document.TemporaryIf<WallDocument.Implementation, Temporary> | undefined>;
797
+
798
+ /*
799
+ * After this point these are not really overridden methods.
800
+ * They are here because Foundry's documents are complex and have lots of edge cases.
801
+ * There are DRY ways of representing this but this ends up being harder to understand
802
+ * for end users extending these functions, especially for static methods. There are also a
803
+ * number of methods that don't make sense to call directly on `Document` like `createDocuments`,
804
+ * as there is no data that can safely construct every possible document. Finally keeping definitions
805
+ * separate like this helps against circularities.
806
+ */
807
+
808
+ // ClientDocument overrides
809
+
810
+ /**
811
+ * @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
812
+ * this method must be overriden like so:
813
+ * ```typescript
814
+ * class SwadeRollTable extends RollTable {
815
+ * protected override _preCreateDescendantDocuments(...args: RollTable.PreCreateDescendantDocumentsArgs) {
816
+ * super._preCreateDescendantDocuments(...args);
817
+ *
818
+ * const [parent, collection, data, options, userId] = args;
819
+ * if (collection === "cards") {
820
+ * options; // Will be narrowed.
821
+ * }
822
+ * }
823
+ * }
824
+ * ```
825
+ */
826
+ protected override _preCreateDescendantDocuments(...args: RollTable.PreCreateDescendantDocumentsArgs): void;
827
+
828
+ /**
829
+ * @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
830
+ * this method must be overriden like so:
831
+ * ```typescript
832
+ * class LancerRollTable extends RollTable {
833
+ * protected override _preUpdateDescendantDocuments(...args: RollTable.OnUpdateDescendantDocuments) {
834
+ * super._preUpdateDescendantDocuments(...args);
835
+ *
836
+ * const [parent, collection, changes, options, userId] = args;
837
+ * if (collection === "cards") {
838
+ * options; // Will be narrowed.
839
+ * }
840
+ * }
841
+ * }
842
+ * ```
843
+ */
844
+ protected override _preUpdateDescendantDocuments(...args: RollTable.PreUpdateDescendantDocumentsArgs): void;
306
845
 
307
- /**
308
- * An object containing the executed Roll and the produced results
309
- */
310
- interface RollTableDraw {
311
846
  /**
312
- * The Dice roll which generated the draw
847
+ * @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
848
+ * this method must be overriden like so:
849
+ * ```typescript
850
+ * class Ptr2eRollTable extends RollTable {
851
+ * protected override _onUpdateDescendantDocuments(...args: RollTable.OnUpdateDescendantDocumentsArgs) {
852
+ * super._onUpdateDescendantDocuments(...args);
853
+ *
854
+ * const [parent, collection, documents, changes, options, userId] = args;
855
+ * if (collection === "cards") {
856
+ * options; // Will be narrowed.
857
+ * }
858
+ * }
859
+ * }
860
+ * ```
313
861
  */
314
- roll: Roll;
862
+ protected override _onUpdateDescendantDocuments(...args: RollTable.OnUpdateDescendantDocumentsArgs): void;
315
863
 
316
864
  /**
317
- * An array of drawn TableResult documents
865
+ * @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
866
+ * this method must be overriden like so:
867
+ * ```typescript
868
+ * class KultRollTable extends RollTable {
869
+ * protected override _preDeleteDescendantDocuments(...args: RollTable.PreDeleteDescendantDocumentsArgs) {
870
+ * super._preDeleteDescendantDocuments(...args);
871
+ *
872
+ * const [parent, collection, ids, options, userId] = args;
873
+ * if (collection === "cards") {
874
+ * options; // Will be narrowed.
875
+ * }
876
+ * }
877
+ * }
878
+ * ```
318
879
  */
319
- results: Document.ToConfiguredInstance<typeof foundry.documents.BaseTableResult>[];
880
+ protected override _preDeleteDescendantDocuments(...args: RollTable.PreDeleteDescendantDocumentsArgs): void;
881
+
882
+ static override defaultName(context?: Document.DefaultNameContext<string, RollTable.Parent>): string;
883
+
884
+ static override createDialog(
885
+ data?: Document.CreateDialogData<RollTable.CreateData>,
886
+ context?: Document.CreateDialogContext<string, RollTable.Parent>,
887
+ ): Promise<RollTable.Stored | null | undefined>;
888
+
889
+ static override fromDropData(
890
+ data: Document.DropData<RollTable.Implementation>,
891
+ options?: Document.FromDropDataOptions,
892
+ ): Promise<RollTable.Implementation | undefined>;
893
+
894
+ static override fromImport(
895
+ source: RollTable.Source,
896
+ context?: Document.FromImportContext<RollTable.Parent>,
897
+ ): Promise<RollTable.Implementation>;
320
898
  }
899
+
900
+ /**
901
+ * @deprecated {@link RollTable.Draw | `RollTable.Draw`}
902
+ */
903
+ type RollTableDraw = RollTable.Draw;
321
904
  }