@league-of-foundry-developers/foundry-vtt-types 13.340.0 → 13.340.1

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 (543) hide show
  1. package/README.md +6 -3
  2. package/package.json +40 -18
  3. package/src/configuration/configuration.d.mts +24 -23
  4. package/src/configuration/documents.d.mts +295 -0
  5. package/src/configuration/globals.d.mts +8 -2
  6. package/src/configuration/index.d.mts +1 -0
  7. package/src/foundry/client/apps/app.d.mts +121 -119
  8. package/src/foundry/client/apps/av/av-config.d.mts +13 -8
  9. package/src/foundry/client/apps/av/cameras.d.mts +11 -11
  10. package/src/foundry/client/apps/dice/dice-config.d.mts +22 -8
  11. package/src/foundry/client/apps/form.d.mts +112 -94
  12. package/src/foundry/client/apps/forms/actor.d.mts +22 -12
  13. package/src/foundry/client/apps/forms/adventure-exporter.d.mts +13 -8
  14. package/src/foundry/client/apps/forms/adventure-importer.d.mts +15 -7
  15. package/src/foundry/client/apps/forms/base-sheet.d.mts +14 -7
  16. package/src/foundry/client/apps/forms/card-config.d.mts +17 -9
  17. package/src/foundry/client/apps/forms/cards-config.d.mts +13 -14
  18. package/src/foundry/client/apps/forms/combat-config.d.mts +7 -7
  19. package/src/foundry/client/apps/forms/combatant-config.d.mts +4 -4
  20. package/src/foundry/client/apps/forms/default-sheets-config.d.mts +1 -1
  21. package/src/foundry/client/apps/forms/effect-config.d.mts +6 -6
  22. package/src/foundry/client/apps/forms/folder-config.d.mts +5 -5
  23. package/src/foundry/client/apps/forms/fonts.d.mts +42 -35
  24. package/src/foundry/client/apps/forms/grid-config.d.mts +11 -11
  25. package/src/foundry/client/apps/forms/image-popout.d.mts +28 -22
  26. package/src/foundry/client/apps/forms/item.d.mts +6 -6
  27. package/src/foundry/client/apps/forms/journal-page-sheet.d.mts +17 -15
  28. package/src/foundry/client/apps/forms/journal-sheet.d.mts +46 -37
  29. package/src/foundry/client/apps/forms/macro-config.d.mts +6 -6
  30. package/src/foundry/client/apps/forms/measure-template.d.mts +8 -8
  31. package/src/foundry/client/apps/forms/ownership.d.mts +5 -5
  32. package/src/foundry/client/apps/forms/playlist-config.d.mts +7 -9
  33. package/src/foundry/client/apps/forms/playlist-sound-config.d.mts +6 -6
  34. package/src/foundry/client/apps/forms/roll-table-config.d.mts +9 -10
  35. package/src/foundry/client/apps/forms/scene-config.d.mts +39 -39
  36. package/src/foundry/client/apps/forms/sheet-config.d.mts +8 -8
  37. package/src/foundry/client/apps/forms/user-config.d.mts +11 -11
  38. package/src/foundry/client/apps/hud/chatbubble.d.mts +14 -9
  39. package/src/foundry/client/apps/hud/container.d.mts +3 -3
  40. package/src/foundry/client/apps/hud/controls.d.mts +124 -84
  41. package/src/foundry/client/apps/hud/hotbar.d.mts +12 -12
  42. package/src/foundry/client/apps/hud/hud.d.mts +4 -4
  43. package/src/foundry/client/apps/hud/menu.d.mts +6 -6
  44. package/src/foundry/client/apps/hud/navigation.d.mts +11 -11
  45. package/src/foundry/client/apps/hud/pause.d.mts +7 -7
  46. package/src/foundry/client/apps/hud/players.d.mts +11 -11
  47. package/src/foundry/client/apps/i18n.d.mts +31 -27
  48. package/src/foundry/client/apps/placeables/drawing-config.d.mts +41 -33
  49. package/src/foundry/client/apps/placeables/drawing-hud.d.mts +4 -4
  50. package/src/foundry/client/apps/placeables/index.d.mts +0 -2
  51. package/src/foundry/client/apps/placeables/note-config.d.mts +27 -17
  52. package/src/foundry/client/apps/placeables/tile-config.d.mts +23 -10
  53. package/src/foundry/client/apps/placeables/tile-hud.d.mts +8 -8
  54. package/src/foundry/client/apps/placeables/token-config.d.mts +84 -63
  55. package/src/foundry/client/apps/placeables/token-hud.d.mts +10 -10
  56. package/src/foundry/client/apps/placeables/wall-config.d.mts +19 -16
  57. package/src/foundry/client/apps/sidebar/apps/chat-popout.d.mts +5 -5
  58. package/src/foundry/client/apps/sidebar/apps/client-settings.d.mts +2 -2
  59. package/src/foundry/client/apps/sidebar/apps/compendium.d.mts +13 -10
  60. package/src/foundry/client/apps/sidebar/apps/invitation-links.d.mts +3 -3
  61. package/src/foundry/client/apps/sidebar/apps/keybindings-config.d.mts +1 -1
  62. package/src/foundry/client/apps/sidebar/apps/module-management.d.mts +6 -6
  63. package/src/foundry/client/apps/sidebar/apps/permission-config.d.mts +6 -6
  64. package/src/foundry/client/apps/sidebar/apps/support-details.d.mts +33 -28
  65. package/src/foundry/client/apps/sidebar/apps/tours-management.d.mts +1 -1
  66. package/src/foundry/client/apps/sidebar/apps/world-config.d.mts +12 -9
  67. package/src/foundry/client/apps/sidebar/directory-tab-mixin.d.mts +40 -32
  68. package/src/foundry/client/apps/sidebar/document-directory.d.mts +44 -37
  69. package/src/foundry/client/apps/sidebar/package-configuration.d.mts +3 -3
  70. package/src/foundry/client/apps/sidebar/sidebar-tab.d.mts +3 -3
  71. package/src/foundry/client/apps/sidebar/sidebar.d.mts +7 -7
  72. package/src/foundry/client/apps/sidebar/tabs/actors-directory.d.mts +4 -4
  73. package/src/foundry/client/apps/sidebar/tabs/cards-directory.d.mts +4 -4
  74. package/src/foundry/client/apps/sidebar/tabs/chat-log.d.mts +34 -29
  75. package/src/foundry/client/apps/sidebar/tabs/combat-tracker.d.mts +15 -15
  76. package/src/foundry/client/apps/sidebar/tabs/compendium-directory.d.mts +21 -12
  77. package/src/foundry/client/apps/sidebar/tabs/items-directory.d.mts +4 -4
  78. package/src/foundry/client/apps/sidebar/tabs/journal-directory.d.mts +4 -4
  79. package/src/foundry/client/apps/sidebar/tabs/macros-directory.d.mts +8 -8
  80. package/src/foundry/client/apps/sidebar/tabs/playlists-directory.d.mts +21 -21
  81. package/src/foundry/client/apps/sidebar/tabs/roll-table-directory.d.mts +4 -4
  82. package/src/foundry/client/apps/sidebar/tabs/scenes-directory.d.mts +6 -6
  83. package/src/foundry/client/apps/sidebar/tabs/settings.d.mts +12 -12
  84. package/src/foundry/client/apps/templates.d.mts +2 -2
  85. package/src/foundry/client/av/clients/simplepeer.d.mts +4 -4
  86. package/src/foundry/client/av/settings.d.mts +16 -13
  87. package/src/foundry/client/config.d.mts +1982 -1823
  88. package/src/foundry/client/core/document-index.d.mts +12 -4
  89. package/src/foundry/client/core/hooks.d.mts +0 -2
  90. package/src/foundry/client/core/image.d.mts +13 -11
  91. package/src/foundry/client/core/issues.d.mts +11 -6
  92. package/src/foundry/client/core/keybindings.d.mts +3 -3
  93. package/src/foundry/client/core/nue.d.mts +1 -1
  94. package/src/foundry/client/core/packages.d.mts +393 -63
  95. package/src/foundry/client/core/settings.d.mts +34 -12
  96. package/src/foundry/client/core/socket.d.mts +2 -2
  97. package/src/foundry/client/core/sorting.d.mts +6 -6
  98. package/src/foundry/client/core/time.d.mts +6 -3
  99. package/src/foundry/client/core/tooltip.d.mts +1 -1
  100. package/src/foundry/client/core/tour.d.mts +58 -49
  101. package/src/foundry/client/core/tours.d.mts +1 -1
  102. package/src/foundry/client/core/utils.d.mts +3 -3
  103. package/src/foundry/client/core/workers.d.mts +24 -17
  104. package/src/foundry/client/data/abstract/canvas-document.d.mts +9 -15
  105. package/src/foundry/client/data/abstract/client-document.d.mts +133 -172
  106. package/src/foundry/client/data/abstract/directory-collection-mixin.d.mts +14 -36
  107. package/src/foundry/client/data/abstract/document-collection.d.mts +89 -65
  108. package/src/foundry/client/data/abstract/world-collection.d.mts +47 -53
  109. package/src/foundry/client/data/collections/actors.d.mts +24 -31
  110. package/src/foundry/client/data/collections/cards.d.mts +10 -6
  111. package/src/foundry/client/data/collections/combats.d.mts +12 -8
  112. package/src/foundry/client/data/collections/compendium-collection.d.mts +79 -66
  113. package/src/foundry/client/data/collections/compendium-folders.d.mts +6 -6
  114. package/src/foundry/client/data/collections/compendium-packs.d.mts +4 -4
  115. package/src/foundry/client/data/collections/fog.d.mts +10 -6
  116. package/src/foundry/client/data/collections/folder.d.mts +15 -10
  117. package/src/foundry/client/data/collections/items.d.mts +11 -7
  118. package/src/foundry/client/data/collections/journal.d.mts +16 -10
  119. package/src/foundry/client/data/collections/macros.d.mts +15 -22
  120. package/src/foundry/client/data/collections/messages.d.mts +14 -10
  121. package/src/foundry/client/data/collections/playlists.d.mts +12 -9
  122. package/src/foundry/client/data/collections/scenes.d.mts +19 -31
  123. package/src/foundry/client/data/collections/settings.d.mts +10 -6
  124. package/src/foundry/client/data/collections/tables.d.mts +11 -7
  125. package/src/foundry/client/data/collections/users.d.mts +14 -11
  126. package/src/foundry/client/data/documents/active-effect.d.mts +652 -88
  127. package/src/foundry/client/data/documents/actor-delta.d.mts +672 -28
  128. package/src/foundry/client/data/documents/actor.d.mts +722 -60
  129. package/src/foundry/client/data/documents/adventure.d.mts +482 -49
  130. package/src/foundry/client/data/documents/ambient-light.d.mts +426 -21
  131. package/src/foundry/client/data/documents/ambient-sound.d.mts +474 -15
  132. package/src/foundry/client/data/documents/card.d.mts +570 -39
  133. package/src/foundry/client/data/documents/cards.d.mts +742 -78
  134. package/src/foundry/client/data/documents/chat-message.d.mts +578 -45
  135. package/src/foundry/client/data/documents/combat.d.mts +701 -71
  136. package/src/foundry/client/data/documents/combatant.d.mts +510 -28
  137. package/src/foundry/client/data/documents/drawing.d.mts +543 -16
  138. package/src/foundry/client/data/documents/fog-exploration.d.mts +413 -27
  139. package/src/foundry/client/data/documents/folder.d.mts +461 -40
  140. package/src/foundry/client/data/documents/item.d.mts +679 -25
  141. package/src/foundry/client/data/documents/journal-entry-page.d.mts +587 -21
  142. package/src/foundry/client/data/documents/journal-entry.d.mts +621 -20
  143. package/src/foundry/client/data/documents/macro.d.mts +530 -25
  144. package/src/foundry/client/data/documents/measured-template.d.mts +480 -16
  145. package/src/foundry/client/data/documents/note.d.mts +495 -18
  146. package/src/foundry/client/data/documents/playlist-sound.d.mts +429 -27
  147. package/src/foundry/client/data/documents/playlist.d.mts +666 -75
  148. package/src/foundry/client/data/documents/region-behavior.d.mts +468 -38
  149. package/src/foundry/client/data/documents/region.d.mts +661 -35
  150. package/src/foundry/client/data/documents/scene.d.mts +986 -149
  151. package/src/foundry/client/data/documents/setting.d.mts +397 -15
  152. package/src/foundry/client/data/documents/table-result.d.mts +479 -17
  153. package/src/foundry/client/data/documents/table.d.mts +663 -80
  154. package/src/foundry/client/data/documents/tile.d.mts +502 -16
  155. package/src/foundry/client/data/documents/token.d.mts +1114 -90
  156. package/src/foundry/client/data/documents/user.d.mts +495 -27
  157. package/src/foundry/client/data/documents/wall.d.mts +550 -15
  158. package/src/foundry/client/game.d.mts +58 -92
  159. package/src/foundry/client/head.d.mts +5 -6
  160. package/src/foundry/client/hooks.d.mts +237 -221
  161. package/src/foundry/client/pixi/board.d.mts +95 -89
  162. package/src/foundry/client/pixi/core/containers/base-canvas-group.d.mts +6 -5
  163. package/src/foundry/client/pixi/core/containers/cached-container.d.mts +5 -5
  164. package/src/foundry/client/pixi/core/containers/full-canvas-container.d.mts +2 -2
  165. package/src/foundry/client/pixi/core/containers/point-source-mesh.d.mts +3 -3
  166. package/src/foundry/client/pixi/core/containers/quad-mesh.d.mts +3 -3
  167. package/src/foundry/client/pixi/core/containers/quadtree.d.mts +23 -21
  168. package/src/foundry/client/pixi/core/containers/sprite-mesh.d.mts +5 -5
  169. package/src/foundry/client/pixi/core/containers/unbound-container.d.mts +5 -5
  170. package/src/foundry/client/pixi/core/interaction/canvas-animation.d.mts +57 -51
  171. package/src/foundry/client/pixi/core/interaction/control-icon.d.mts +3 -3
  172. package/src/foundry/client/pixi/core/interaction/mouse-handler.d.mts +7 -7
  173. package/src/foundry/client/pixi/core/interaction/ping.d.mts +19 -11
  174. package/src/foundry/client/pixi/core/interaction/pings/chevron.d.mts +7 -2
  175. package/src/foundry/client/pixi/core/interaction/pings/pulse.d.mts +29 -23
  176. package/src/foundry/client/pixi/core/interaction/render-flags.d.mts +83 -38
  177. package/src/foundry/client/pixi/core/interaction/resize-handle.d.mts +3 -3
  178. package/src/foundry/client/pixi/core/interaction/targets.d.mts +9 -9
  179. package/src/foundry/client/pixi/core/loader.d.mts +8 -8
  180. package/src/foundry/client/pixi/core/shapes/limited-angle-polygon.d.mts +9 -4
  181. package/src/foundry/client/pixi/core/shapes/polygon-mesher.d.mts +3 -3
  182. package/src/foundry/client/pixi/core/shapes/precise-text.d.mts +3 -3
  183. package/src/foundry/client/pixi/core/shapes/ray.d.mts +23 -17
  184. package/src/foundry/client/pixi/core/shapes/source-polygon.d.mts +19 -14
  185. package/src/foundry/client/pixi/extensions/circle.d.mts +1 -1
  186. package/src/foundry/client/pixi/extensions/observable-transform.d.mts +3 -3
  187. package/src/foundry/client/pixi/groups/effects.d.mts +4 -4
  188. package/src/foundry/client/pixi/groups/environment.d.mts +5 -5
  189. package/src/foundry/client/pixi/groups/hidden.d.mts +3 -3
  190. package/src/foundry/client/pixi/groups/interface.d.mts +6 -6
  191. package/src/foundry/client/pixi/groups/overlay.d.mts +3 -3
  192. package/src/foundry/client/pixi/groups/primary.d.mts +11 -11
  193. package/src/foundry/client/pixi/groups/rendered.d.mts +3 -3
  194. package/src/foundry/client/pixi/layers/base/canvas-layer.d.mts +3 -3
  195. package/src/foundry/client/pixi/layers/base/interaction-layer.d.mts +13 -13
  196. package/src/foundry/client/pixi/layers/base/placeables-layer.d.mts +279 -233
  197. package/src/foundry/client/pixi/layers/controls/cursor.d.mts +17 -8
  198. package/src/foundry/client/pixi/layers/controls/door.d.mts +26 -14
  199. package/src/foundry/client/pixi/layers/controls/layer.d.mts +89 -79
  200. package/src/foundry/client/pixi/layers/controls/ruler.d.mts +121 -96
  201. package/src/foundry/client/pixi/layers/effects/background-effects.d.mts +4 -5
  202. package/src/foundry/client/pixi/layers/effects/coloration-effects.d.mts +6 -4
  203. package/src/foundry/client/pixi/layers/effects/darkness-effects.d.mts +7 -4
  204. package/src/foundry/client/pixi/layers/effects/illumination-effects.d.mts +19 -16
  205. package/src/foundry/client/pixi/layers/effects/visibility.d.mts +101 -84
  206. package/src/foundry/client/pixi/layers/effects/weather/particles/effect.d.mts +13 -4
  207. package/src/foundry/client/pixi/layers/effects/weather/particles/leaves.d.mts +31 -2
  208. package/src/foundry/client/pixi/layers/effects/weather-effects.d.mts +134 -59
  209. package/src/foundry/client/pixi/layers/grid/highlight.d.mts +13 -3
  210. package/src/foundry/client/pixi/layers/grid/layer.d.mts +89 -87
  211. package/src/foundry/client/pixi/layers/grid/mesh.d.mts +36 -15
  212. package/src/foundry/client/pixi/layers/masks/depth.d.mts +3 -3
  213. package/src/foundry/client/pixi/layers/masks/occlusion.d.mts +4 -4
  214. package/src/foundry/client/pixi/layers/masks/vision.d.mts +6 -6
  215. package/src/foundry/client/pixi/layers/placeables/drawings.d.mts +15 -11
  216. package/src/foundry/client/pixi/layers/placeables/lighting.d.mts +11 -10
  217. package/src/foundry/client/pixi/layers/placeables/notes.d.mts +47 -28
  218. package/src/foundry/client/pixi/layers/placeables/regions.d.mts +25 -12
  219. package/src/foundry/client/pixi/layers/placeables/sounds.d.mts +81 -63
  220. package/src/foundry/client/pixi/layers/placeables/templates.d.mts +10 -11
  221. package/src/foundry/client/pixi/layers/placeables/tiles.d.mts +28 -17
  222. package/src/foundry/client/pixi/layers/placeables/tokens.d.mts +67 -46
  223. package/src/foundry/client/pixi/layers/placeables/walls.d.mts +50 -51
  224. package/src/foundry/client/pixi/perception/clockwise-sweep.d.mts +22 -16
  225. package/src/foundry/client/pixi/perception/detection-mode.d.mts +123 -51
  226. package/src/foundry/client/pixi/perception/fog.d.mts +34 -19
  227. package/src/foundry/client/pixi/perception/perception-manager.d.mts +137 -137
  228. package/src/foundry/client/pixi/perception/vision-mode.d.mts +92 -67
  229. package/src/foundry/client/pixi/perception/weiler-atherton-clipping.d.mts +3 -3
  230. package/src/foundry/client/pixi/placeable.d.mts +241 -146
  231. package/src/foundry/client/pixi/placeables/drawing.d.mts +260 -134
  232. package/src/foundry/client/pixi/placeables/light.d.mts +204 -66
  233. package/src/foundry/client/pixi/placeables/note.d.mts +150 -55
  234. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-canvas-object.d.mts +7 -6
  235. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-graphics.d.mts +3 -3
  236. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-occludable-object.d.mts +2 -2
  237. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-sprite-mesh.d.mts +4 -4
  238. package/src/foundry/client/pixi/placeables/region.d.mts +219 -110
  239. package/src/foundry/client/pixi/placeables/sound.d.mts +211 -68
  240. package/src/foundry/client/pixi/placeables/template.d.mts +186 -100
  241. package/src/foundry/client/pixi/placeables/tile.d.mts +211 -142
  242. package/src/foundry/client/pixi/placeables/token.d.mts +911 -568
  243. package/src/foundry/client/pixi/placeables/wall.d.mts +253 -130
  244. package/src/foundry/client/pixi/webgl/extensions/batch-renderer.d.mts +27 -5
  245. package/src/foundry/client/pixi/webgl/extensions/batch-shader-generator.d.mts +3 -3
  246. package/src/foundry/client/pixi/webgl/helpers/framebuffer-snapshot.d.mts +3 -3
  247. package/src/foundry/client/pixi/webgl/helpers/smooth-noise.d.mts +13 -5
  248. package/src/foundry/client/pixi/webgl/helpers/texture-extractor.d.mts +6 -6
  249. package/src/foundry/client/pixi/webgl/shaders/base-shader-mixin.d.mts +2 -2
  250. package/src/foundry/client/pixi/webgl/shaders/base-shader.d.mts +5 -5
  251. package/src/foundry/client/pixi/webgl/shaders/filters/base-filter.d.mts +4 -4
  252. package/src/foundry/client/pixi/webgl/shaders/filters/base-mask-filter.d.mts +3 -3
  253. package/src/foundry/client/pixi/webgl/shaders/filters/blur.d.mts +5 -5
  254. package/src/foundry/client/pixi/webgl/shaders/filters/effects-masking.d.mts +6 -3
  255. package/src/foundry/client/pixi/webgl/shaders/filters/environment.d.mts +3 -3
  256. package/src/foundry/client/pixi/webgl/shaders/filters/glow-overlay.d.mts +4 -4
  257. package/src/foundry/client/pixi/webgl/shaders/filters/invisibility.d.mts +3 -3
  258. package/src/foundry/client/pixi/webgl/shaders/filters/outline-overlay.d.mts +4 -4
  259. package/src/foundry/client/pixi/webgl/shaders/filters/transition.d.mts +6 -6
  260. package/src/foundry/client/pixi/webgl/shaders/filters/visibility.d.mts +8 -5
  261. package/src/foundry/client/pixi/webgl/shaders/filters/vision-mask-filter.d.mts +3 -3
  262. package/src/foundry/client/pixi/webgl/shaders/filters/void.d.mts +3 -3
  263. package/src/foundry/client/pixi/webgl/shaders/filters/weather-occlusion-masks.d.mts +4 -4
  264. package/src/foundry/client/pixi/webgl/shaders/fragment-channel-mixin.d.mts +1 -1
  265. package/src/foundry/client/pixi/webgl/shaders/grid/grid.d.mts +4 -4
  266. package/src/foundry/client/pixi/webgl/shaders/lighting/background-lighting.d.mts +3 -3
  267. package/src/foundry/client/pixi/webgl/shaders/lighting/base-lighting.d.mts +3 -3
  268. package/src/foundry/client/pixi/webgl/shaders/lighting/coloration-lighting.d.mts +3 -3
  269. package/src/foundry/client/pixi/webgl/shaders/lighting/darkness-lighting.d.mts +3 -3
  270. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/bewitching-wave.d.mts +5 -5
  271. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/black-hole.d.mts +3 -3
  272. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/chroma.d.mts +3 -3
  273. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/emanation.d.mts +3 -3
  274. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/energy-field.d.mts +3 -3
  275. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fairy-light.d.mts +6 -6
  276. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/flame.d.mts +5 -5
  277. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fog.d.mts +3 -3
  278. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/force-grid.d.mts +3 -3
  279. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/ghost-light.d.mts +5 -5
  280. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/hexa-dome.d.mts +3 -3
  281. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/light-dome.d.mts +3 -3
  282. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/magical-gloom.d.mts +3 -3
  283. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/pulse.d.mts +5 -5
  284. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/radial-rainbow.d.mts +3 -3
  285. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/revolving-light.d.mts +3 -3
  286. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/roiling-mass.d.mts +3 -3
  287. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/siren-light.d.mts +5 -5
  288. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/smoke-patch.d.mts +6 -5
  289. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/star-light.d.mts +3 -3
  290. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/sunburst.d.mts +5 -5
  291. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/swirling-rainbow.d.mts +4 -3
  292. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/torch.d.mts +5 -5
  293. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/vortex.d.mts +5 -5
  294. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/wave.d.mts +5 -5
  295. package/src/foundry/client/pixi/webgl/shaders/lighting/illumination-lighting.d.mts +3 -3
  296. package/src/foundry/client/pixi/webgl/shaders/region/adjust-darkness-level.d.mts +7 -7
  297. package/src/foundry/client/pixi/webgl/shaders/region/base.d.mts +4 -4
  298. package/src/foundry/client/pixi/webgl/shaders/region/highlight.d.mts +3 -3
  299. package/src/foundry/client/pixi/webgl/shaders/samplers/base-sampler.d.mts +4 -4
  300. package/src/foundry/client/pixi/webgl/shaders/samplers/baseline-illumination.d.mts +3 -3
  301. package/src/foundry/client/pixi/webgl/shaders/samplers/color-adjustment.d.mts +5 -5
  302. package/src/foundry/client/pixi/webgl/shaders/samplers/depth.d.mts +3 -3
  303. package/src/foundry/client/pixi/webgl/shaders/samplers/fog-of-war.d.mts +3 -3
  304. package/src/foundry/client/pixi/webgl/shaders/samplers/occlusion.d.mts +3 -3
  305. package/src/foundry/client/pixi/webgl/shaders/samplers/primary.d.mts +4 -4
  306. package/src/foundry/client/pixi/webgl/shaders/samplers/token-ring.d.mts +4 -6
  307. package/src/foundry/client/pixi/webgl/shaders/vision/background-vision.d.mts +3 -3
  308. package/src/foundry/client/pixi/webgl/shaders/vision/base-vision.d.mts +3 -3
  309. package/src/foundry/client/pixi/webgl/shaders/vision/coloration-vision.d.mts +3 -3
  310. package/src/foundry/client/pixi/webgl/shaders/vision/effects/amplification.d.mts +3 -3
  311. package/src/foundry/client/pixi/webgl/shaders/vision/effects/wave.d.mts +5 -5
  312. package/src/foundry/client/pixi/webgl/shaders/vision/illumination-vision.d.mts +3 -3
  313. package/src/foundry/client/pixi/webgl/shaders/weather/base-weather.d.mts +14 -15
  314. package/src/foundry/client/pixi/webgl/shaders/weather/effect.d.mts +20 -27
  315. package/src/foundry/client/pixi/webgl/shaders/weather/fog.d.mts +5 -5
  316. package/src/foundry/client/pixi/webgl/shaders/weather/rain.d.mts +5 -5
  317. package/src/foundry/client/pixi/webgl/shaders/weather/snow.d.mts +5 -5
  318. package/src/foundry/client/pixi/workers/texture-worker.d.mts +5 -5
  319. package/src/foundry/client/tours/setup-tour.d.mts +15 -10
  320. package/src/foundry/client/ui/dialog.d.mts +3 -3
  321. package/src/foundry/client/ui/dragdrop.d.mts +33 -27
  322. package/src/foundry/client/ui/editor.d.mts +29 -21
  323. package/src/foundry/client/ui/filepicker.d.mts +42 -37
  324. package/src/foundry/client/ui/filter.d.mts +60 -48
  325. package/src/foundry/client/ui/forms.d.mts +22 -22
  326. package/src/foundry/client/ui/prosemirror.d.mts +15 -7
  327. package/src/foundry/client/ui/secrets.d.mts +43 -28
  328. package/src/foundry/client/ui/tabs.d.mts +40 -33
  329. package/src/foundry/client-esm/_module.d.mts +5 -5
  330. package/src/foundry/client-esm/_types.d.mts +2 -1
  331. package/src/foundry/client-esm/applications/api/application.d.mts +93 -31
  332. package/src/foundry/client-esm/applications/api/dialog.d.mts +23 -23
  333. package/src/foundry/client-esm/applications/api/document-sheet.d.mts +85 -32
  334. package/src/foundry/client-esm/applications/api/handlebars-application.d.mts +1 -1
  335. package/src/foundry/client-esm/applications/apps/av/camera-popout.d.mts +1 -1
  336. package/src/foundry/client-esm/applications/apps/av/cameras.d.mts +2 -2
  337. package/src/foundry/client-esm/applications/apps/compendium-art-config.d.mts +4 -5
  338. package/src/foundry/client-esm/applications/apps/file-picker.d.mts +2 -2
  339. package/src/foundry/client-esm/applications/apps/grid-config.d.mts +3 -3
  340. package/src/foundry/client-esm/applications/apps/image-popout.d.mts +1 -1
  341. package/src/foundry/client-esm/applications/apps/permission-config.d.mts +1 -1
  342. package/src/foundry/client-esm/applications/dice/roll-resolver.d.mts +4 -4
  343. package/src/foundry/client-esm/applications/elements/file-picker.d.mts +1 -1
  344. package/src/foundry/client-esm/applications/elements/prosemirror-editor.d.mts +1 -1
  345. package/src/foundry/client-esm/applications/hud/drawing-hud.d.mts +1 -1
  346. package/src/foundry/client-esm/applications/hud/tile-hud.d.mts +1 -1
  347. package/src/foundry/client-esm/applications/hud/token-hud.d.mts +1 -1
  348. package/src/foundry/client-esm/applications/sheets/active-effect-config.d.mts +3 -3
  349. package/src/foundry/client-esm/applications/sheets/actor-sheet.d.mts +2 -2
  350. package/src/foundry/client-esm/applications/sheets/adventure-exporter.d.mts +3 -3
  351. package/src/foundry/client-esm/applications/sheets/adventure-importer.d.mts +3 -3
  352. package/src/foundry/client-esm/applications/sheets/ambient-light-config.d.mts +5 -5
  353. package/src/foundry/client-esm/applications/sheets/ambient-sound-config.d.mts +4 -4
  354. package/src/foundry/client-esm/applications/sheets/card-config.d.mts +3 -3
  355. package/src/foundry/client-esm/applications/sheets/cards-config.d.mts +2 -2
  356. package/src/foundry/client-esm/applications/sheets/combatant-config.d.mts +3 -3
  357. package/src/foundry/client-esm/applications/sheets/drawing-config.d.mts +3 -3
  358. package/src/foundry/client-esm/applications/sheets/folder-config.d.mts +3 -3
  359. package/src/foundry/client-esm/applications/sheets/item-sheet.d.mts +2 -2
  360. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-category-config.d.mts +3 -3
  361. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-sheet.d.mts +3 -3
  362. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-sheet.d.mts +3 -3
  363. package/src/foundry/client-esm/applications/sheets/macro-config.d.mts +3 -3
  364. package/src/foundry/client-esm/applications/sheets/note-config.d.mts +3 -3
  365. package/src/foundry/client-esm/applications/sheets/playlist-config.d.mts +3 -3
  366. package/src/foundry/client-esm/applications/sheets/playlist-sound-config.d.mts +3 -3
  367. package/src/foundry/client-esm/applications/sheets/region-behavior-config.d.mts +3 -3
  368. package/src/foundry/client-esm/applications/sheets/region-config.d.mts +3 -3
  369. package/src/foundry/client-esm/applications/sheets/roll-table-config.d.mts +3 -3
  370. package/src/foundry/client-esm/applications/sheets/roll-table-sheet.d.mts +3 -3
  371. package/src/foundry/client-esm/applications/sheets/scene-config.d.mts +3 -3
  372. package/src/foundry/client-esm/applications/sheets/table-result-config.d.mts +3 -3
  373. package/src/foundry/client-esm/applications/sheets/template-config.d.mts +3 -3
  374. package/src/foundry/client-esm/applications/sheets/tile-config.d.mts +3 -3
  375. package/src/foundry/client-esm/applications/sheets/token/mixin.d.mts +1 -0
  376. package/src/foundry/client-esm/applications/sheets/token/token-config.d.mts +3 -3
  377. package/src/foundry/client-esm/applications/sheets/user-config.d.mts +4 -4
  378. package/src/foundry/client-esm/applications/sheets/wall-config.d.mts +3 -3
  379. package/src/foundry/client-esm/applications/sidebar/apps/chat-popout.d.mts +1 -1
  380. package/src/foundry/client-esm/applications/sidebar/sidebar-tab.d.mts +2 -2
  381. package/src/foundry/client-esm/applications/sidebar/tabs/actor-directory.d.mts +1 -1
  382. package/src/foundry/client-esm/applications/sidebar/tabs/cards-directory.d.mts +1 -1
  383. package/src/foundry/client-esm/applications/sidebar/tabs/combat-tracker.d.mts +242 -1
  384. package/src/foundry/client-esm/applications/sidebar/tabs/item-directory.d.mts +1 -1
  385. package/src/foundry/client-esm/applications/sidebar/tabs/journal-directory.d.mts +1 -1
  386. package/src/foundry/client-esm/applications/sidebar/tabs/macro-directory.d.mts +1 -1
  387. package/src/foundry/client-esm/applications/sidebar/tabs/playlist-directory.d.mts +1 -1
  388. package/src/foundry/client-esm/applications/sidebar/tabs/roll-table-directory.d.mts +1 -1
  389. package/src/foundry/client-esm/applications/sidebar/tabs/scene-directory.d.mts +1 -1
  390. package/src/foundry/client-esm/applications/ui/region-legend.d.mts +2 -2
  391. package/src/foundry/client-esm/applications/ux/context-menu.d.mts +56 -36
  392. package/src/foundry/client-esm/audio/_types.d.mts +2 -0
  393. package/src/foundry/client-esm/audio/biquad.d.mts +76 -26
  394. package/src/foundry/client-esm/audio/cache.d.mts +31 -20
  395. package/src/foundry/client-esm/audio/convolver.d.mts +47 -25
  396. package/src/foundry/client-esm/audio/helper.d.mts +124 -80
  397. package/src/foundry/client-esm/audio/sound.d.mts +202 -97
  398. package/src/foundry/client-esm/audio/timeout.d.mts +28 -12
  399. package/src/foundry/client-esm/canvas/edges/collision.d.mts +12 -4
  400. package/src/foundry/client-esm/canvas/edges/edge.d.mts +13 -8
  401. package/src/foundry/client-esm/canvas/edges/edges.d.mts +3 -2
  402. package/src/foundry/client-esm/canvas/edges/vertex.d.mts +12 -10
  403. package/src/foundry/client-esm/canvas/regions/geometry.d.mts +14 -7
  404. package/src/foundry/client-esm/canvas/regions/mesh.d.mts +25 -14
  405. package/src/foundry/client-esm/canvas/regions/polygon-tree.d.mts +50 -19
  406. package/src/foundry/client-esm/canvas/regions/shape.d.mts +45 -34
  407. package/src/foundry/client-esm/canvas/scene-manager.d.mts +7 -6
  408. package/src/foundry/client-esm/canvas/smaa/blend.d.mts +14 -3
  409. package/src/foundry/client-esm/canvas/smaa/edges.d.mts +25 -3
  410. package/src/foundry/client-esm/canvas/smaa/smaa.d.mts +119 -20
  411. package/src/foundry/client-esm/canvas/smaa/weights.d.mts +26 -3
  412. package/src/foundry/client-esm/canvas/sources/base-effect-source.d.mts +69 -39
  413. package/src/foundry/client-esm/canvas/sources/base-light-source.d.mts +66 -40
  414. package/src/foundry/client-esm/canvas/sources/global-light-source.d.mts +78 -19
  415. package/src/foundry/client-esm/canvas/sources/point-darkness-source.d.mts +37 -20
  416. package/src/foundry/client-esm/canvas/sources/point-effect-source.d.mts +39 -20
  417. package/src/foundry/client-esm/canvas/sources/point-light-source.d.mts +41 -12
  418. package/src/foundry/client-esm/canvas/sources/point-movement-source.d.mts +15 -4
  419. package/src/foundry/client-esm/canvas/sources/point-sound-source.d.mts +29 -14
  420. package/src/foundry/client-esm/canvas/sources/point-vision-source.d.mts +84 -39
  421. package/src/foundry/client-esm/canvas/sources/rendered-effect-source.d.mts +115 -41
  422. package/src/foundry/client-esm/canvas/tokens/ring-config.d.mts +83 -21
  423. package/src/foundry/client-esm/canvas/tokens/ring-data.d.mts +66 -93
  424. package/src/foundry/client-esm/canvas/tokens/ring.d.mts +146 -51
  425. package/src/foundry/client-esm/client.d.mts +16 -16
  426. package/src/foundry/client-esm/data/_module.d.mts +1 -1
  427. package/src/foundry/client-esm/data/calendar.d.mts +26 -39
  428. package/src/foundry/client-esm/data/client-backend.d.mts +6 -6
  429. package/src/foundry/client-esm/data/region-behaviors/adjust-darkness-level.d.mts +1 -1
  430. package/src/foundry/client-esm/data/region-behaviors/base.d.mts +5 -5
  431. package/src/foundry/client-esm/data/region-behaviors/display-scrolling-text.d.mts +2 -2
  432. package/src/foundry/client-esm/data/terrain-data.d.mts +1 -1
  433. package/src/foundry/client-esm/dice/parser.d.mts +5 -27
  434. package/src/foundry/client-esm/dice/roll.d.mts +63 -80
  435. package/src/foundry/client-esm/dice/terms/coin.d.mts +4 -8
  436. package/src/foundry/client-esm/dice/terms/dice.d.mts +85 -64
  437. package/src/foundry/client-esm/dice/terms/die.d.mts +7 -7
  438. package/src/foundry/client-esm/dice/terms/fate.d.mts +5 -5
  439. package/src/foundry/client-esm/dice/terms/function.d.mts +13 -16
  440. package/src/foundry/client-esm/dice/terms/numeric.d.mts +2 -4
  441. package/src/foundry/client-esm/dice/terms/operator.d.mts +1 -1
  442. package/src/foundry/client-esm/dice/terms/parenthetical.d.mts +8 -9
  443. package/src/foundry/client-esm/dice/terms/pool.d.mts +13 -28
  444. package/src/foundry/client-esm/dice/terms/string.d.mts +3 -3
  445. package/src/foundry/client-esm/dice/terms/term.d.mts +10 -5
  446. package/src/foundry/client-esm/dice/twister.d.mts +3 -3
  447. package/src/foundry/client-esm/documents/_module.d.mts +1 -1
  448. package/src/foundry/client-esm/helpers/_types.d.mts +12 -46
  449. package/src/foundry/client-esm/helpers/compendium-art.d.mts +57 -4
  450. package/src/foundry/client-esm/packages/_module.d.mts +1 -1
  451. package/src/foundry/client-esm/packages/_types.d.mts +2 -0
  452. package/src/foundry/client-esm/utils/_module.d.mts +1 -1
  453. package/src/foundry/client-esm/utils/_types.d.mts +2 -1
  454. package/src/foundry/common/_types.d.mts +1 -1
  455. package/src/foundry/common/abstract/_module.d.mts +1 -0
  456. package/src/foundry/common/abstract/_types.d.mts +60 -54
  457. package/src/foundry/common/abstract/backend.d.mts +28 -16
  458. package/src/foundry/common/abstract/data.d.mts +133 -116
  459. package/src/foundry/common/abstract/document.d.mts +1233 -440
  460. package/src/foundry/common/abstract/embedded-collection.d.mts +2 -2
  461. package/src/foundry/common/abstract/singleton-collection.d.mts +1 -1
  462. package/src/foundry/common/abstract/type-data.d.mts +35 -43
  463. package/src/foundry/common/config.d.mts +3 -3
  464. package/src/foundry/common/constants.d.mts +27 -26
  465. package/src/foundry/common/data/_types.d.mts +2 -0
  466. package/src/foundry/common/data/data.d.mts +189 -87
  467. package/src/foundry/common/data/fields.d.mts +579 -258
  468. package/src/foundry/common/data/validation-failure.d.mts +9 -4
  469. package/src/foundry/common/documents/_types.d.mts +16 -9
  470. package/src/foundry/common/documents/active-effect.d.mts +280 -180
  471. package/src/foundry/common/documents/actor-delta.d.mts +317 -70
  472. package/src/foundry/common/documents/actor.d.mts +304 -103
  473. package/src/foundry/common/documents/adventure.d.mts +254 -140
  474. package/src/foundry/common/documents/ambient-light.d.mts +267 -76
  475. package/src/foundry/common/documents/ambient-sound.d.mts +267 -110
  476. package/src/foundry/common/documents/card.d.mts +267 -176
  477. package/src/foundry/common/documents/cards.d.mts +299 -128
  478. package/src/foundry/common/documents/chat-message.d.mts +276 -160
  479. package/src/foundry/common/documents/combat.d.mts +300 -91
  480. package/src/foundry/common/documents/combatant.d.mts +283 -88
  481. package/src/foundry/common/documents/drawing.d.mts +286 -207
  482. package/src/foundry/common/documents/fog-exploration.d.mts +258 -72
  483. package/src/foundry/common/documents/folder.d.mts +248 -85
  484. package/src/foundry/common/documents/item.d.mts +305 -101
  485. package/src/foundry/common/documents/journal-entry-page.d.mts +279 -190
  486. package/src/foundry/common/documents/journal-entry.d.mts +294 -70
  487. package/src/foundry/common/documents/macro.d.mts +254 -134
  488. package/src/foundry/common/documents/measured-template.d.mts +293 -137
  489. package/src/foundry/common/documents/note.d.mts +274 -151
  490. package/src/foundry/common/documents/playlist-sound.d.mts +260 -96
  491. package/src/foundry/common/documents/playlist.d.mts +279 -122
  492. package/src/foundry/common/documents/region-behavior.d.mts +305 -64
  493. package/src/foundry/common/documents/region.d.mts +309 -90
  494. package/src/foundry/common/documents/roll-table.d.mts +286 -104
  495. package/src/foundry/common/documents/scene.d.mts +276 -344
  496. package/src/foundry/common/documents/setting.d.mts +229 -55
  497. package/src/foundry/common/documents/table-result.d.mts +267 -96
  498. package/src/foundry/common/documents/tile.d.mts +301 -172
  499. package/src/foundry/common/documents/token.d.mts +350 -452
  500. package/src/foundry/common/documents/user.d.mts +256 -146
  501. package/src/foundry/common/documents/wall.d.mts +272 -157
  502. package/src/foundry/common/grid/_types.d.mts +2 -0
  503. package/src/foundry/common/grid/base.d.mts +58 -37
  504. package/src/foundry/common/grid/hexagonal.d.mts +19 -19
  505. package/src/foundry/common/grid/square.d.mts +1 -1
  506. package/src/foundry/common/packages/_module.d.mts +5 -5
  507. package/src/foundry/common/packages/_types.d.mts +2 -0
  508. package/src/foundry/common/packages/base-module.d.mts +6 -24
  509. package/src/foundry/common/packages/base-package.d.mts +18 -16
  510. package/src/foundry/common/packages/base-system.d.mts +6 -78
  511. package/src/foundry/common/packages/base-world.d.mts +7 -60
  512. package/src/foundry/common/packages/sub-types.d.mts +1 -1
  513. package/src/foundry/common/primitives/array.d.mts +3 -3
  514. package/src/foundry/common/primitives/math.d.mts +7 -1
  515. package/src/foundry/common/primitives/number.d.mts +1 -1
  516. package/src/foundry/common/primitives/set.d.mts +17 -14
  517. package/src/foundry/common/prosemirror/_types.d.mts +2 -0
  518. package/src/foundry/common/prosemirror/dropdown.d.mts +1 -1
  519. package/src/foundry/common/prosemirror/highlight-matches-plugin.d.mts +1 -1
  520. package/src/foundry/common/prosemirror/menu.d.mts +3 -3
  521. package/src/foundry/common/prosemirror/plugin.d.mts +1 -1
  522. package/src/foundry/common/prosemirror/schema/index.d.mts +0 -1
  523. package/src/foundry/common/prosemirror/util.d.mts +1 -1
  524. package/src/foundry/common/utils/bitmask.d.mts +4 -1
  525. package/src/foundry/common/utils/collection.d.mts +59 -24
  526. package/src/foundry/common/utils/event-emitter.d.mts +46 -19
  527. package/src/foundry/common/utils/helpers.d.mts +13 -13
  528. package/src/foundry/common/utils/http.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/tsconfig.json +1 -5
  532. package/src/types/augments/pixi.d.mts +28 -28
  533. package/src/types/config.d.mts +12 -12
  534. package/src/types/documentConfiguration.d.mts +282 -597
  535. package/src/types/lib.d.mts +4 -4
  536. package/src/types/workers/image-compressor.d.mts +1 -1
  537. package/src/utils/index.d.mts +255 -60
  538. package/tsconfig.json +29 -0
  539. package/tsconfig.main.json +8 -0
  540. package/tsconfig.miscellaneous.json +16 -0
  541. package/src/foundry/client/apps/placeables/light-config.d.mts +0 -100
  542. package/src/foundry/client/apps/placeables/sound-config.d.mts +0 -44
  543. package/src/foundry/common/documents/module.d.mts +0 -35
@@ -1,34 +1,560 @@
1
- import type { AnyObject } from "fvtt-types/utils";
2
- import type { DataModel } from "../../../common/abstract/data.d.mts";
3
- import type Document from "../../../common/abstract/document.d.mts";
4
- import type { DataField } from "../../../common/data/fields.d.mts";
5
- import type { ActiveEffectData, EffectDurationData } from "../../../common/documents/_types.d.mts";
6
- import type BaseActiveEffect from "../../../common/documents/active-effect.d.mts";
1
+ import type { ConfiguredActiveEffect } from "fvtt-types/configuration";
2
+ import type { AnyObject, InterfaceToObject, Merge } from "fvtt-types/utils";
3
+ import type { DataModel } from "#common/abstract/data.d.mts";
4
+ import type Document from "#common/abstract/document.d.mts";
5
+ import type { DataField, DataSchema } from "#common/data/fields.d.mts";
6
+ import type BaseActiveEffect from "#common/documents/active-effect.d.mts";
7
+
8
+ import fields = foundry.data.fields;
7
9
 
8
10
  declare global {
9
11
  namespace ActiveEffect {
10
- type Metadata = Document.MetadataFor<ActiveEffect>;
12
+ /**
13
+ * The document's name.
14
+ */
15
+ type Name = "ActiveEffect";
11
16
 
12
- type ConfiguredClass = Document.ConfiguredClassForName<"ActiveEffect">;
13
- type ConfiguredInstance = Document.ConfiguredInstanceForName<"ActiveEffect">;
17
+ /**
18
+ * The arguments to construct the document.
19
+ */
20
+ type ConstructorArgs = Document.ConstructorParameters<CreateData, Parent>;
14
21
 
15
- interface DatabaseOperations
16
- extends Document.Database.Operations<
17
- ActiveEffect,
18
- { animate: boolean },
19
- { animate: boolean },
20
- { animate: boolean }
22
+ /**
23
+ * The documents embedded within `ActiveEffect`.
24
+ */
25
+ type Hierarchy = Readonly<Document.HierarchyOf<Schema>>;
26
+
27
+ /**
28
+ * The implementation of the `ActiveEffect` document instance configured through `CONFIG.ActiveEffect.documentClass` in Foundry and
29
+ * {@link DocumentClassConfig | `DocumentClassConfig`} or {@link ConfiguredActiveEffect | `fvtt-types/configuration/ConfiguredActiveEffect`} in fvtt-types.
30
+ */
31
+ type Implementation = Document.ImplementationFor<Name>;
32
+
33
+ /**
34
+ * The implementation of the `ActiveEffect` document configured through `CONFIG.ActiveEffect.documentClass` in Foundry and
35
+ * {@link DocumentClassConfig | `DocumentClassConfig`} in fvtt-types.
36
+ */
37
+ type ImplementationClass = Document.ImplementationClassFor<Name>;
38
+
39
+ /**
40
+ * A document's metadata is special information about the document ranging anywhere from its name,
41
+ * whether it's indexed, or to the permissions a user has over it.
42
+ */
43
+ interface Metadata
44
+ extends Merge<
45
+ Document.Metadata.Default,
46
+ Readonly<{
47
+ name: "ActiveEffect";
48
+ collection: "effects";
49
+ hasTypeData: true;
50
+ label: string;
51
+ labelPlural: string;
52
+ schemaVersion: string;
53
+ }>
21
54
  > {}
22
55
 
23
- // Helpful aliases
24
- type TypeNames = BaseActiveEffect.TypeNames;
25
- type ConstructorData = BaseActiveEffect.ConstructorData;
26
- type UpdateData = BaseActiveEffect.UpdateData;
27
- type Schema = BaseActiveEffect.Schema;
28
- type Source = BaseActiveEffect.Source;
56
+ // No need for Metadata namespace
57
+
58
+ /**
59
+ * Allowed subtypes of `ActiveEffect`. This is configured through various methods. Modern Foundry
60
+ * recommends registering using [Data Models](https://foundryvtt.com/article/system-data-models/)
61
+ * under {@link CONFIG.ActiveEffect.dataModels | `CONFIG.ActiveEffect.dataModels`}. This corresponds to
62
+ * fvtt-type's {@link DataModelConfig | `DataModelConfig`}.
63
+ *
64
+ * Subtypes can also be registered through a `template.json` though this is discouraged.
65
+ * The corresponding fvtt-type configs are {@link SourceConfig | `SourceConfig`} and
66
+ * {@link DataConfig | `DataConfig`}.
67
+ */
68
+ type SubType = Game.Model.TypeNames<"ActiveEffect">;
69
+
70
+ /**
71
+ * `ConfiguredSubTypes` represents the subtypes a user explicitly registered. This excludes
72
+ * subtypes like the Foundry builtin subtype `"base"` and the catch-all subtype for arbitrary
73
+ * module subtypes `${string}.${string}`.
74
+ *
75
+ * @see {@link SubType} for more information.
76
+ */
77
+ type ConfiguredSubTypes = Document.ConfiguredSubTypesOf<"ActiveEffect">;
78
+
79
+ /**
80
+ * `Known` represents the types of `ActiveEffect` that a user explicitly registered.
81
+ *
82
+ * @see {@link ConfiguredSubTypes} for more information.
83
+ */
84
+ type Known = ActiveEffect.OfType<ActiveEffect.ConfiguredSubTypes>;
85
+
86
+ /**
87
+ * `OfType` returns an instance of `ActiveEffect` with the corresponding type. This works with both the
88
+ * builtin `ActiveEffect` class or a custom subclass if that is set up in
89
+ * {@link ConfiguredActiveEffect | `fvtt-types/configuration/ConfiguredActiveEffect`}.
90
+ */
91
+ // eslint-disable-next-line @typescript-eslint/no-restricted-types
92
+ type OfType<Type extends SubType> = Document.Internal.OfType<ConfiguredActiveEffect<Type>, ActiveEffect<Type>>;
93
+
94
+ /**
95
+ * `SystemOfType` returns the system property for a specific `ActiveEffect` subtype.
96
+ */
97
+ type SystemOfType<Type extends SubType> = Document.Internal.SystemOfType<_SystemMap, Type>;
98
+
99
+ /**
100
+ * @internal
101
+ */
102
+ interface _SystemMap extends Document.Internal.SystemMap<"ActiveEffect"> {}
103
+
104
+ /**
105
+ * A document's parent is something that can contain it.
106
+ * For example an `Item` can be contained by an `Actor` which makes `Actor` one of its possible parents.
107
+ */
108
+ type Parent = Actor.Implementation | Item.Implementation | null;
109
+
110
+ /**
111
+ * A document's descendants are any child documents, grandchild documents, etc.
112
+ * This is a union of all instances, or never if the document doesn't have any descendants.
113
+ */
114
+ type Descendant = never;
115
+
116
+ /**
117
+ * A document's descendants are any child documents, grandchild documents, etc.
118
+ * This is a union of all classes, or never if the document doesn't have any descendants.
119
+ */
120
+ type DescendantClass = never;
121
+
122
+ /**
123
+ * Types of `CompendiumCollection` this document might be contained in.
124
+ * Note that `this.pack` will always return a string; this is the type for `game.packs.get(this.pack)`
125
+ */
126
+ // Note: Takes any document in the heritage chain (i.e. itself or any parent, transitive or not) that can be contained in a compendium.
127
+ type Pack = CompendiumCollection.ForDocument<"Actor" | "Item">;
128
+
129
+ /**
130
+ * An embedded document is a document contained in another.
131
+ * For example an `Item` can be contained by an `Actor` which means `Item` can be embedded in `Actor`.
132
+ *
133
+ * If this is `never` it is because there are no embeddable documents (or there's a bug!).
134
+ */
135
+ type Embedded = never;
136
+
137
+ /**
138
+ * The name of the world or embedded collection this document can find itself in.
139
+ * For example an `Item` is always going to be inside a collection with a key of `items`.
140
+ * This is a fixed string per document type and is primarily useful for {@link ClientDocumentMixin | `Descendant Document Events`}.
141
+ */
142
+ type ParentCollectionName = Metadata["collection"];
143
+
144
+ /**
145
+ * The world collection that contains this document type. Will be `never` if none exists.
146
+ */
147
+ type CollectionClass = never;
148
+
149
+ /**
150
+ * The world collection that contains this document type. Will be `never` if none exists.
151
+ */
152
+ type Collection = never;
153
+
154
+ /**
155
+ * An instance of `ActiveEffect` that comes from the database but failed validation meaining that
156
+ * its `system` and `_source` could theoretically be anything.
157
+ */
158
+ interface Invalid<out SubType extends ActiveEffect.SubType = ActiveEffect.SubType>
159
+ extends Document.Invalid<OfType<SubType>> {}
160
+
161
+ /**
162
+ * An instance of `ActiveEffect` that comes from the database.
163
+ */
164
+ interface Stored<out SubType extends ActiveEffect.SubType = ActiveEffect.SubType>
165
+ extends Document.Stored<OfType<SubType>> {}
166
+
167
+ /**
168
+ * The data put in {@link ActiveEffect._source | `ActiveEffect#_source`}. This data is what was
169
+ * persisted to the database and therefore it must be valid JSON.
170
+ *
171
+ * For example a {@link fields.SetField | `SetField`} is persisted to the database as an array
172
+ * but initialized as a {@link Set | `Set`}.
173
+ */
174
+ interface Source extends fields.SchemaField.SourceData<Schema> {}
175
+
176
+ /**
177
+ * @deprecated {@link ActiveEffect.Source | `ActiveEffect.Source`}
178
+ */
179
+ type PersistedData = Source;
180
+
181
+ /**
182
+ * The data necessary to create a document. Used in places like {@link ActiveEffect.create | `ActiveEffect.create`}
183
+ * and {@link ActiveEffect | `new ActiveEffect(...)`}.
184
+ *
185
+ * For example a {@link fields.SetField | `SetField`} can accept any {@link Iterable | `Iterable`}
186
+ * with the right values. This means you can pass a `Set` instance, an array of values,
187
+ * a generator, or any other iterable.
188
+ */
189
+ interface CreateData extends fields.SchemaField.CreateData<Schema> {}
190
+
191
+ /**
192
+ * The data after a {@link foundry.abstract.Document | `Document`} has been initialized, for example
193
+ * {@link ActiveEffect.name | `ActiveEffect#name`}.
194
+ *
195
+ * This is data transformed from {@link ActiveEffect.Source | `ActiveEffect.Source`} and turned into more
196
+ * convenient runtime data structures. For example a {@link fields.SetField | `SetField`} is
197
+ * persisted to the database as an array of values but at runtime it is a `Set` instance.
198
+ */
199
+ interface InitializedData extends fields.SchemaField.InitializedData<Schema> {}
200
+
201
+ /**
202
+ * The data used to update a document, for example {@link ActiveEffect.update | `ActiveEffect#update`}.
203
+ * It is a distinct type from {@link ActiveEffect.CreateData | `DeepPartial<ActiveEffect.CreateData>`} because
204
+ * it has different rules for `null` and `undefined`.
205
+ */
206
+ interface UpdateData extends fields.SchemaField.UpdateData<Schema> {}
207
+
208
+ /**
209
+ * The schema for {@link ActiveEffect | `ActiveEffect`}. This is the source of truth for how an ActiveEffect document
210
+ * must be structured.
211
+ *
212
+ * Foundry uses this schema to validate the structure of the {@link ActiveEffect | `ActiveEffect`}. For example
213
+ * a {@link fields.StringField | `StringField`} will enforce that the value is a string. More
214
+ * complex fields like {@link fields.SetField | `SetField`} goes through various conversions
215
+ * starting as an array in the database, initialized as a set, and allows updates with any
216
+ * iterable.
217
+ */
218
+ interface Schema extends DataSchema {
219
+ /**
220
+ * The _id which uniquely identifies the ActiveEffect within a parent Actor or Item
221
+ * @defaultValue `null`
222
+ */
223
+ _id: fields.DocumentIdField;
224
+
225
+ /**
226
+ * The name of the ActiveEffect
227
+ * @defaultValue `""`
228
+ */
229
+ name: fields.StringField<{ required: true; label: "EFFECT.Label" }>;
230
+
231
+ /**
232
+ * An image path used to depict the ActiveEffect as an icon
233
+ * @defaultValue `null`
234
+ */
235
+ img: fields.FilePathField<{ categories: "IMAGE"[]; label: "EFFECT.Image" }>;
236
+
237
+ type: fields.DocumentTypeField<typeof BaseActiveEffect, { initial: typeof foundry.CONST.BASE_DOCUMENT_TYPE }>;
238
+
239
+ system: fields.TypeDataField<typeof BaseActiveEffect>;
240
+
241
+ /**
242
+ * The array of EffectChangeData objects which the ActiveEffect applies
243
+ * @defaultValue `[]`
244
+ */
245
+ changes: fields.ArrayField<
246
+ fields.SchemaField<{
247
+ /**
248
+ * The attribute path in the Actor or Item data which the change modifies
249
+ * @defaultValue `""`
250
+ */
251
+ key: fields.StringField<{ required: true; label: "EFFECT.ChangeKey" }>;
252
+
253
+ /**
254
+ * The value of the change effect
255
+ * @defaultValue `""`
256
+ */
257
+ value: fields.StringField<{ required: true; label: "EFFECT.ChangeValue" }>;
258
+
259
+ /**
260
+ * The modification mode with which the change is applied
261
+ * @defaultValue `CONST.ACTIVE_EFFECT_MODES.ADD`
262
+ */
263
+ mode: fields.NumberField<{
264
+ integer: true;
265
+ initial: typeof CONST.ACTIVE_EFFECT_MODES.ADD;
266
+ label: "EFFECT.ChangeMode";
267
+ }>;
268
+
269
+ /**
270
+ * The priority level with which this change is applied
271
+ * @defaultValue `null`
272
+ */
273
+ priority: fields.NumberField;
274
+ }>
275
+ >;
276
+
277
+ /**
278
+ * Is this ActiveEffect currently disabled?
279
+ * @defaultValue `false`
280
+ */
281
+ disabled: fields.BooleanField;
282
+
283
+ /**
284
+ * An ActiveEffect.DurationData object which describes the duration of the ActiveEffect
285
+ * @defaultValue see properties
286
+ */
287
+ duration: fields.SchemaField<{
288
+ /**
289
+ * The world time when the active effect first started
290
+ * @defaultValue `null`
291
+ */
292
+ startTime: fields.NumberField<{ initial: null; label: "EFFECT.StartTime" }>;
293
+
294
+ /**
295
+ * The maximum duration of the effect, in seconds
296
+ * @defaultValue `null`
297
+ */
298
+ seconds: fields.NumberField<{ integer: true; min: 0; label: "EFFECT.DurationSecs" }>;
299
+
300
+ /**
301
+ * The _id of the CombatEncounter in which the effect first started
302
+ * @defaultValue `null`
303
+ */
304
+ combat: fields.ForeignDocumentField<typeof foundry.documents.BaseCombat, { label: "EFFECT.Combat" }>;
305
+
306
+ /**
307
+ * The maximum duration of the effect, in combat rounds
308
+ * @defaultValue `null`
309
+ */
310
+ rounds: fields.NumberField<{ integer: true; min: 0 }>;
311
+
312
+ /**
313
+ * The maximum duration of the effect, in combat turns
314
+ * @defaultValue `null`
315
+ */
316
+ turns: fields.NumberField<{ integer: true; min: 0; label: "EFFECT.DurationTurns" }>;
317
+
318
+ /**
319
+ * The round of the CombatEncounter in which the effect first started
320
+ * @defaultValue `null`
321
+ */
322
+ startRound: fields.NumberField<{ integer: true; min: 0 }>;
323
+
324
+ /**
325
+ * The turn of the CombatEncounter in which the effect first started
326
+ * @defaultValue `null`
327
+ */
328
+ startTurn: fields.NumberField<{ integer: true; min: 0; label: "EFFECT.StartTurns" }>;
329
+ }>;
330
+
331
+ /**
332
+ * The HTML text description for this ActiveEffect document.
333
+ * @defaultValue `""`
334
+ */
335
+ description: fields.HTMLField<{ label: "EFFECT.Description"; textSearch: true }>;
336
+
337
+ /**
338
+ * A UUID reference to the document from which this ActiveEffect originated
339
+ * @defaultValue `null`
340
+ */
341
+ origin: fields.StringField<{ nullable: true; blank: false; initial: null; label: "EFFECT.Origin" }>;
342
+
343
+ /**
344
+ * A color string which applies a tint to the ActiveEffect icon
345
+ * @defaultValue `"#ffffff"`
346
+ */
347
+ tint: fields.ColorField<{ nullable: false; initial: "#ffffff"; label: "EFFECT.IconTint" }>;
348
+
349
+ /**
350
+ * Does this ActiveEffect automatically transfer from an Item to an Actor?
351
+ * @defaultValue `false`
352
+ */
353
+ transfer: fields.BooleanField<{ initial: true; label: "EFFECT.Transfer" }>;
354
+
355
+ /**
356
+ * Special status IDs that pertain to this effect
357
+ * @defaultValue `[]`
358
+ */
359
+ statuses: fields.SetField<fields.StringField<{ required: true; blank: false }>>;
360
+
361
+ sort: fields.IntegerSortField;
362
+
363
+ /**
364
+ * An object of optional key/value flags
365
+ * @defaultValue `{}`
366
+ */
367
+ flags: fields.ObjectField.FlagsField<Name, InterfaceToObject<CoreFlags>>;
368
+
369
+ _stats: fields.DocumentStatsField;
370
+ }
371
+
372
+ namespace Database {
373
+ /** Options passed along in Get operations for ActiveEffects */
374
+ interface Get extends foundry.abstract.types.DatabaseGetOperation<ActiveEffect.Parent> {}
375
+
376
+ /** Options passed along in Create operations for ActiveEffects */
377
+ interface Create<Temporary extends boolean | undefined = boolean | undefined>
378
+ extends foundry.abstract.types.DatabaseCreateOperation<
379
+ ActiveEffect.CreateData,
380
+ ActiveEffect.Parent,
381
+ Temporary
382
+ > {
383
+ animate?: boolean;
384
+ }
385
+
386
+ /** Options passed along in Delete operations for ActiveEffects */
387
+ interface Delete extends foundry.abstract.types.DatabaseDeleteOperation<ActiveEffect.Parent> {
388
+ animate?: boolean;
389
+ }
390
+
391
+ /** Options passed along in Update operations for ActiveEffects */
392
+ interface Update
393
+ extends foundry.abstract.types.DatabaseUpdateOperation<ActiveEffect.UpdateData, ActiveEffect.Parent> {
394
+ animate?: boolean;
395
+ }
396
+
397
+ /** Operation for {@link ActiveEffect.createDocuments | `ActiveEffect.createDocuments`} */
398
+ interface CreateDocumentsOperation<Temporary extends boolean | undefined>
399
+ extends Document.Database.CreateOperation<ActiveEffect.Database.Create<Temporary>> {}
400
+
401
+ /** Operation for {@link ActiveEffect.updateDocuments | `ActiveEffect.updateDocuments`} */
402
+ interface UpdateDocumentsOperation
403
+ extends Document.Database.UpdateDocumentsOperation<ActiveEffect.Database.Update> {}
404
+
405
+ /** Operation for {@link ActiveEffect.deleteDocuments | `ActiveEffect.deleteDocuments`} */
406
+ interface DeleteDocumentsOperation
407
+ extends Document.Database.DeleteDocumentsOperation<ActiveEffect.Database.Delete> {}
408
+
409
+ /** Operation for {@link ActiveEffect.create | `ActiveEffect.create`} */
410
+ interface CreateOperation<Temporary extends boolean | undefined>
411
+ extends Document.Database.CreateOperation<ActiveEffect.Database.Create<Temporary>> {}
412
+
413
+ /** Operation for {@link ActiveEffect.update | `ActiveEffect#update`} */
414
+ interface UpdateOperation extends Document.Database.UpdateOperation<Update> {}
415
+
416
+ interface DeleteOperation extends Document.Database.DeleteOperation<Delete> {}
417
+
418
+ /** Options for {@link ActiveEffect.get | `ActiveEffect.get`} */
419
+ interface GetOptions extends Document.Database.GetOptions {}
420
+
421
+ /** Options for {@link ActiveEffect._preCreate | `ActiveEffect#_preCreate`} */
422
+ interface PreCreateOptions extends Document.Database.PreCreateOptions<Create> {}
423
+
424
+ /** Options for {@link ActiveEffect._onCreate | `ActiveEffect#_onCreate`} */
425
+ interface OnCreateOptions extends Document.Database.CreateOptions<Create> {}
426
+
427
+ /** Operation for {@link ActiveEffect._preCreateOperation | `ActiveEffect._preCreateOperation`} */
428
+ interface PreCreateOperation extends Document.Database.PreCreateOperationStatic<ActiveEffect.Database.Create> {}
429
+
430
+ /** Operation for {@link ActiveEffect._onCreateOperation | `ActiveEffect#_onCreateOperation`} */
431
+ interface OnCreateOperation extends ActiveEffect.Database.Create {}
432
+
433
+ /** Options for {@link ActiveEffect._preUpdate | `ActiveEffect#_preUpdate`} */
434
+ interface PreUpdateOptions extends Document.Database.PreUpdateOptions<Update> {}
435
+
436
+ /** Options for {@link ActiveEffect._onUpdate | `ActiveEffect#_onUpdate`} */
437
+ interface OnUpdateOptions extends Document.Database.UpdateOptions<Update> {}
438
+
439
+ /** Operation for {@link ActiveEffect._preUpdateOperation | `ActiveEffect._preUpdateOperation`} */
440
+ interface PreUpdateOperation extends ActiveEffect.Database.Update {}
441
+
442
+ /** Operation for {@link ActiveEffect._onUpdateOperation | `ActiveEffect._preUpdateOperation`} */
443
+ interface OnUpdateOperation extends ActiveEffect.Database.Update {}
444
+
445
+ /** Options for {@link ActiveEffect._preDelete | `ActiveEffect#_preDelete`} */
446
+ interface PreDeleteOptions extends Document.Database.PreDeleteOperationInstance<Delete> {}
447
+
448
+ /** Options for {@link ActiveEffect._onDelete | `ActiveEffect#_onDelete`} */
449
+ interface OnDeleteOptions extends Document.Database.DeleteOptions<Delete> {}
450
+
451
+ /** Options for {@link ActiveEffect._preDeleteOperation | `ActiveEffect#_preDeleteOperation`} */
452
+ interface PreDeleteOperation extends ActiveEffect.Database.Delete {}
453
+
454
+ /** Options for {@link ActiveEffect._onDeleteOperation | `ActiveEffect#_onDeleteOperation`} */
455
+ interface OnDeleteOperation extends ActiveEffect.Database.Delete {}
456
+
457
+ /** Context for {@link ActiveEffect._onDeleteOperation | `ActiveEffect._onDeleteOperation`} */
458
+ interface OnDeleteDocumentsContext extends Document.ModificationContext<ActiveEffect.Parent> {}
459
+
460
+ /** Context for {@link ActiveEffect._onCreateDocuments | `ActiveEffect._onCreateDocuments`} */
461
+ interface OnCreateDocumentsContext extends Document.ModificationContext<ActiveEffect.Parent> {}
462
+
463
+ /** Context for {@link ActiveEffect._onUpdateDocuments | `ActiveEffect._onUpdateDocuments`} */
464
+ interface OnUpdateDocumentsContext extends Document.ModificationContext<ActiveEffect.Parent> {}
465
+
466
+ /**
467
+ * Options for {@link ActiveEffect._preCreateDescendantDocuments | `ActiveEffect#_preCreateDescendantDocuments`}
468
+ * and {@link ActiveEffect._onCreateDescendantDocuments | `ActiveEffect#_onCreateDescendantDocuments`}
469
+ */
470
+ interface CreateOptions extends Document.Database.CreateOptions<ActiveEffect.Database.Create> {}
471
+
472
+ /**
473
+ * Options for {@link ActiveEffect._preUpdateDescendantDocuments | `ActiveEffect#_preUpdateDescendantDocuments`}
474
+ * and {@link ActiveEffect._onUpdateDescendantDocuments | `ActiveEffect#_onUpdateDescendantDocuments`}
475
+ */
476
+ interface UpdateOptions extends Document.Database.UpdateOptions<ActiveEffect.Database.Update> {}
477
+
478
+ /**
479
+ * Options for {@link ActiveEffect._preDeleteDescendantDocuments | `ActiveEffect#_preDeleteDescendantDocuments`}
480
+ * and {@link ActiveEffect._onDeleteDescendantDocuments | `ActiveEffect#_onDeleteDescendantDocuments`}
481
+ */
482
+ interface DeleteOptions extends Document.Database.DeleteOptions<ActiveEffect.Database.Delete> {}
483
+ }
484
+
485
+ /**
486
+ * The flags that are available for this document in the form `{ [scope: string]: { [key: string]: unknown } }`.
487
+ */
488
+ interface Flags extends Document.ConfiguredFlagsForName<Name> {}
489
+
490
+ namespace Flags {
491
+ /**
492
+ * The valid scopes for the flags on this document e.g. `"core"` or `"dnd5e"`.
493
+ */
494
+ type Scope = Document.FlagKeyOf<Flags>;
495
+
496
+ /**
497
+ * The valid keys for a certain scope for example if the scope is "core" then a valid key may be `"sheetLock"` or `"viewMode"`.
498
+ */
499
+ type Key<Scope extends Flags.Scope> = Document.FlagKeyOf<Document.FlagGetKey<Flags, Scope>>;
500
+
501
+ /**
502
+ * Gets the type of a particular flag given a `Scope` and a `Key`.
503
+ */
504
+ type Get<Scope extends Flags.Scope, Key extends Flags.Key<Scope>> = Document.GetFlag<Name, Scope, Key>;
505
+ }
506
+
507
+ /**
508
+ * The flags provided by Foundry itself for this document.
509
+ */
510
+ interface CoreFlags {
511
+ core?: { overlay?: boolean };
512
+ }
513
+
514
+ interface DurationData {
515
+ /** The world time when the active effect first started */
516
+ startTime?: number | null | undefined;
517
+
518
+ /** The maximum duration of the effect, in seconds */
519
+ seconds?: number | null | undefined;
520
+
521
+ /** The _id of the CombatEncounter in which the effect first started */
522
+ combat?: string | null | undefined;
523
+
524
+ /** The maximum duration of the effect, in combat rounds */
525
+ rounds?: number | null | undefined;
526
+
527
+ /** The maximum duration of the effect, in combat turns */
528
+ turns?: number | null | undefined;
529
+
530
+ /** The round of the CombatEncounter in which the effect first started */
531
+ startRound?: number | null | undefined;
532
+
533
+ /** The turn of the CombatEncounter in which the effect first started */
534
+ startTurn?: number | null | undefined;
535
+ }
536
+
537
+ // Must be kept in sync with
538
+ interface Duration extends DurationData {
539
+ /** The duration type, either "seconds", "turns", or "none" */
540
+ type: "seconds" | "turns" | "none";
541
+
542
+ /** The total effect duration, in seconds of world time or as a decimal number with the format \{rounds\}.\{turns\} */
543
+ duration: number;
544
+
545
+ /** The remaining effect duration, in seconds of world time or as a decimal number with the format \{rounds\}.\{turns\} */
546
+ remaining: number;
547
+
548
+ /** A formatted string label that represents the remaining duration */
549
+ label: string;
550
+
551
+ /** An internal flag used determine when to recompute seconds-based duration */
552
+ _worldTime?: number;
553
+
554
+ /** An internal flag used determine when to recompute turns-based duration */
555
+ _combatTime?: number;
556
+ }
29
557
 
30
- // TODO(LukeAbby): Audit. This is used both as an assignment, constructor, and initialized type.
31
- // It's likely this isn't really supposed to be used in fvtt-types.
32
558
  interface EffectChangeData {
33
559
  /**
34
560
  * The attribute path in the Actor or Item data which the change modifies
@@ -42,18 +568,54 @@ declare global {
42
568
  */
43
569
  value: string;
44
570
 
571
+ // TODO (@LukeAbby): `undefined` is not valid. We can't pull directly from the schema because this interface is used inside of field methods.
572
+
45
573
  /**
46
574
  * The modification mode with which the change is applied
47
575
  * @defaultValue `CONST.ACTIVE_EFFECT_MODES.ADD`
576
+ * @privateRemarks `undefined` is not actually a possible value, included here due to fvtt-types handling of `initial` values
48
577
  */
49
- mode: number | null;
578
+ mode: number | null | undefined;
50
579
 
51
580
  /**
52
581
  * The priority level with which this change is applied
53
582
  * @defaultValue `null`
583
+ * @privateRemarks `undefined` is not actually a possible value, included here due to fvtt-types handling of `initial` values
54
584
  */
55
- priority: number | null;
585
+ priority: number | null | undefined;
56
586
  }
587
+
588
+ /**
589
+ * @deprecated {@link ActiveEffect.Database | `ActiveEffect.DatabaseOperation`}
590
+ */
591
+ interface DatabaseOperations
592
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
593
+ extends Document.Database.Operations<
594
+ ActiveEffect.Implementation,
595
+ { animate: boolean },
596
+ { animate: boolean },
597
+ { animate: boolean }
598
+ > {}
599
+
600
+ /**
601
+ * @deprecated {@link ActiveEffect.SubType | `ActiveEffect.SubType`}
602
+ */
603
+ type TypeNames = ActiveEffect.SubType;
604
+
605
+ /**
606
+ * @deprecated {@link ActiveEffect.CreateData | `ActiveEffect.CreateData`}
607
+ */
608
+ interface ConstructorData extends ActiveEffect.CreateData {}
609
+
610
+ /**
611
+ * @deprecated {@link ActiveEffect.implementation | `ActiveEffect.ImplementationClass`}
612
+ */
613
+ type ConfiguredClass = ImplementationClass;
614
+
615
+ /**
616
+ * @deprecated {@link ActiveEffect.Implementation | `ActiveEffect.Implementation`}
617
+ */
618
+ type ConfiguredInstance = Implementation;
57
619
  }
58
620
 
59
621
  /**
@@ -61,18 +623,22 @@ declare global {
61
623
  * Each ActiveEffect belongs to the effects collection of its parent Document.
62
624
  * Each ActiveEffect contains a ActiveEffectData object which provides its source data.
63
625
  *
64
- * @see {@link ActiveEffectData} The ActiveEffect data schema
65
- * @see {@link Actor} The Actor document which contains ActiveEffect embedded documents
66
- * @see {@link Item} The Item document which contains ActiveEffect embedded documents
626
+ * @see {@link ActiveEffectData | `ActiveEffectData`} The ActiveEffect data schema
627
+ * @see {@link Actor | `Actor`} The Actor document which contains ActiveEffect embedded documents
628
+ * @see {@link Item | `Item`} The Item document which contains ActiveEffect embedded documents
67
629
  */
68
- class ActiveEffect extends ClientDocumentMixin(foundry.documents.BaseActiveEffect) {
69
- static override metadata: ActiveEffect.Metadata;
70
-
71
- static get implementation(): ActiveEffect.ConfiguredClass;
630
+ class ActiveEffect<out SubType extends ActiveEffect.SubType = ActiveEffect.SubType> extends ClientDocumentMixin(
631
+ foundry.documents.BaseActiveEffect,
632
+ )<SubType> {
633
+ /**
634
+ * @param data - Initial data from which to construct the `ActiveEffect`
635
+ * @param context - Construction context options
636
+ */
637
+ constructor(...args: ActiveEffect.ConstructorArgs);
72
638
 
73
639
  /**
74
640
  * Create an ActiveEffect instance from some status effect ID.
75
- * Delegates to {@link ActiveEffect._fromStatusEffect} to create the ActiveEffect instance
641
+ * Delegates to {@link ActiveEffect._fromStatusEffect | `ActiveEffect._fromStatusEffect`} to create the ActiveEffect instance
76
642
  * after creating the ActiveEffect data from the status effect data if `CONFIG.statusEffects`.
77
643
  * @param statusId - The status effect ID.
78
644
  * @param options - Additional options to pass to the ActiveEffect constructor.
@@ -84,11 +650,11 @@ declare global {
84
650
  static fromStatusEffect(
85
651
  statusId: string,
86
652
  options?: Document.ConstructionContext<Document.Any | null>,
87
- ): Promise<ActiveEffect.ConfiguredInstance>;
653
+ ): Promise<ActiveEffect.Implementation>;
88
654
 
89
655
  /**
90
656
  * Create an ActiveEffect instance from status effect data.
91
- * Called by {@link ActiveEffect.fromStatusEffect}.
657
+ * Called by {@link ActiveEffect.fromStatusEffect | `ActiveEffect.fromStatusEffect`}.
92
658
  * @param statusId - The status effect ID.
93
659
  * @param effectData - The status effect data.
94
660
  * @param options - Additional options to pass to the ActiveEffect constructor.
@@ -96,9 +662,9 @@ declare global {
96
662
  */
97
663
  protected static _fromStatusEffect(
98
664
  statusId: string,
99
- effectData: ActiveEffectData,
665
+ effectData: ActiveEffect.CreateData,
100
666
  options?: Document.ConstructionContext<Document.Any | null>,
101
- ): Promise<ActiveEffect.ConfiguredInstance>;
667
+ ): Promise<ActiveEffect.Implementation>;
102
668
 
103
669
  /**
104
670
  * Is there some system logic that makes this active effect ineligible for application?
@@ -129,7 +695,7 @@ declare global {
129
695
  * Update derived Active Effect duration data.
130
696
  * Configure the remaining and label properties to be getters which lazily recompute only when necessary.
131
697
  */
132
- updateDuration(): ActiveEffectDuration;
698
+ updateDuration(): ActiveEffect.Duration;
133
699
 
134
700
  /**
135
701
  * Determine whether the ActiveEffect requires a duration update.
@@ -138,7 +704,7 @@ declare global {
138
704
  */
139
705
  protected _requiresDurationUpdate(): boolean;
140
706
 
141
- protected _prepareDuration(): Omit<ActiveEffectDuration, keyof EffectDurationData>;
707
+ protected _prepareDuration(): Omit<ActiveEffect.Duration, keyof ActiveEffect.DurationData>;
142
708
 
143
709
  /**
144
710
  * Format a round+turn combination as a decimal
@@ -186,7 +752,7 @@ declare global {
186
752
  * @param change - The change data being applied
187
753
  * @returns The resulting applied value
188
754
  */
189
- apply(actor: Actor.ConfiguredInstance, change: ActiveEffect.EffectChangeData): unknown;
755
+ apply(actor: Actor.Implementation, change: ActiveEffect.EffectChangeData): unknown;
190
756
 
191
757
  /**
192
758
  * Apply this ActiveEffect to a provided Actor using a heuristic to infer the value types based on the current value
@@ -195,7 +761,7 @@ declare global {
195
761
  * @param change - The change data being applied.
196
762
  * @param changes - The aggregate update paths and their updated values.
197
763
  */
198
- protected _applyLegacy(actor: Actor.ConfiguredInstance, change: EffectDurationData, changes: AnyObject): void;
764
+ protected _applyLegacy(actor: Actor.Implementation, change: ActiveEffect.DurationData, changes: AnyObject): void;
199
765
 
200
766
  /**
201
767
  * Cast a raw ActiveEffect.EffectChangeData change string to the desired data type.
@@ -237,7 +803,7 @@ declare global {
237
803
  * @returns The resulting applied value
238
804
  */
239
805
  protected _applyAdd(
240
- actor: Actor.ConfiguredInstance,
806
+ actor: Actor.Implementation,
241
807
  change: ActiveEffect.EffectChangeData,
242
808
  current: any,
243
809
  delta: any,
@@ -255,10 +821,10 @@ declare global {
255
821
  * @returns The resulting applied value
256
822
  */
257
823
  protected _applyMultiply(
258
- actor: Actor.ConfiguredInstance,
824
+ actor: Actor.Implementation,
259
825
  change: ActiveEffect.EffectChangeData,
260
- current: any,
261
- delta: any,
826
+ current: unknown,
827
+ delta: unknown,
262
828
  changes: AnyObject,
263
829
  ): void;
264
830
 
@@ -273,10 +839,10 @@ declare global {
273
839
  * @returns The resulting applied value
274
840
  */
275
841
  protected _applyOverride(
276
- actor: Actor.ConfiguredInstance,
842
+ actor: Actor.Implementation,
277
843
  change: ActiveEffect.EffectChangeData,
278
- current: any,
279
- delta: any,
844
+ current: unknown,
845
+ delta: unknown,
280
846
  changes: AnyObject,
281
847
  ): void;
282
848
 
@@ -291,10 +857,10 @@ declare global {
291
857
  * @returns The resulting applied value
292
858
  */
293
859
  protected _applyUpgrade(
294
- actor: Actor.ConfiguredInstance,
860
+ actor: Actor.Implementation,
295
861
  change: ActiveEffect.EffectChangeData,
296
- current: any,
297
- delta: any,
862
+ current: unknown,
863
+ delta: unknown,
298
864
  changes: AnyObject,
299
865
  ): void;
300
866
 
@@ -308,10 +874,10 @@ declare global {
308
874
  * @returns The resulting applied value
309
875
  */
310
876
  protected _applyCustom(
311
- actor: Actor.ConfiguredInstance,
877
+ actor: Actor.Implementation,
312
878
  change: ActiveEffect.EffectChangeData,
313
- current: any,
314
- delta: any,
879
+ current: unknown,
880
+ delta: unknown,
315
881
  changes: AnyObject,
316
882
  ): void;
317
883
 
@@ -330,8 +896,7 @@ declare global {
330
896
  // getFlag(scope: string, key: string): unknown;
331
897
 
332
898
  /**
333
- * @privateRemarks _preCreate, _onCreate, _onUpdate, _preUpdate, and _onDelete are all overridden but with no signature changes.
334
- * For type simplicity they are left off. These methods historically have been the source of a large amount of computation from tsc.
899
+ * @privateRemarks _preCreate, _onCreate, _onUpdate, _preUpdate, and _onDelete are all overridden but with no signature changes from BaseActiveEffect.
335
900
  */
336
901
 
337
902
  /**
@@ -340,50 +905,49 @@ declare global {
340
905
  */
341
906
  protected _displayScrollingStatus(enabled: boolean): void;
342
907
 
343
- /* -------------------------------------------- */
344
- /* Deprecations and Compatibility */
345
- /* -------------------------------------------- */
346
-
347
908
  /**
348
909
  * Get the name of the source of the Active Effect
349
910
  * @deprecated since v11, will be removed in v13
350
911
  * @remarks `"You are accessing ActiveEffect._getSourceName which is deprecated."`
351
912
  */
352
913
  _getSourceName(): Promise<string>;
353
- }
354
-
355
- interface ActiveEffect {
356
- duration: ActiveEffectDuration;
357
- }
358
914
 
359
- interface ActiveEffectDuration extends EffectDurationData {
360
- /**
361
- * The duration type, either "seconds", "turns", or "none"
915
+ /*
916
+ * After this point these are not really overridden methods.
917
+ * They are here because Foundry's documents are complex and have lots of edge cases.
918
+ * There are DRY ways of representing this but this ends up being harder to understand
919
+ * for end users extending these functions, especially for static methods. There are also a
920
+ * number of methods that don't make sense to call directly on `Document` like `createDocuments`,
921
+ * as there is no data that can safely construct every possible document. Finally keeping definitions
922
+ * separate like this helps against circularities.
362
923
  */
363
- type: "seconds" | "turns" | "none";
364
924
 
365
- /**
366
- * The total effect duration, in seconds of world time or as a decimal
367
- * number with the format `{rounds}.{turns}`
368
- */
369
- duration: number | null;
925
+ // ClientDocument overrides
370
926
 
371
- /**
372
- * The remaining effect duration, in seconds of world time or as a decimal
373
- * number with the format `{rounds}.{turns}`
374
- */
375
- remaining: number | null;
927
+ // Descendant Document operations have been left out because ActiveEffect does not have any descendant documents.
376
928
 
377
- label: string;
929
+ static override defaultName(
930
+ context: Document.DefaultNameContext<ActiveEffect.SubType, NonNullable<ActiveEffect.Parent>>,
931
+ ): string;
378
932
 
379
- /**
380
- * An internal flag used determine when to recompute seconds-based duration
381
- */
382
- _worldTime: number;
933
+ static override createDialog(
934
+ data: Document.CreateDialogData<ActiveEffect.CreateData>,
935
+ context: Document.CreateDialogContext<ActiveEffect.SubType, NonNullable<ActiveEffect.Parent>>,
936
+ ): Promise<ActiveEffect.Stored | null | undefined>;
383
937
 
384
- /**
385
- * An internal flag used determine when to recompute turns-based duration
386
- */
387
- _combatTime: number;
938
+ static override fromDropData(
939
+ data: Document.DropData<ActiveEffect.Implementation>,
940
+ options?: Document.FromDropDataOptions,
941
+ ): Promise<ActiveEffect.Implementation | undefined>;
942
+
943
+ static override fromImport(
944
+ source: ActiveEffect.Source,
945
+ context?: Document.FromImportContext<ActiveEffect.Parent>,
946
+ ): Promise<ActiveEffect.Implementation>;
388
947
  }
948
+
949
+ /**
950
+ * @deprecated {@link ActiveEffect.Duration | `ActiveEffect.Duration`}
951
+ */
952
+ type ActiveEffectDuration = ActiveEffect.Duration;
389
953
  }