@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,7 +1,7 @@
1
- import type { DeepPartial, InexactPartial, Mixin, FixedInstanceType } from "fvtt-types/utils";
2
- import type { DatabaseCreateOperation } from "../../../common/abstract/_types.d.mts";
3
- import type DataModel from "../../../common/abstract/data.d.mts";
4
- import type Document from "../../../common/abstract/document.d.mts";
1
+ import type { Mixin, FixedInstanceType, Coalesce, AnyObject } from "fvtt-types/utils";
2
+ import type Document from "#common/abstract/document.d.mts";
3
+
4
+ import ApplicationV2 = foundry.applications.api.ApplicationV2;
5
5
 
6
6
  declare class InternalClientDocument<BaseDocument extends Document.Internal.Instance.Any = Document.Any> {
7
7
  /** @privateRemarks All mixin classses should accept anything for its constructor. */
@@ -10,11 +10,11 @@ declare class InternalClientDocument<BaseDocument extends Document.Internal.Inst
10
10
  /**
11
11
  * A collection of Application instances which should be re-rendered whenever this document is updated.
12
12
  * The keys of this object are the application ids and the values are Application instances. Each
13
- * Application in this object will have its render method called by {@link Document#render}.
14
- * @see {@link Document#render}
13
+ * Application in this object will have its render method called by {@link Document.render | `Document#render`}.
14
+ * @see {@link Document.render | `Document#render`}
15
15
  * @defaultValue `{}`
16
16
  */
17
- readonly apps: Record<string, Application.Any | foundry.applications.api.ApplicationV2.Any>;
17
+ readonly apps: Record<string, Application.Any | ApplicationV2.Any>;
18
18
 
19
19
  /**
20
20
  * A cached reference to the FormApplication instance used to configure this Document.
@@ -27,7 +27,7 @@ declare class InternalClientDocument<BaseDocument extends Document.Internal.Inst
27
27
  static name: "ClientDocumentMixin";
28
28
 
29
29
  /**
30
- * @see abstract.Document#_initialize
30
+ * @see {@link abstract.Document._initialize | `abstract.Document#_initialize`}
31
31
  */
32
32
  protected _initialize(): void;
33
33
 
@@ -39,8 +39,10 @@ declare class InternalClientDocument<BaseDocument extends Document.Internal.Inst
39
39
  /**
40
40
  * A reference to the Compendium Collection which contains this Document, if any, otherwise undefined.
41
41
  */
42
- get compendium(): Document.MetadataFor<BaseDocument> extends CompendiumCollection.Metadata
43
- ? CompendiumCollection<Document.MetadataFor<BaseDocument>>
42
+ get compendium(): Document.MetadataFor<
43
+ Document.Internal.DocumentNameFor<BaseDocument>
44
+ > extends CompendiumCollection.Metadata
45
+ ? CompendiumCollection<Document.MetadataFor<Document.Internal.DocumentNameFor<BaseDocument>>>
44
46
  : undefined;
45
47
 
46
48
  /**
@@ -80,7 +82,7 @@ declare class InternalClientDocument<BaseDocument extends Document.Internal.Inst
80
82
  /**
81
83
  * Lazily obtain a FormApplication instance used to configure this Document, or null if no sheet is available.
82
84
  */
83
- get sheet(): FormApplication.Any | foundry.applications.api.ApplicationV2.Any | null;
85
+ get sheet(): FormApplication.Any | ApplicationV2.Any | null;
84
86
 
85
87
  /**
86
88
  * A boolean indicator for whether or not the current game User has at least limited visibility for this Document.
@@ -91,10 +93,7 @@ declare class InternalClientDocument<BaseDocument extends Document.Internal.Inst
91
93
  /**
92
94
  * Obtain the FormApplication class constructor which should be used to configure this Document.
93
95
  */
94
- protected _getSheetClass():
95
- | FormApplication.AnyConstructor
96
- | foundry.applications.api.ApplicationV2.AnyConstructor
97
- | null;
96
+ protected _getSheetClass(): FormApplication.AnyConstructor | ApplicationV2.AnyConstructor | null;
98
97
 
99
98
  /**
100
99
  * Safely prepare data for a Document, catching any errors.
@@ -127,16 +126,13 @@ declare class InternalClientDocument<BaseDocument extends Document.Internal.Inst
127
126
 
128
127
  /**
129
128
  * Render all Application instances which are connected to this document by calling their respective
130
- * @see Application#render
129
+ * @see {@link Application.render | `Application#render`}
131
130
  * @param force - Force rendering
132
131
  * (default: `false`)
133
132
  * @param context - Optional context
134
133
  * (default: `{}`)
135
134
  */
136
- render(
137
- force?: boolean,
138
- context?: Application.RenderOptions | foundry.applications.api.ApplicationV2.RenderOptions,
139
- ): void;
135
+ render(force?: boolean, context?: Application.RenderOptions | ApplicationV2.RenderOptions): void;
140
136
 
141
137
  /**
142
138
  * Determine the sort order for this Document by positioning it relative a target sibling.
@@ -144,7 +140,7 @@ declare class InternalClientDocument<BaseDocument extends Document.Internal.Inst
144
140
  * @param options - Sorting options provided to SortingHelper.performIntegerSort
145
141
  * @returns The Document after it has been re-sorted
146
142
  */
147
- sortRelative(options?: InexactPartial<ClientDocument.SortOptions<this>>): Promise<this>;
143
+ sortRelative(options?: ClientDocument.SortOptions<this>): Promise<this>;
148
144
 
149
145
  /**
150
146
  * Construct a UUID relative to another document.
@@ -153,24 +149,11 @@ declare class InternalClientDocument<BaseDocument extends Document.Internal.Inst
153
149
  getRelativeUuid(relative: ClientDocument): string;
154
150
 
155
151
  /**
156
- * Createa content link for this document
152
+ * Create a content link for this document
157
153
  * @param eventData - The parsed object of data provided by the drop transfer event.
158
154
  * @param options - Additional options to configure link generation.
159
155
  */
160
- protected _createDocumentLink(
161
- eventData: unknown,
162
- options?: InexactPartial<{
163
- /**
164
- * A document to generate a link relative to.
165
- */
166
- relativeTo: ClientDocument;
167
-
168
- /**
169
- * A custom label to use instead of the document's name.
170
- */
171
- label: string;
172
- }>,
173
- ): string;
156
+ protected _createDocumentLink(eventData: unknown, options?: ClientDocument.CreateDocumentLinkOptions): string;
174
157
 
175
158
  /**
176
159
  * Handle clicking on a content link for this document.
@@ -195,11 +178,10 @@ declare class InternalClientDocument<BaseDocument extends Document.Internal.Inst
195
178
  protected _dispatchDescendantDocumentEvents(
196
179
  event: ClientDocument.LifeCycleEventName,
197
180
  collection: string,
198
- args: unknown[],
199
- _parent: ClientDocument,
181
+ args: never,
182
+ _parent: never,
200
183
  ): void;
201
184
 
202
- // TODO: Improve the data typing
203
185
  /**
204
186
  * Actions taken after descendant documents have been created, but before changes are applied to the client data.
205
187
  * @param parent - The direct parent of the created Documents, may be this Document or a child
@@ -209,10 +191,10 @@ declare class InternalClientDocument<BaseDocument extends Document.Internal.Inst
209
191
  * @param userId - The ID of the User who triggered the operation
210
192
  */
211
193
  protected _preCreateDescendantDocuments(
212
- parent: ClientDocument,
213
- collection: string,
214
- data: unknown[],
215
- options: Document.PreCreateOptions<any>,
194
+ parent: never,
195
+ collection: never,
196
+ data: never,
197
+ options: never,
216
198
  userId: string,
217
199
  ): void;
218
200
 
@@ -226,13 +208,14 @@ declare class InternalClientDocument<BaseDocument extends Document.Internal.Inst
226
208
  * @param userId - The ID of the User who triggered the operation
227
209
  */
228
210
  protected _onCreateDescendantDocuments(
229
- parent: ClientDocument,
230
- collection: string,
231
- documents: ClientDocument[],
232
- data: unknown[],
233
- options: Document.OnCreateOptions<any> & InexactPartial<{ render: boolean }>,
211
+ parent: never,
212
+ collection: never,
213
+ documents: never,
214
+ data: never,
215
+ options: never,
234
216
  userId: string,
235
217
  ): void;
218
+
236
219
  /**
237
220
  * Actions taken after descendant documents have been updated, but before changes are applied to the client data.
238
221
  * @param parent - The direct parent of the updated Documents, may be this Document or a child
@@ -242,10 +225,10 @@ declare class InternalClientDocument<BaseDocument extends Document.Internal.Inst
242
225
  * @param userId - The ID of the User who triggered the operation
243
226
  */
244
227
  protected _preUpdateDescendantDocuments(
245
- parent: ClientDocument,
246
- collection: string,
247
- changes: unknown[],
248
- options: Document.PreUpdateOptions<any>,
228
+ parent: never,
229
+ collection: never,
230
+ changes: never,
231
+ options: never,
249
232
  userId: string,
250
233
  ): void;
251
234
 
@@ -259,11 +242,11 @@ declare class InternalClientDocument<BaseDocument extends Document.Internal.Inst
259
242
  * @param userId - The ID of the User who triggered the operation
260
243
  */
261
244
  protected _onUpdateDescendantDocuments(
262
- parent: ClientDocument,
263
- collection: string,
264
- documents: ClientDocument[],
265
- changes: unknown[],
266
- options: Document.OnUpdateOptions<any> & InexactPartial<{ render: boolean }>,
245
+ parent: never,
246
+ collection: never,
247
+ documents: never,
248
+ changes: never,
249
+ options: never,
267
250
  userId: string,
268
251
  ): void;
269
252
 
@@ -276,10 +259,10 @@ declare class InternalClientDocument<BaseDocument extends Document.Internal.Inst
276
259
  * @param userId - The ID of the User who triggered the operation
277
260
  */
278
261
  protected _preDeleteDescendantDocuments(
279
- parent: ClientDocument,
280
- collection: string,
281
- ids: string[],
282
- options: Document.PreDeleteOptions<any>,
262
+ parent: never,
263
+ collection: never,
264
+ ids: never,
265
+ options: never,
283
266
  userId: string,
284
267
  ): void;
285
268
 
@@ -293,11 +276,11 @@ declare class InternalClientDocument<BaseDocument extends Document.Internal.Inst
293
276
  * @param userId - The ID of the User who triggered the operation
294
277
  */
295
278
  protected _onDeleteDescendantDocuments(
296
- parent: ClientDocument,
297
- collection: string,
298
- documents: ClientDocument[],
279
+ parent: never,
280
+ collection: never,
281
+ documents: never,
299
282
  ids: string[],
300
- options: Document.OnDeleteOptions<any> & InexactPartial<{ render: boolean }>,
283
+ options: never,
301
284
  userId: string,
302
285
  ): void;
303
286
 
@@ -305,30 +288,13 @@ declare class InternalClientDocument<BaseDocument extends Document.Internal.Inst
305
288
  * Whenever the Document's sheet changes, close any existing applications for this Document, and re-render the new
306
289
  * sheet if one was already open.
307
290
  */
308
- protected _onSheetChange(
309
- options?: InexactPartial<{
310
- /**
311
- * Whether the sheet was originally open and needs to be re-opened.
312
- */
313
- sheetOpen: boolean;
314
- }>,
315
- ): Promise<void>;
291
+ protected _onSheetChange(options?: ClientDocument.OnSheetChangeOptions): Promise<void>;
316
292
 
317
293
  /**
318
294
  * Gets the default new name for a Document
319
295
  * @param context - The context for which to create the Document name.
320
296
  */
321
- static defaultName(
322
- context?: InexactPartial<{
323
- /** The sub-type of the document */
324
- // TODO: See if the valid strings can be inferred from this type
325
- type: string;
326
- /** A parent document within which the created Document should belong */
327
- parent: foundry.abstract.Document.Any;
328
- /** A compendium pack within which the Document should be created */
329
- pack: string;
330
- }>,
331
- ): string;
297
+ static defaultName(context: Document.DefaultNameContext<never, never>): string;
332
298
 
333
299
  /**
334
300
  * Present a Dialog form to create a new Document of this type.
@@ -340,17 +306,7 @@ declare class InternalClientDocument<BaseDocument extends Document.Internal.Inst
340
306
  * @returns A Promise which resolves to the created Document, or null if the dialog was
341
307
  * closed.
342
308
  */
343
- static createDialog<T extends Document.AnyConstructor>(
344
- this: T,
345
- data?: DeepPartial<Document.ConstructorDataFor<NoInfer<T>> & Record<string, unknown>>,
346
- context?: Pick<DatabaseCreateOperation<FixedInstanceType<NoInfer<T>>>, "parent" | "pack"> &
347
- InexactPartial<
348
- Dialog.Options & {
349
- /** A restriction the selectable sub-types of the Dialog. */
350
- types: string[];
351
- }
352
- >,
353
- ): Promise<Document.ToConfiguredInstance<T> | null | undefined>;
309
+ static createDialog(data: never, context: never): Promise<unknown>;
354
310
 
355
311
  /**
356
312
  * Present a Dialog form to confirm deletion of this Document.
@@ -362,9 +318,9 @@ declare class InternalClientDocument<BaseDocument extends Document.Internal.Inst
362
318
 
363
319
  /**
364
320
  * Export document data to a JSON file which can be saved by the client and later imported into a different session.
365
- * @param options - Additional options passed to the {@link ClientDocument#toCompendium} method
321
+ * @param options - Additional options passed to the {@link ClientDocument.toCompendium | `ClientDocument#toCompendium`} method
366
322
  */
367
- exportToJSON(options?: InexactPartial<ClientDocument.CompendiumExportOptions>): void;
323
+ exportToJSON(options?: ClientDocument.ToCompendiumOptions): void;
368
324
 
369
325
  /**
370
326
  * Serialize salient information about this Document when dragging it.
@@ -382,11 +338,7 @@ declare class InternalClientDocument<BaseDocument extends Document.Internal.Inst
382
338
  * @returns The resolved Document
383
339
  * @throws If a Document could not be retrieved from the provided data.
384
340
  */
385
- static fromDropData<T extends Document.AnyConstructor>(
386
- this: T,
387
- data: Document.DropData<FixedInstanceType<NoInfer<T>>>,
388
- options?: FromDropDataOptions,
389
- ): Promise<Document.ToConfiguredInstance<T> | undefined>;
341
+ static fromDropData(data: Document.DropData<never>, options?: Document.FromDropDataOptions): Promise<unknown>;
390
342
 
391
343
  /**
392
344
  * Create the Document from the given source with migration applied to it.
@@ -394,7 +346,7 @@ declare class InternalClientDocument<BaseDocument extends Document.Internal.Inst
394
346
  *
395
347
  * This function must be used to create a document from data that predates the current core version.
396
348
  * It must be given nonpartial data matching the schema it had in the core version it is coming from.
397
- * It applies legacy migrations to the source data before calling {@link Document.fromSource}.
349
+ * It applies legacy migrations to the source data before calling {@link Document.fromSource | `Document.fromSource`}.
398
350
  * If this function is not used to import old data, necessary migrations may not applied to the data
399
351
  * resulting in an incorrectly imported document.
400
352
  *
@@ -402,14 +354,11 @@ declare class InternalClientDocument<BaseDocument extends Document.Internal.Inst
402
354
  * doesn't contain a `_stats` field, the data is assumed to be pre-V10, when the `_stats` field didn't exist yet.
403
355
  * The `_stats` field must not be stripped from the data before it is exported!
404
356
  * @param source - The document data that is imported.
405
- * @param context - The model construction context passed to {@link Document.fromSource}.
357
+ * @param context - The model construction context passed to {@link Document.fromSource | `Document.fromSource`}.
406
358
  * (default: `context.strict=true`) Strict validation is enabled by default.
407
359
  */
408
- static fromImport<T extends Document.AnyConstructor>(
409
- this: T,
410
- source: Record<string, unknown>,
411
- context?: Document.ConstructionContext<Document.Any | null> & DataModel.DataValidationOptions,
412
- ): Promise<FixedInstanceType<T>>;
360
+ static fromImport(source: never, context?: never): Promise<unknown>;
361
+
413
362
  /**
414
363
  * Update this Document using a provided JSON string.
415
364
  * @param json - JSON data string
@@ -430,28 +379,10 @@ declare class InternalClientDocument<BaseDocument extends Document.Internal.Inst
430
379
  * (default: `{}`)
431
380
  * @returns A data object of cleaned data suitable for compendium import
432
381
  */
433
- toCompendium<
434
- FlagsOpt extends boolean = false,
435
- SourceOpt extends boolean = true,
436
- SortOpt extends boolean = true,
437
- FolderOpt extends boolean = false,
438
- OwnershipOpt extends boolean = false,
439
- StateOpt extends boolean = true,
440
- IdOpt extends boolean = false,
441
- >(
382
+ toCompendium<Options extends ClientDocument.ToCompendiumOptions>(
442
383
  pack?: CompendiumCollection<CompendiumCollection.Metadata> | null,
443
- options?: InexactPartial<
444
- ClientDocument.CompendiumExportOptions<FlagsOpt, SourceOpt, SortOpt, FolderOpt, OwnershipOpt, StateOpt, IdOpt>
445
- >,
446
- ): Omit<
447
- Document.Internal.Instance.Complete<BaseDocument>["_source"],
448
- | (IdOpt extends false ? "_id" : never)
449
- | ClientDocument.OmitProperty<SortOpt, "sort" | "navigation" | "navOrder"> // helping out Scene
450
- | ClientDocument.OmitProperty<FolderOpt, "folder">
451
- | ClientDocument.OmitProperty<FlagsOpt, "flags">
452
- | ClientDocument.OmitProperty<OwnershipOpt, "ownership">
453
- | ClientDocument.OmitProperty<StateOpt, "active" | "fogReset" | "playing"> // helping out Playlist, Scene
454
- >;
384
+ options?: Options,
385
+ ): ClientDocument.ToCompendiumReturnType<BaseDocument, Options>;
455
386
 
456
387
  /**
457
388
  * Create a content link for this Document.
@@ -515,7 +446,7 @@ declare class InternalClientDocument<BaseDocument extends Document.Internal.Inst
515
446
  */
516
447
  protected _preCreateEmbeddedDocuments(
517
448
  embeddedName: string,
518
- result: Record<string, unknown>[],
449
+ result: AnyObject[],
519
450
  options: Document.ModificationOptions,
520
451
  userId: string,
521
452
  ): void;
@@ -531,8 +462,8 @@ declare class InternalClientDocument<BaseDocument extends Document.Internal.Inst
531
462
  */
532
463
  protected _onCreateEmbeddedDocuments(
533
464
  embeddedName: string,
534
- documents: Document.Any[],
535
- result: Record<string, unknown>[],
465
+ documents: never,
466
+ result: AnyObject[],
536
467
  options: Document.ModificationOptions,
537
468
  userId: string,
538
469
  ): void;
@@ -547,7 +478,7 @@ declare class InternalClientDocument<BaseDocument extends Document.Internal.Inst
547
478
  */
548
479
  protected _preUpdateEmbeddedDocuments(
549
480
  embeddedName: string,
550
- result: Record<string, unknown>[],
481
+ result: AnyObject[],
551
482
  options: Document.ModificationOptions,
552
483
  userId: string,
553
484
  ): void;
@@ -563,8 +494,8 @@ declare class InternalClientDocument<BaseDocument extends Document.Internal.Inst
563
494
  */
564
495
  protected _onUpdateEmbeddedDocuments(
565
496
  embeddedName: string,
566
- documents: Document.Any[],
567
- result: Record<string, unknown>[],
497
+ documents: never,
498
+ result: AnyObject[],
568
499
  options: Document.ModificationContext<Document.Any | null>,
569
500
  userId: string,
570
501
  ): void;
@@ -595,7 +526,7 @@ declare class InternalClientDocument<BaseDocument extends Document.Internal.Inst
595
526
  */
596
527
  protected _onDeleteEmbeddedDocuments(
597
528
  embeddedName: string,
598
- documents: Document.Any[],
529
+ documents: never,
599
530
  result: string[],
600
531
  options: Document.ModificationContext<Document.Any | null>,
601
532
  userId: string,
@@ -629,7 +560,7 @@ declare global {
629
560
  // Note(LukeAbby): The seemingly redundant merging in of `typeof AnyDocument` makes it easier for tsc to recognize that anything extending `ClientDocumentMixin` is also a document.
630
561
  function ClientDocumentMixin<BaseClass extends Document.Internal.Constructor>(
631
562
  Base: BaseClass,
632
- ): typeof AnyDocument & Mixin<typeof InternalClientDocument<FixedInstanceType<BaseClass>>, BaseClass>;
563
+ ): Mixin<typeof InternalClientDocument<FixedInstanceType<BaseClass>>, BaseClass>;
633
564
 
634
565
  namespace ClientDocument {
635
566
  interface SortOptions<T, SortKey extends string = "sort"> extends SortingHelpers.SortOptions<T, SortKey> {
@@ -643,84 +574,114 @@ declare global {
643
574
  // TODO: This may be better defined elsewhere
644
575
  type LifeCycleEventName = "preCreate" | "onCreate" | "preUpdate" | "onUpdate" | "preDelete" | "onDelete";
645
576
 
646
- type OmitProperty<T extends boolean, Property extends string> = T extends true ? Property : never;
647
-
648
- interface CompendiumExportOptions<
649
- FlagsOpt extends boolean = false,
650
- SourceOpt extends boolean = true,
651
- SortOpt extends boolean = true,
652
- FolderOpt extends boolean = false,
653
- OwnershipOpt extends boolean = false,
654
- StateOpt extends boolean = true,
655
- IdOpt extends boolean = false,
656
- > {
577
+ // Note(LukeAbby): If the property could be omitted it is. This is the safest option because in indeterminate cases access would be unsafe.
578
+ // In the future the indeterminate case could turn the property optional but that isn't done today because that's annoying to do for little benefit.
579
+ /** @internal */
580
+ type _OmitProperty<Omit extends boolean | undefined, Default extends boolean, ToOmit extends string> = Omit extends
581
+ | true
582
+ | (Default extends true ? undefined : never)
583
+ ? ToOmit
584
+ : never;
585
+
586
+ interface ToCompendiumOptions {
657
587
  /**
658
588
  * Clear the flags object
659
589
  * @defaultValue `false`
660
590
  */
661
- clearFlags: FlagsOpt;
591
+ clearFlags?: boolean | undefined;
662
592
 
663
593
  /**
664
594
  * Clear any prior source information
665
595
  * @defaultValue `true`
666
596
  */
667
- clearSource: SourceOpt;
597
+ clearSource?: boolean | undefined;
668
598
 
669
599
  /**
670
600
  * Clear the currently assigned folder and sort order
671
601
  * @defaultValue `true`
672
602
  */
673
- clearSort: SortOpt;
603
+ clearSort?: boolean | undefined;
674
604
 
675
605
  /**
676
606
  * Clear the currently assigned folder
677
607
  * @defaultValue `false`
678
608
  */
679
- clearFolder: FolderOpt;
609
+ clearFolder?: boolean | undefined;
680
610
 
681
611
  /**
682
612
  * Clear document ownership
683
613
  * @defaultValue `true`
684
614
  */
685
- clearOwnership: OwnershipOpt;
615
+ clearOwnership?: boolean | undefined;
686
616
 
687
617
  /**
688
618
  * Clear fields which store document state
689
619
  * @defaultValue `true`
690
620
  */
691
- clearState: StateOpt;
621
+ clearState?: boolean | undefined;
692
622
 
693
623
  /**
694
624
  * Retain the current Document id
695
625
  * @defaultValue `false`
696
626
  */
697
- keepId: IdOpt;
627
+ keepId?: boolean | undefined;
628
+ }
629
+
630
+ interface CreateDocumentLinkOptions {
631
+ /**
632
+ * A document to generate a link relative to.
633
+ */
634
+ relativeTo?: ClientDocument | undefined;
635
+
636
+ /**
637
+ * A custom label to use instead of the document's name.
638
+ */
639
+ label?: string | undefined;
640
+ }
641
+
642
+ type ToCompendiumReturnType<
643
+ BaseDocument extends Document.Internal.Instance.Any,
644
+ Options extends ToCompendiumOptions,
645
+ > = _ToCompendiumReturnType<
646
+ Options["clearSource"],
647
+ Omit<
648
+ Document.Internal.Instance.Complete<BaseDocument>["_source"],
649
+ | ClientDocument._OmitProperty<Options["clearFlags"], false, "flags">
650
+ | ClientDocument._OmitProperty<Options["clearSort"], true, "sort" | "navigation" | "navOrder"> // helping out Scene
651
+ | ClientDocument._OmitProperty<Options["clearFolder"], true, "folder">
652
+ | ClientDocument._OmitProperty<Options["clearOwnership"], true, "ownership">
653
+ | ClientDocument._OmitProperty<Options["clearState"], true, "active" | "fogReset" | "playing"> // helping out Playlist, Scene
654
+ | (Options["keepId"] extends true ? never : "_id")
655
+ >
656
+ >;
657
+
658
+ type _ToCompendiumReturnType<ClearSource extends boolean | undefined, SourceData extends object> = [
659
+ Coalesce<ClearSource, true>,
660
+ ] extends [true]
661
+ ? {
662
+ [K in keyof SourceData]: "_stats" extends K
663
+ ? Omit<SourceData[K], "compendiumSource" | "duplicateSource">
664
+ : never;
665
+ }
666
+ : SourceData;
667
+
668
+ interface OnSheetChangeOptions {
669
+ /**
670
+ * Whether the sheet was originally open and needs to be re-opened.
671
+ */
672
+ sheetOpen?: boolean | undefined;
698
673
  }
699
674
  }
700
675
  }
701
676
 
702
677
  // This is yet another `AnyDocument` type.
703
678
  // It exists specifically because the `Document.AnyConstructor` type is too safe to be merged in with a mixin.
704
- // The `arg0: never, ...args: never[]` trick trips up the base constructor check and so this one with an actual `...args: any[]` one is used instead.
679
+ // The `...args: never` trick trips up the base constructor check and so this one with an actual `...args: any[]` one is used instead.
705
680
  //
706
681
  // `{}` is used to avoid merging `DataSchema` with the real schema.
707
682
  // eslint-disable-next-line @typescript-eslint/no-empty-object-type
708
- declare class AnyDocument extends Document<any, {}, any> {
683
+ declare class AnyDocument extends Document<Document.Type, {}, Document.Any | null> {
709
684
  constructor(...args: any[]);
710
685
 
711
- // Note(LukeAbby): Specifically adding the `DocumentBrand` should be redundant but in practice it seems to help tsc more efficiently deduce that it's actually inheriting from `Document`.
712
- // This is odd but probably is because it bails from looking up the parent class properties at times or something.
713
- static [Document.Internal.DocumentBrand]: true;
714
-
715
- flags?: unknown;
716
-
717
686
  getFlag(scope: never, key: never): any;
718
687
  }
719
-
720
- interface FromDropDataOptions {
721
- /**
722
- * Import the provided document data into the World, if it is not already a World-level Document reference
723
- * @defaultValue `false`
724
- */
725
- importWorld?: boolean;
726
- }
@@ -1,43 +1,25 @@
1
1
  import type { FixedInstanceType, Mixin } from "fvtt-types/utils";
2
- import type Document from "../../../common/abstract/document.d.mts";
3
-
4
- type DirectoryCollectionMixin_DocumentCollection_Static = DirectoryCollection<DirectoryCollectionMixin.DirectoryTypes> &
5
- DocumentCollection<Document.AnyConstructor, string>;
6
-
7
- export interface DirectoryCollectionMixin_DocumentCollection_Interface
8
- extends DirectoryCollectionMixin_DocumentCollection_Static {
9
- new <T extends Document.AnyConstructor, Name extends string>(
10
- ...args: ConstructorParameters<typeof DocumentCollection>
11
- ): DirectoryCollection<Document.ToConfiguredInstance<T>> & DocumentCollection<Document.ToConfiguredClass<T>, Name>;
12
- }
13
-
14
- type DirectoryCollectionMixin_Collection_Static = DirectoryCollection<DirectoryCollectionMixin.DirectoryTypes> &
15
- Collection<CompendiumCollection<CompendiumCollection.Metadata>>;
16
-
17
- export interface DirectoryCollectionMixin_Collection_Interface extends DirectoryCollectionMixin_Collection_Static {
18
- new (
19
- ...args: ConstructorParameters<typeof Collection>
20
- ): DirectoryCollection<CompendiumCollection<CompendiumCollection.Metadata>> &
21
- Collection<CompendiumCollection<CompendiumCollection.Metadata>>;
22
- }
23
2
 
24
3
  /**
25
4
  * An extension of the Collection class which adds behaviors specific to tree-based collections of entries and folders.
26
5
  */
27
- // TODO: T should probably extend a subset of documents | CompendiumCollection
28
- declare class DirectoryCollection<T extends DirectoryCollectionMixin.DirectoryTypes> {
6
+ declare class DirectoryCollection {
29
7
  /** @privateRemarks All mixin classses need a constructor like this */
30
8
  constructor(...args: any[]);
31
9
 
10
+ // Note(LukeAbby): This isn't really a property on this class but rather it exists on `Collection`.
11
+ // However since this is only used when merged with a Collection class, it's fine to define it here.
12
+ contents: readonly unknown[];
13
+
32
14
  /**
33
15
  * Reference the set of Folders which contain documents in this collection
34
16
  */
35
- get folders(): Collection<Folder.Stored>;
17
+ get folders(): Collection<Folder.Stored, Collection.Methods.Any>;
36
18
 
37
19
  /**
38
20
  * The built tree structure of the DocumentCollection
39
21
  */
40
- get tree(): DirectoryCollectionMixin.TreeNode<T>;
22
+ get tree(): DirectoryCollectionMixin.TreeNode<this["contents"]>;
41
23
 
42
24
  /**
43
25
  * The current search mode for this collection
@@ -69,7 +51,7 @@ declare class DirectoryCollection<T extends DirectoryCollectionMixin.DirectoryTy
69
51
  /**
70
52
  * Return a reference to list of entries which are visible to the User in this tree
71
53
  */
72
- protected _getVisibleTreeContents(): T[];
54
+ protected _getVisibleTreeContents(): this["contents"];
73
55
 
74
56
  /**
75
57
  * Initialize the tree by categorizing folders and entries into a hierarchical tree structure.
@@ -111,26 +93,22 @@ declare global {
111
93
  * @param BaseCollection - The base collection class to extend
112
94
  * @returns A Collection mixed with DirectoryCollection functionality
113
95
  */
114
- function DirectoryCollectionMixin<
115
- T extends DirectoryCollectionMixin.DirectoryTypes,
116
- BaseCollection extends DirectoryCollectionMixin.BaseClass,
117
- >(BaseCollection: BaseCollection): Mixin<typeof DirectoryCollection<T>, BaseCollection>;
96
+ function DirectoryCollectionMixin<BaseCollection extends foundry.utils.Collection.AnyConstructor>(
97
+ BaseCollection: BaseCollection,
98
+ ): Mixin<typeof DirectoryCollection, BaseCollection>;
118
99
 
119
100
  namespace DirectoryCollectionMixin {
120
- type AnyMixedConstructor = ReturnType<
121
- typeof DirectoryCollectionMixin<DirectoryCollectionMixin.DirectoryTypes, DirectoryCollectionMixin.BaseClass>
122
- >;
101
+ interface AnyMixedConstructor
102
+ extends ReturnType<typeof DirectoryCollectionMixin<foundry.utils.Collection.AnyConstructor>> {}
123
103
  interface AnyMixed extends FixedInstanceType<AnyMixedConstructor> {}
124
104
 
125
105
  type BaseClass = foundry.utils.Collection.AnyConstructor;
126
- // TODO: Refine type based on CONST.FOLDER_DOCUMENT_TYPES
127
- type DirectoryTypes = object;
128
106
 
129
107
  interface TreeNode<T> {
130
108
  children: TreeNode<T>[];
131
109
  depth: number;
132
110
  entries: T[];
133
- folder: Folder;
111
+ folder: Folder.Implementation;
134
112
  root: boolean;
135
113
  visible: boolean;
136
114
  }