@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,32 +1,540 @@
1
- import type { SchemaField } from "../../../common/data/fields.d.mts";
2
- import type { BaseActor, BaseActorDelta } from "../../../common/documents/_module.d.mts";
3
- import type Document from "../../../common/abstract/document.d.mts";
1
+ import type { DataSchema } from "#common/data/fields.d.mts";
2
+ import type { BaseActorDelta } from "#common/documents/_module.d.mts";
3
+ import type Document from "#common/abstract/document.d.mts";
4
+ import type { ConfiguredActorDelta } from "fvtt-types/configuration";
5
+ import type { Merge } from "fvtt-types/utils";
6
+ import type DataModel from "#common/abstract/data.d.mts";
7
+
8
+ import fields = foundry.data.fields;
4
9
 
5
10
  declare global {
6
11
  namespace ActorDelta {
7
- type Metadata = Document.MetadataFor<ActorDelta>;
12
+ /**
13
+ * The document's name.
14
+ */
15
+ type Name = "ActorDelta";
16
+
17
+ /**
18
+ * The arguments to construct the document.
19
+ */
20
+ type ConstructorArgs = Document.ConstructorParameters<CreateData, Parent>;
21
+
22
+ /**
23
+ * The documents embedded within `ActorDelta`.
24
+ */
25
+ type Hierarchy = Readonly<Document.HierarchyOf<Schema>>;
26
+
27
+ /**
28
+ * The implementation of the `ActorDelta` document instance configured through `CONFIG.ActorDelta.documentClass` in Foundry and
29
+ * {@link DocumentClassConfig | `DocumentClassConfig`} or {@link ConfiguredActorDelta | `fvtt-types/configuration/ConfiguredActorDelta`} in fvtt-types.
30
+ */
31
+ type Implementation = Document.ImplementationFor<Name>;
32
+
33
+ /**
34
+ * The implementation of the `ActorDelta` document configured through `CONFIG.ActorDelta.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: "ActorDelta";
48
+ collection: "delta";
49
+ label: string;
50
+ labelPlural: string;
51
+ isEmbedded: true;
52
+ embedded: Metadata.Embedded;
53
+ schemaVersion: string;
54
+ }>
55
+ > {}
56
+
57
+ namespace Metadata {
58
+ /**
59
+ * The embedded metadata
60
+ */
61
+ interface Embedded {
62
+ Item: "items";
63
+ ActiveEffect: "effects";
64
+ }
65
+ }
66
+
67
+ /**
68
+ * Allowed subtypes of `ActorDelta`. Due to the implementation of the `ActorDelta` document,
69
+ * the SubType is the same as the `Actor`'s SubType.
70
+ *
71
+ * {@link Actor.SubType | `Actor.SubType`}
72
+ */
73
+ type SubType = Actor.SubType;
74
+
75
+ /**
76
+ * `ConfiguredSubTypes` represents the subtypes a user explicitly registered. This excludes
77
+ * subtypes like the Foundry builtin subtype `"base"` and the catch-all subtype for arbitrary
78
+ * module subtypes `${string}.${string}`.
79
+ *
80
+ * @see {@link ActorDelta.SubType | `ActorDelta.SubType`} for more information.
81
+ */
82
+ type ConfiguredSubTypes = Actor.SubType;
83
+
84
+ /**
85
+ * `Known` represents the types of `ActorDelta` that a user explicitly registered.
86
+ *
87
+ * @see {@link ConfiguredSubTypes} for more information.
88
+ */
89
+ type Known = ActorDelta.OfType<ActorDelta.ConfiguredSubTypes>;
90
+
91
+ /**
92
+ * `OfType` returns an instance of `ActorDelta` with the corresponding type. This works with both the
93
+ * builtin `ActorDelta` class or a custom subclass if that is set up in
94
+ * {@link ConfiguredActorDelta | `fvtt-types/configuration/ConfiguredActorDelta`}.
95
+ */
96
+ // eslint-disable-next-line @typescript-eslint/no-restricted-types
97
+ type OfType<Type extends SubType> = Document.Internal.OfType<ConfiguredActorDelta<Type>, ActorDelta<Type>>;
8
98
 
9
- type ConfiguredClass = Document.ConfiguredClassForName<"ActorDelta">;
10
- type ConfiguredInstance = Document.ConfiguredInstanceForName<"ActorDelta">;
99
+ /**
100
+ * `SystemOfType` returns the system property for a specific `ActorDelta` subtype.
101
+ */
102
+ type SystemOfType<Type extends SubType> = Document.Internal.SystemOfType<_SystemMap, Type>;
103
+
104
+ /**
105
+ * @internal
106
+ */
107
+ interface _SystemMap extends Document.Internal.SystemMap<"ActorDelta"> {}
108
+
109
+ /**
110
+ * A document's parent is something that can contain it.
111
+ * For example an `Item` can be contained by an `Actor` which makes `Actor` one of its possible parents.
112
+ */
113
+ type Parent = TokenDocument.Implementation | null;
114
+
115
+ /**
116
+ * A document's direct descendants are documents that are contained directly within its schema.
117
+ * This is a union of all such instances, or never if the document doesn't have any descendants.
118
+ */
119
+ type DirectDescendant = Item.Stored | ActiveEffect.Stored;
11
120
 
12
- interface DatabaseOperations extends Document.Database.Operations<ActorDelta> {}
121
+ /**
122
+ * A document's direct descendants are documents that are contained directly within its schema.
123
+ * This is a union of all such classes, or never if the document doesn't have any descendants.
124
+ */
125
+ type DirectDescendantClass = Item.ImplementationClass | ActiveEffect.ImplementationClass;
126
+
127
+ /**
128
+ * A document's descendants are any documents that are contained within, either within its schema
129
+ * or its descendant's schemas.
130
+ * This is a union of all such instances, or never if the document doesn't have any descendants.
131
+ */
132
+ type Descendant = DirectDescendant | Item.Descendant;
133
+
134
+ /**
135
+ * A document's descendants are any child documents, grandchild documents, etc.
136
+ * This is a union of all classes, or never if the document doesn't have any descendants.
137
+ */
138
+ type DescendantClass = DirectDescendantClass | Item.DescendantClass;
139
+
140
+ /**
141
+ * Types of `CompendiumCollection` this document might be contained in.
142
+ * Note that `this.pack` will always return a string; this is the type for `game.packs.get(this.pack)`
143
+ */
144
+ // Note: Takes any document in the heritage chain (i.e. itself or any parent, transitive or not) that can be contained in a compendium.
145
+ type Pack = CompendiumCollection.ForDocument<"Scene">;
146
+
147
+ /**
148
+ * An embedded document is a document contained in another.
149
+ * For example an `Item` can be contained by an `Actor` which means `Item` can be embedded in `Actor`.
150
+ *
151
+ * If this is `never` it is because there are no embeddable documents (or there's a bug!).
152
+ */
153
+ type Embedded = Document.ImplementationFor<Embedded.Name>;
13
154
 
14
- // Helpful aliases
15
- type TypeNames = BaseActorDelta.TypeNames;
16
- type ConstructorData = BaseActorDelta.ConstructorData;
17
- type UpdateData = BaseActorDelta.UpdateData;
18
- type Schema = BaseActorDelta.Schema;
19
- type Source = BaseActorDelta.Source;
155
+ namespace Embedded {
156
+ /**
157
+ * An embedded document is a document contained in another.
158
+ * For example an `Item` can be contained by an `Actor` which means `Item` can be embedded in `Actor`.
159
+ *
160
+ * If this is `never` it is because there are no embeddable documents (or there's a bug!).
161
+ */
162
+ type Name = keyof Metadata.Embedded;
163
+
164
+ /**
165
+ * Gets the collection name for an embedded document.
166
+ */
167
+ type CollectionNameOf<CollectionName extends Embedded.CollectionName> = Document.Embedded.CollectionNameFor<
168
+ Metadata.Embedded,
169
+ CollectionName
170
+ >;
171
+
172
+ /**
173
+ * Gets the collection document for an embedded document.
174
+ */
175
+ // TODO(LukeAbby): There's a circularity. Should be `Document.Embedded.CollectionDocumentFor<Metadata.Embedded, CollectionName>`
176
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
177
+ type DocumentFor<CollectionName extends Embedded.CollectionName> = Document.Any;
178
+
179
+ /**
180
+ * Gets the collection for an embedded document.
181
+ */
182
+ type CollectionFor<CollectionName extends Embedded.CollectionName> = Document.Embedded.CollectionFor<
183
+ // TODO(LukeAbby): This should be `TokenDocument.Implementation` but this causes a circularity.
184
+ Document.Any,
185
+ Metadata.Embedded,
186
+ CollectionName
187
+ >;
188
+
189
+ /**
190
+ * A valid name to refer to a collection embedded in this document. For example an `Actor`
191
+ * has the key `"items"` which contains `Item` instance which would make both `"Item" | "Items"`
192
+ * valid keys (amongst others).
193
+ */
194
+ type CollectionName = Document.Embedded.CollectionName<Metadata.Embedded>;
195
+ }
196
+
197
+ /**
198
+ * The name of the world or embedded collection this document can find itself in.
199
+ * For example an `Item` is always going to be inside a collection with a key of `items`.
200
+ * This is a fixed string per document type and is primarily useful for {@link ClientDocumentMixin | `Descendant Document Events`}.
201
+ */
202
+ type ParentCollectionName = Metadata["collection"];
203
+
204
+ /**
205
+ * The world collection that contains this document type. Will be `never` if none exists.
206
+ */
207
+ type CollectionClass = never;
208
+
209
+ /**
210
+ * The world collection that contains this document type. Will be `never` if none exists.
211
+ */
212
+ type Collection = never;
213
+
214
+ /**
215
+ * An instance of `ActorDelta` that comes from the database but failed validation meaining that
216
+ * its `system` and `_source` could theoretically be anything.
217
+ */
218
+ interface Invalid extends Document.Invalid<ActorDelta.Implementation> {}
219
+
220
+ /**
221
+ * An instance of `ActorDelta` that comes from the database.
222
+ */
223
+ interface Stored extends Document.Stored<ActorDelta.Implementation> {}
224
+
225
+ /**
226
+ * The data put in {@link ActorDelta._source | `ActorDelta#_source`}. This data is what was
227
+ * persisted to the database and therefore it must be valid JSON.
228
+ *
229
+ * For example a {@link fields.SetField | `SetField`} is persisted to the database as an array
230
+ * but initialized as a {@link Set | `Set`}.
231
+ */
232
+ interface Source extends fields.SchemaField.SourceData<Schema> {}
233
+
234
+ /**
235
+ * @deprecated {@link ActorDelta.Source | `ActorDelta.Source`}
236
+ */
237
+ type PersistedData = Source;
238
+
239
+ /**
240
+ * The data necessary to create a document. Used in places like {@link ActorDelta.create | `ActorDelta.create`}
241
+ * and {@link ActorDelta | `new ActorDelta(...)`}.
242
+ *
243
+ * For example a {@link fields.SetField | `SetField`} can accept any {@link Iterable | `Iterable`}
244
+ * with the right values. This means you can pass a `Set` instance, an array of values,
245
+ * a generator, or any other iterable.
246
+ */
247
+ interface CreateData extends fields.SchemaField.CreateData<Schema> {}
248
+
249
+ /**
250
+ * The data after a {@link foundry.abstract.Document | `Document`} has been initialized, for example
251
+ * {@link ActorDelta.name | `ActorDelta#name`}.
252
+ *
253
+ * This is data transformed from {@link ActorDelta.Source | `ActorDelta.Source`} and turned into more
254
+ * convenient runtime data structures. For example a {@link fields.SetField | `SetField`} is
255
+ * persisted to the database as an array of values but at runtime it is a `Set` instance.
256
+ */
257
+ interface InitializedData extends fields.SchemaField.InitializedData<Schema> {}
258
+
259
+ /**
260
+ * The data used to update a document, for example {@link ActorDelta.update | `ActorDelta#update`}.
261
+ * It is a distinct type from {@link ActorDelta.CreateData | `DeepPartial<ActorDelta.CreateData>`} because
262
+ * it has different rules for `null` and `undefined`.
263
+ */
264
+ interface UpdateData extends fields.SchemaField.UpdateData<Schema> {}
265
+
266
+ /**
267
+ * The schema for {@link ActorDelta | `ActorDelta`}. This is the source of truth for how an ActorDelta document
268
+ * must be structured.
269
+ *
270
+ * Foundry uses this schema to validate the structure of the {@link ActorDelta | `ActorDelta`}. For example
271
+ * a {@link fields.StringField | `StringField`} will enforce that the value is a string. More
272
+ * complex fields like {@link fields.SetField | `SetField`} goes through various conversions
273
+ * starting as an array in the database, initialized as a set, and allows updates with any
274
+ * iterable.
275
+ */
276
+ interface Schema extends DataSchema {
277
+ /**
278
+ * The _id which uniquely identifies this ActorDelta document.
279
+ */
280
+ _id: fields.DocumentIdField;
281
+
282
+ /**
283
+ * The name override, if any.
284
+ */
285
+ name: fields.StringField<{ required: false; nullable: true; initial: null }>;
286
+
287
+ /**
288
+ * The type override, if any.
289
+ */
290
+ type: fields.StringField<{ required: false; nullable: true; initial: null }>;
291
+
292
+ /**
293
+ * The image override, if any.
294
+ */
295
+ img: fields.FilePathField<{ categories: ["IMAGE"]; nullable: true; initial: null; required: false }>;
296
+
297
+ /**
298
+ * The system data model override.
299
+ */
300
+ system: fields.ObjectField;
301
+
302
+ /**
303
+ * An array of embedded item data overrides.
304
+ */
305
+ items: fields.EmbeddedCollectionDeltaField<typeof foundry.documents.BaseItem, ActorDelta.Implementation>;
306
+
307
+ /**
308
+ * An array of embedded active effect data overrides.
309
+ */
310
+ effects: fields.EmbeddedCollectionDeltaField<
311
+ typeof foundry.documents.BaseActiveEffect,
312
+ ActorDelta.Implementation
313
+ >;
314
+
315
+ /**
316
+ * Ownership overrides.
317
+ */
318
+ ownership: fields.DocumentOwnershipField<{ required: false; nullable: true; initial: null }>;
319
+
320
+ /**
321
+ * An object of actor flag overrides.
322
+ */
323
+ flags: fields.ObjectField.FlagsField<"Actor">;
324
+ }
325
+
326
+ namespace Database {
327
+ /** Options passed along in Get operations for ActorDeltas */
328
+ interface Get extends foundry.abstract.types.DatabaseGetOperation<ActorDelta.Parent> {}
329
+
330
+ /** Options passed along in Create operations for ActorDeltas */
331
+ interface Create<Temporary extends boolean | undefined = boolean | undefined>
332
+ extends foundry.abstract.types.DatabaseCreateOperation<ActorDelta.CreateData, ActorDelta.Parent, Temporary> {}
333
+
334
+ /** Options passed along in Delete operations for ActorDeltas */
335
+ interface Delete extends foundry.abstract.types.DatabaseDeleteOperation<ActorDelta.Parent> {}
336
+
337
+ /** Options passed along in Update operations for ActorDeltas */
338
+ interface Update
339
+ extends foundry.abstract.types.DatabaseUpdateOperation<ActorDelta.UpdateData, ActorDelta.Parent> {}
340
+
341
+ /** Operation for {@link ActorDelta.createDocuments | `ActorDelta.createDocuments`} */
342
+ interface CreateDocumentsOperation<Temporary extends boolean | undefined>
343
+ extends Document.Database.CreateOperation<ActorDelta.Database.Create<Temporary>> {}
344
+
345
+ /** Operation for {@link ActorDelta.updateDocuments | `ActorDelta.updateDocuments`} */
346
+ interface UpdateDocumentsOperation
347
+ extends Document.Database.UpdateDocumentsOperation<ActorDelta.Database.Update> {}
348
+
349
+ /** Operation for {@link ActorDelta.deleteDocuments | `ActorDelta.deleteDocuments`} */
350
+ interface DeleteDocumentsOperation
351
+ extends Document.Database.DeleteDocumentsOperation<ActorDelta.Database.Delete> {}
352
+
353
+ /** Operation for {@link ActorDelta.create | `ActorDelta.create`} */
354
+ interface CreateOperation<Temporary extends boolean | undefined>
355
+ extends Document.Database.CreateOperation<ActorDelta.Database.Create<Temporary>> {}
356
+
357
+ /** Operation for {@link ActorDelta.update | `ActorDelta#update`} */
358
+ interface UpdateOperation extends Document.Database.UpdateOperation<Update> {}
359
+
360
+ interface DeleteOperation extends Document.Database.DeleteOperation<Delete> {}
361
+
362
+ /** Options for {@link ActorDelta.get | `ActorDelta.get`} */
363
+ interface GetOptions extends Document.Database.GetOptions {}
364
+
365
+ /** Options for {@link ActorDelta._preCreate | `ActorDelta#_preCreate`} */
366
+ interface PreCreateOptions extends Document.Database.PreCreateOptions<Create> {}
367
+
368
+ /** Options for {@link ActorDelta._onCreate | `ActorDelta#_onCreate`} */
369
+ interface OnCreateOptions extends Document.Database.CreateOptions<Create> {}
370
+
371
+ /** Operation for {@link ActorDelta._preCreateOperation | `ActorDelta._preCreateOperation`} */
372
+ interface PreCreateOperation extends Document.Database.PreCreateOperationStatic<ActorDelta.Database.Create> {}
373
+
374
+ /** Operation for {@link ActorDelta._onCreateOperation | `ActorDelta#_onCreateOperation`} */
375
+ interface OnCreateOperation extends ActorDelta.Database.Create {}
376
+
377
+ /** Options for {@link ActorDelta._preUpdate | `ActorDelta#_preUpdate`} */
378
+ interface PreUpdateOptions extends Document.Database.PreUpdateOptions<Update> {}
379
+
380
+ /** Options for {@link ActorDelta._onUpdate | `ActorDelta#_onUpdate`} */
381
+ interface OnUpdateOptions extends Document.Database.UpdateOptions<Update> {}
382
+
383
+ /** Operation for {@link ActorDelta._preUpdateOperation | `ActorDelta._preUpdateOperation`} */
384
+ interface PreUpdateOperation extends ActorDelta.Database.Update {}
385
+
386
+ /** Operation for {@link ActorDelta._onUpdateOperation | `ActorDelta._preUpdateOperation`} */
387
+ interface OnUpdateOperation extends ActorDelta.Database.Update {}
388
+
389
+ /** Options for {@link ActorDelta._preDelete | `ActorDelta#_preDelete`} */
390
+ interface PreDeleteOptions extends Document.Database.PreDeleteOperationInstance<Delete> {}
391
+
392
+ /** Options for {@link ActorDelta._onDelete | `ActorDelta#_onDelete`} */
393
+ interface OnDeleteOptions extends Document.Database.DeleteOptions<Delete> {}
394
+
395
+ /** Options for {@link ActorDelta._preDeleteOperation | `ActorDelta#_preDeleteOperation`} */
396
+ interface PreDeleteOperation extends ActorDelta.Database.Delete {}
397
+
398
+ /** Options for {@link ActorDelta._onDeleteOperation | `ActorDelta#_onDeleteOperation`} */
399
+ interface OnDeleteOperation extends ActorDelta.Database.Delete {}
400
+
401
+ /** Context for {@link ActorDelta._onDeleteOperation | `ActorDelta._onDeleteOperation`} */
402
+ interface OnDeleteDocumentsContext extends Document.ModificationContext<ActorDelta.Parent> {}
403
+
404
+ /** Context for {@link ActorDelta._onCreateDocuments | `ActorDelta._onCreateDocuments`} */
405
+ interface OnCreateDocumentsContext extends Document.ModificationContext<ActorDelta.Parent> {}
406
+
407
+ /** Context for {@link ActorDelta._onUpdateDocuments | `ActorDelta._onUpdateDocuments`} */
408
+ interface OnUpdateDocumentsContext extends Document.ModificationContext<ActorDelta.Parent> {}
409
+
410
+ /**
411
+ * Options for {@link ActorDelta._preCreateDescendantDocuments | `ActorDelta#_preCreateDescendantDocuments`}
412
+ * and {@link ActorDelta._onCreateDescendantDocuments | `ActorDelta#_onCreateDescendantDocuments`}
413
+ */
414
+ interface CreateOptions extends Document.Database.CreateOptions<ActorDelta.Database.Create> {}
415
+
416
+ /**
417
+ * Options for {@link ActorDelta._preUpdateDescendantDocuments | `ActorDelta#_preUpdateDescendantDocuments`}
418
+ * and {@link ActorDelta._onUpdateDescendantDocuments | `ActorDelta#_onUpdateDescendantDocuments`}
419
+ */
420
+ interface UpdateOptions extends Document.Database.UpdateOptions<ActorDelta.Database.Update> {}
421
+
422
+ /**
423
+ * Options for {@link ActorDelta._preDeleteDescendantDocuments | `ActorDelta#_preDeleteDescendantDocuments`}
424
+ * and {@link ActorDelta._onDeleteDescendantDocuments | `ActorDelta#_onDeleteDescendantDocuments`}
425
+ */
426
+ interface DeleteOptions extends Document.Database.DeleteOptions<ActorDelta.Database.Delete> {}
427
+ }
428
+
429
+ /**
430
+ * The flags that are available for this document in the form `{ [scope: string]: { [key: string]: unknown } }`.
431
+ */
432
+ interface Flags extends Document.ConfiguredFlagsForName<Name> {}
433
+
434
+ namespace Flags {
435
+ /**
436
+ * The valid scopes for the flags on this document e.g. `"core"` or `"dnd5e"`.
437
+ */
438
+ type Scope = Document.FlagKeyOf<Flags>;
439
+
440
+ /**
441
+ * The valid keys for a certain scope for example if the scope is "core" then a valid key may be `"sheetLock"` or `"viewMode"`.
442
+ */
443
+ type Key<Scope extends Flags.Scope> = Document.FlagKeyOf<Document.FlagGetKey<Flags, Scope>>;
444
+
445
+ /**
446
+ * Gets the type of a particular flag given a `Scope` and a `Key`.
447
+ */
448
+ type Get<Scope extends Flags.Scope, Key extends Flags.Key<Scope>> = Document.GetFlag<Name, Scope, Key>;
449
+ }
450
+
451
+ type PreCreateDescendantDocumentsArgs =
452
+ | Document.PreCreateDescendantDocumentsArgs<
453
+ ActorDelta.Stored,
454
+ ActorDelta.DirectDescendant,
455
+ ActorDelta.Metadata.Embedded
456
+ >
457
+ | Item.PreCreateDescendantDocumentsArgs;
458
+
459
+ type OnCreateDescendantDocumentsArgs =
460
+ | Document.OnCreateDescendantDocumentsArgs<
461
+ ActorDelta.Stored,
462
+ ActorDelta.DirectDescendant,
463
+ ActorDelta.Metadata.Embedded
464
+ >
465
+ | Item.OnCreateDescendantDocumentsArgs;
466
+
467
+ type PreUpdateDescendantDocumentsArgs =
468
+ | Document.PreUpdateDescendantDocumentsArgs<
469
+ ActorDelta.Stored,
470
+ ActorDelta.DirectDescendant,
471
+ ActorDelta.Metadata.Embedded
472
+ >
473
+ | Item.PreUpdateDescendantDocumentsArgs;
474
+
475
+ type OnUpdateDescendantDocumentsArgs =
476
+ | Document.OnUpdateDescendantDocumentsArgs<
477
+ ActorDelta.Stored,
478
+ ActorDelta.DirectDescendant,
479
+ ActorDelta.Metadata.Embedded
480
+ >
481
+ | Item.OnUpdateDescendantDocumentsArgs;
482
+
483
+ type PreDeleteDescendantDocumentsArgs =
484
+ | Document.PreDeleteDescendantDocumentsArgs<
485
+ ActorDelta.Stored,
486
+ ActorDelta.DirectDescendant,
487
+ ActorDelta.Metadata.Embedded
488
+ >
489
+ | Item.PreDeleteDescendantDocumentsArgs;
490
+
491
+ type OnDeleteDescendantDocumentsArgs =
492
+ | Document.OnDeleteDescendantDocumentsArgs<
493
+ ActorDelta.Stored,
494
+ ActorDelta.DirectDescendant,
495
+ ActorDelta.Metadata.Embedded
496
+ >
497
+ | Item.OnDeleteDescendantDocumentsArgs;
498
+
499
+ /**
500
+ * @deprecated {@link ActorDelta.Database | `ActorDelta.DatabaseOperation`}
501
+ */
502
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
503
+ interface DatabaseOperations extends Document.Database.Operations<ActorDelta.Implementation> {}
504
+
505
+ /**
506
+ * @deprecated {@link ActorDelta.SubType | `ActorDelta.SubType`}
507
+ */
508
+ type TypeNames = ActorDelta.SubType;
509
+
510
+ /**
511
+ * @deprecated {@link ActorDelta.CreateData | `ActorDelta.CreateData`}
512
+ */
513
+ interface ConstructorData extends ActorDelta.CreateData {}
514
+
515
+ /**
516
+ * @deprecated {@link ActorDelta.implementation | `ActorDelta.ImplementationClass`}
517
+ */
518
+ type ConfiguredClass = ImplementationClass;
519
+
520
+ /**
521
+ * @deprecated {@link ActorDelta.Implementation | `ActorDelta.Implementation`}
522
+ */
523
+ type ConfiguredInstance = Implementation;
20
524
  }
21
525
 
22
526
  /**
23
527
  * The client-side ActorDelta embedded document which extends the common BaseActorDelta document model.
24
- * @see {@link TokenDocument} The TokenDocument document type which contains ActorDelta embedded documents.
528
+ * @see {@link TokenDocument | `TokenDocument`} The TokenDocument document type which contains ActorDelta embedded documents.
25
529
  */
26
- class ActorDelta extends ClientDocumentMixin(foundry.documents.BaseActorDelta) {
27
- static override metadata: ActorDelta.Metadata;
28
-
29
- static get implementation(): ActorDelta.ConfiguredClass;
530
+ class ActorDelta<out SubType extends ActorDelta.SubType = ActorDelta.SubType> extends ClientDocumentMixin(
531
+ BaseActorDelta,
532
+ )<SubType> {
533
+ /**
534
+ * @param data - Initial data from which to construct the `ActorDelta`
535
+ * @param context - Construction context options
536
+ */
537
+ constructor(...args: ActorDelta.ConstructorArgs);
30
538
 
31
539
  protected override _configure(options?: { pack?: string | null }): void;
32
540
 
@@ -35,22 +543,20 @@ declare global {
35
543
  /** Pass-through the type from the synthetic Actor, if it exists. */
36
544
  _type: string;
37
545
 
38
- get type(): ActorDelta.TypeNames | Actor.TypeNames;
39
-
40
- set type(type: ActorDelta.TypeNames | Actor.TypeNames);
41
-
42
546
  /**
43
547
  * Apply this ActorDelta to the base Actor and return a synthetic Actor.
44
548
  * @param context - Context to supply to synthetic Actor instantiation.
45
549
  */
46
- apply(context: unknown): Actor.ConfiguredInstance;
550
+ apply(context: unknown): Actor.Implementation;
47
551
 
48
552
  /** @remarks `"The synthetic actor prepares its items in the appropriate context of an actor. The actor delta does not need to prepare its items, and would do so in the incorrect context."` */
49
553
  override prepareEmbeddedDocuments(): void;
50
554
 
51
555
  override updateSource(
52
- changes?: SchemaField.InnerAssignmentType<BaseActor.Schema>,
53
- options?: { dryRun?: boolean; fallback?: boolean; recursive?: boolean },
556
+ // Note(LukeAbby): This must be valid for both `new ActorDelta.implementation(actorChanges, { parent: this.parent });` and `super.updateSource`.
557
+ // However it's likely the overlap between these two types is pretty high.
558
+ changes?: ActorDelta.Source,
559
+ options?: DataModel.UpdateSourceOptions,
54
560
  ): object;
55
561
 
56
562
  override reset(): void;
@@ -76,7 +582,7 @@ declare global {
76
582
  * Restore this delta to empty, inheriting all its properties from the base actor.
77
583
  * @returns The restored synthetic Actor.
78
584
  */
79
- restore(): Promise<Actor.ConfiguredInstance>;
585
+ restore(): Promise<Actor.Implementation>;
80
586
 
81
587
  /**
82
588
  * Ensure that the embedded collection delta is managing any entries that have had their descendants updated.
@@ -85,8 +591,7 @@ declare global {
85
591
  _handleDeltaCollectionUpdates(doc: Document.Any): void;
86
592
 
87
593
  /**
88
- * @privateRemarks _onUpdate and _onDelete are all overridden but with no signature changes.
89
- * For type simplicity they are left off. These methods historically have been the source of a large amount of computation from tsc.
594
+ * @privateRemarks _onUpdate and _onDelete are all overridden but with no signature changes from BaseActorDelta.
90
595
  */
91
596
 
92
597
  protected override _dispatchDescendantDocumentEvents(
@@ -95,5 +600,144 @@ declare global {
95
600
  args: unknown[],
96
601
  _parent: ClientDocument,
97
602
  ): void;
603
+
604
+ /*
605
+ * After this point these are not really overridden methods.
606
+ * They are here because Foundry's documents are complex and have lots of edge cases.
607
+ * There are DRY ways of representing this but this ends up being harder to understand
608
+ * for end users extending these functions, especially for static methods. There are also a
609
+ * number of methods that don't make sense to call directly on `Document` like `createDocuments`,
610
+ * as there is no data that can safely construct every possible document. Finally keeping definitions
611
+ * separate like this helps against circularities.
612
+ */
613
+
614
+ // ClientDocument overrides
615
+
616
+ /**
617
+ * @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
618
+ * this method must be overriden like so:
619
+ * ```typescript
620
+ * class SwadeActorDelta extends ActorDelta {
621
+ * protected override _preCreateDescendantDocuments(...args: ActorDelta.PreCreateDescendantDocumentsArgs) {
622
+ * super._preCreateDescendantDocuments(...args);
623
+ *
624
+ * const [parent, collection, data, options, userId] = args;
625
+ * if (collection === "items") {
626
+ * options; // Will be narrowed.
627
+ * }
628
+ * }
629
+ * }
630
+ * ```
631
+ */
632
+ protected override _preCreateDescendantDocuments(...args: ActorDelta.PreCreateDescendantDocumentsArgs): void;
633
+
634
+ /**
635
+ * @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
636
+ * this method must be overriden like so:
637
+ * ```typescript
638
+ * class GurpsActorDelta extends ActorDelta {
639
+ * protected override _onCreateDescendantDocuments(...args: ActorDelta.OnCreateDescendantDocumentsArgs) {
640
+ * super._onCreateDescendantDocuments(...args);
641
+ *
642
+ * const [parent, collection, documents, data, options, userId] = args;
643
+ * if (collection === "items") {
644
+ * options; // Will be narrowed.
645
+ * }
646
+ * }
647
+ * }
648
+ * ```
649
+ */
650
+ protected override _onCreateDescendantDocuments(...args: ActorDelta.OnCreateDescendantDocumentsArgs): void;
651
+
652
+ /**
653
+ * @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
654
+ * this method must be overriden like so:
655
+ * ```typescript
656
+ * class LancerActorDelta extends ActorDelta {
657
+ * protected override _preUpdateDescendantDocuments(...args: ActorDelta.OnUpdateDescendantDocuments) {
658
+ * super._preUpdateDescendantDocuments(...args);
659
+ *
660
+ * const [parent, collection, changes, options, userId] = args;
661
+ * if (collection === "items") {
662
+ * options; // Will be narrowed.
663
+ * }
664
+ * }
665
+ * }
666
+ * ```
667
+ */
668
+ protected override _preUpdateDescendantDocuments(...args: ActorDelta.PreUpdateDescendantDocumentsArgs): void;
669
+
670
+ /**
671
+ * @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
672
+ * this method must be overriden like so:
673
+ * ```typescript
674
+ * class Ptr2eActorDelta extends ActorDelta {
675
+ * protected override _onUpdateDescendantDocuments(...args: ActorDelta.OnUpdateDescendantDocumentsArgs) {
676
+ * super._onUpdateDescendantDocuments(...args);
677
+ *
678
+ * const [parent, collection, documents, changes, options, userId] = args;
679
+ * if (collection === "items") {
680
+ * options; // Will be narrowed.
681
+ * }
682
+ * }
683
+ * }
684
+ * ```
685
+ */
686
+ protected override _onUpdateDescendantDocuments(...args: ActorDelta.OnUpdateDescendantDocumentsArgs): void;
687
+
688
+ /**
689
+ * @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
690
+ * this method must be overriden like so:
691
+ * ```typescript
692
+ * class KultActorDelta extends ActorDelta {
693
+ * protected override _preDeleteDescendantDocuments(...args: ActorDelta.PreDeleteDescendantDocumentsArgs) {
694
+ * super._preDeleteDescendantDocuments(...args);
695
+ *
696
+ * const [parent, collection, ids, options, userId] = args;
697
+ * if (collection === "items") {
698
+ * options; // Will be narrowed.
699
+ * }
700
+ * }
701
+ * }
702
+ * ```
703
+ */
704
+ protected override _preDeleteDescendantDocuments(...args: ActorDelta.PreDeleteDescendantDocumentsArgs): void;
705
+
706
+ /**
707
+ * @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
708
+ * this method must be overriden like so:
709
+ * ```typescript
710
+ * class BladesActorDelta extends ActorDelta {
711
+ * protected override _onDeleteDescendantDocuments(...args: ActorDelta.OnUpdateDescendantDocuments) {
712
+ * super._onDeleteDescendantDocuments(...args);
713
+ *
714
+ * const [parent, collection, documents, ids, options, userId] = args;
715
+ * if (collection === "items") {
716
+ * options; // Will be narrowed.
717
+ * }
718
+ * }
719
+ * }
720
+ * ```
721
+ */
722
+ protected override _onDeleteDescendantDocuments(...args: ActorDelta.OnDeleteDescendantDocumentsArgs): void;
723
+
724
+ static override defaultName(
725
+ context: Document.DefaultNameContext<ActorDelta.SubType, NonNullable<ActorDelta.Parent>>,
726
+ ): string;
727
+
728
+ static override createDialog(
729
+ data: Document.CreateDialogData<ActorDelta.CreateData>,
730
+ context: Document.CreateDialogContext<ActorDelta.SubType, NonNullable<ActorDelta.Parent>>,
731
+ ): Promise<ActorDelta.Stored | null | undefined>;
732
+
733
+ static override fromDropData(
734
+ data: Document.DropData<ActorDelta.Implementation>,
735
+ options?: Document.FromDropDataOptions,
736
+ ): Promise<ActorDelta.Implementation | undefined>;
737
+
738
+ static override fromImport(
739
+ source: ActorDelta.Source,
740
+ context?: Document.FromImportContext<ActorDelta.Parent>,
741
+ ): Promise<ActorDelta.Implementation>;
98
742
  }
99
743
  }