@league-of-foundry-developers/foundry-vtt-types 12.331.3-beta → 12.331.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (559) hide show
  1. package/README.md +17 -18
  2. package/package.json +91 -32
  3. package/src/configuration/configuration.d.mts +316 -0
  4. package/src/configuration/documents.d.mts +295 -0
  5. package/src/configuration/globals.d.mts +357 -0
  6. package/src/configuration/index.d.mts +5 -0
  7. package/src/foundry/client/apps/app.d.mts +129 -122
  8. package/src/foundry/client/apps/av/av-config.d.mts +12 -7
  9. package/src/foundry/client/apps/av/cameras.d.mts +12 -7
  10. package/src/foundry/client/apps/dice/dice-config.d.mts +59 -0
  11. package/src/foundry/client/apps/dice/index.d.mts +1 -0
  12. package/src/foundry/client/apps/form.d.mts +114 -86
  13. package/src/foundry/client/apps/forms/actor.d.mts +21 -11
  14. package/src/foundry/client/apps/forms/adventure-exporter.d.mts +12 -7
  15. package/src/foundry/client/apps/forms/adventure-importer.d.mts +14 -6
  16. package/src/foundry/client/apps/forms/base-sheet.d.mts +16 -8
  17. package/src/foundry/client/apps/forms/card-config.d.mts +16 -8
  18. package/src/foundry/client/apps/forms/cards-config.d.mts +15 -14
  19. package/src/foundry/client/apps/forms/combat-config.d.mts +7 -7
  20. package/src/foundry/client/apps/forms/combatant-config.d.mts +3 -3
  21. package/src/foundry/client/apps/forms/default-sheets-config.d.mts +1 -1
  22. package/src/foundry/client/apps/forms/effect-config.d.mts +7 -7
  23. package/src/foundry/client/apps/forms/folder-config.d.mts +10 -5
  24. package/src/foundry/client/apps/forms/fonts.d.mts +42 -35
  25. package/src/foundry/client/apps/forms/grid-config.d.mts +12 -13
  26. package/src/foundry/client/apps/forms/image-popout.d.mts +29 -23
  27. package/src/foundry/client/apps/forms/item.d.mts +9 -9
  28. package/src/foundry/client/apps/forms/journal-page-sheet.d.mts +16 -14
  29. package/src/foundry/client/apps/forms/journal-sheet.d.mts +48 -38
  30. package/src/foundry/client/apps/forms/macro-config.d.mts +7 -7
  31. package/src/foundry/client/apps/forms/measure-template.d.mts +10 -12
  32. package/src/foundry/client/apps/forms/ownership.d.mts +5 -5
  33. package/src/foundry/client/apps/forms/playlist-config.d.mts +8 -10
  34. package/src/foundry/client/apps/forms/playlist-sound-config.d.mts +7 -7
  35. package/src/foundry/client/apps/forms/roll-table-config.d.mts +11 -10
  36. package/src/foundry/client/apps/forms/scene-config.d.mts +40 -41
  37. package/src/foundry/client/apps/forms/sheet-config.d.mts +9 -21
  38. package/src/foundry/client/apps/forms/user-config.d.mts +13 -12
  39. package/src/foundry/client/apps/hud/chatbubble.d.mts +18 -6
  40. package/src/foundry/client/apps/hud/container.d.mts +4 -4
  41. package/src/foundry/client/apps/hud/controls.d.mts +126 -81
  42. package/src/foundry/client/apps/hud/hotbar.d.mts +17 -12
  43. package/src/foundry/client/apps/hud/hud.d.mts +5 -5
  44. package/src/foundry/client/apps/hud/menu.d.mts +10 -3
  45. package/src/foundry/client/apps/hud/navigation.d.mts +14 -9
  46. package/src/foundry/client/apps/hud/pause.d.mts +9 -4
  47. package/src/foundry/client/apps/hud/players.d.mts +14 -9
  48. package/src/foundry/client/apps/i18n.d.mts +31 -27
  49. package/src/foundry/client/apps/index.d.mts +1 -0
  50. package/src/foundry/client/apps/placeables/drawing-config.d.mts +41 -33
  51. package/src/foundry/client/apps/placeables/drawing-hud.d.mts +5 -5
  52. package/src/foundry/client/apps/placeables/index.d.mts +0 -2
  53. package/src/foundry/client/apps/placeables/note-config.d.mts +28 -18
  54. package/src/foundry/client/apps/placeables/tile-config.d.mts +23 -10
  55. package/src/foundry/client/apps/placeables/tile-hud.d.mts +10 -5
  56. package/src/foundry/client/apps/placeables/token-config.d.mts +91 -58
  57. package/src/foundry/client/apps/placeables/token-hud.d.mts +12 -7
  58. package/src/foundry/client/apps/placeables/wall-config.d.mts +21 -17
  59. package/src/foundry/client/apps/sidebar/apps/chat-popout.d.mts +5 -5
  60. package/src/foundry/client/apps/sidebar/apps/client-settings.d.mts +3 -3
  61. package/src/foundry/client/apps/sidebar/apps/compendium.d.mts +15 -13
  62. package/src/foundry/client/apps/sidebar/apps/invitation-links.d.mts +3 -3
  63. package/src/foundry/client/apps/sidebar/apps/keybindings-config.d.mts +3 -2
  64. package/src/foundry/client/apps/sidebar/apps/module-management.d.mts +6 -6
  65. package/src/foundry/client/apps/sidebar/apps/permission-config.d.mts +6 -6
  66. package/src/foundry/client/apps/sidebar/apps/support-details.d.mts +34 -29
  67. package/src/foundry/client/apps/sidebar/apps/tours-management.d.mts +2 -2
  68. package/src/foundry/client/apps/sidebar/apps/world-config.d.mts +13 -10
  69. package/src/foundry/client/apps/sidebar/directory-tab-mixin.d.mts +50 -35
  70. package/src/foundry/client/apps/sidebar/document-directory.d.mts +52 -38
  71. package/src/foundry/client/apps/sidebar/package-configuration.d.mts +4 -4
  72. package/src/foundry/client/apps/sidebar/sidebar-tab.d.mts +3 -3
  73. package/src/foundry/client/apps/sidebar/sidebar.d.mts +9 -4
  74. package/src/foundry/client/apps/sidebar/tabs/actors-directory.d.mts +11 -2
  75. package/src/foundry/client/apps/sidebar/tabs/cards-directory.d.mts +11 -2
  76. package/src/foundry/client/apps/sidebar/tabs/chat-log.d.mts +39 -27
  77. package/src/foundry/client/apps/sidebar/tabs/combat-tracker.d.mts +21 -12
  78. package/src/foundry/client/apps/sidebar/tabs/compendium-directory.d.mts +30 -15
  79. package/src/foundry/client/apps/sidebar/tabs/items-directory.d.mts +11 -2
  80. package/src/foundry/client/apps/sidebar/tabs/journal-directory.d.mts +11 -2
  81. package/src/foundry/client/apps/sidebar/tabs/macros-directory.d.mts +14 -5
  82. package/src/foundry/client/apps/sidebar/tabs/playlists-directory.d.mts +30 -22
  83. package/src/foundry/client/apps/sidebar/tabs/roll-table-directory.d.mts +11 -2
  84. package/src/foundry/client/apps/sidebar/tabs/scenes-directory.d.mts +14 -5
  85. package/src/foundry/client/apps/sidebar/tabs/settings.d.mts +23 -5
  86. package/src/foundry/client/apps/templates.d.mts +1 -1
  87. package/src/foundry/client/av/client.d.mts +1 -1
  88. package/src/foundry/client/av/clients/simplepeer.d.mts +11 -1
  89. package/src/foundry/client/av/master.d.mts +2 -2
  90. package/src/foundry/client/av/settings.d.mts +17 -15
  91. package/src/foundry/client/config.d.mts +444 -312
  92. package/src/foundry/client/core/document-index.d.mts +11 -3
  93. package/src/foundry/client/core/hooks.d.mts +2 -4
  94. package/src/foundry/client/core/image.d.mts +14 -13
  95. package/src/foundry/client/core/issues.d.mts +9 -4
  96. package/src/foundry/client/core/keybindings.d.mts +5 -5
  97. package/src/foundry/client/core/nue.d.mts +1 -1
  98. package/src/foundry/client/core/packages.d.mts +400 -62
  99. package/src/foundry/client/core/settings.d.mts +62 -38
  100. package/src/foundry/client/core/socket.d.mts +2 -2
  101. package/src/foundry/client/core/sorting.d.mts +6 -6
  102. package/src/foundry/client/core/time.d.mts +6 -3
  103. package/src/foundry/client/core/tooltip.d.mts +2 -2
  104. package/src/foundry/client/core/tour.d.mts +59 -50
  105. package/src/foundry/client/core/tours.d.mts +1 -1
  106. package/src/foundry/client/core/utils.d.mts +33 -10
  107. package/src/foundry/client/core/video.d.mts +1 -1
  108. package/src/foundry/client/core/workers.d.mts +24 -17
  109. package/src/foundry/client/data/abstract/canvas-document.d.mts +22 -28
  110. package/src/foundry/client/data/abstract/client-document.d.mts +238 -206
  111. package/src/foundry/client/data/abstract/directory-collection-mixin.d.mts +24 -40
  112. package/src/foundry/client/data/abstract/document-collection.d.mts +96 -68
  113. package/src/foundry/client/data/abstract/world-collection.d.mts +53 -54
  114. package/src/foundry/client/data/collections/actors.d.mts +30 -28
  115. package/src/foundry/client/data/collections/cards.d.mts +16 -3
  116. package/src/foundry/client/data/collections/combats.d.mts +18 -5
  117. package/src/foundry/client/data/collections/compendium-collection.d.mts +84 -101
  118. package/src/foundry/client/data/collections/compendium-folders.d.mts +6 -6
  119. package/src/foundry/client/data/collections/compendium-packs.d.mts +5 -5
  120. package/src/foundry/client/data/collections/fog.d.mts +16 -3
  121. package/src/foundry/client/data/collections/folder.d.mts +20 -6
  122. package/src/foundry/client/data/collections/items.d.mts +17 -4
  123. package/src/foundry/client/data/collections/journal.d.mts +22 -7
  124. package/src/foundry/client/data/collections/macros.d.mts +21 -19
  125. package/src/foundry/client/data/collections/messages.d.mts +19 -6
  126. package/src/foundry/client/data/collections/playlists.d.mts +17 -5
  127. package/src/foundry/client/data/collections/scenes.d.mts +24 -27
  128. package/src/foundry/client/data/collections/settings.d.mts +16 -3
  129. package/src/foundry/client/data/collections/tables.d.mts +18 -5
  130. package/src/foundry/client/data/collections/users.d.mts +22 -10
  131. package/src/foundry/client/data/documents/active-effect.d.mts +780 -112
  132. package/src/foundry/client/data/documents/actor-delta.d.mts +705 -31
  133. package/src/foundry/client/data/documents/actor.d.mts +806 -98
  134. package/src/foundry/client/data/documents/adventure.d.mts +522 -59
  135. package/src/foundry/client/data/documents/ambient-light.d.mts +427 -20
  136. package/src/foundry/client/data/documents/ambient-sound.d.mts +478 -14
  137. package/src/foundry/client/data/documents/card.d.mts +598 -44
  138. package/src/foundry/client/data/documents/cards.d.mts +862 -169
  139. package/src/foundry/client/data/documents/chat-message.d.mts +668 -77
  140. package/src/foundry/client/data/documents/combat.d.mts +757 -107
  141. package/src/foundry/client/data/documents/combatant.d.mts +545 -32
  142. package/src/foundry/client/data/documents/drawing.d.mts +545 -14
  143. package/src/foundry/client/data/documents/fog-exploration.d.mts +465 -30
  144. package/src/foundry/client/data/documents/folder.d.mts +567 -51
  145. package/src/foundry/client/data/documents/index.d.mts +2 -0
  146. package/src/foundry/client/data/documents/item.d.mts +691 -24
  147. package/src/foundry/client/data/documents/journal-entry-page.d.mts +654 -55
  148. package/src/foundry/client/data/documents/journal-entry.d.mts +631 -35
  149. package/src/foundry/client/data/documents/macro.d.mts +560 -31
  150. package/src/foundry/client/data/documents/measured-template.d.mts +484 -15
  151. package/src/foundry/client/data/documents/note.d.mts +498 -15
  152. package/src/foundry/client/data/documents/playlist-sound.d.mts +443 -45
  153. package/src/foundry/client/data/documents/playlist.d.mts +710 -99
  154. package/src/foundry/client/data/documents/region-behavior.d.mts +516 -0
  155. package/src/foundry/client/data/documents/region.d.mts +789 -0
  156. package/src/foundry/client/data/documents/scene.d.mts +1216 -159
  157. package/src/foundry/client/data/documents/setting.d.mts +406 -23
  158. package/src/foundry/client/data/documents/table-result.d.mts +488 -14
  159. package/src/foundry/client/data/documents/table.d.mts +667 -78
  160. package/src/foundry/client/data/documents/tile.d.mts +505 -14
  161. package/src/foundry/client/data/documents/token.d.mts +1191 -143
  162. package/src/foundry/client/data/documents/user.d.mts +613 -57
  163. package/src/foundry/client/data/documents/wall.d.mts +555 -14
  164. package/src/foundry/client/game.d.mts +60 -92
  165. package/src/foundry/client/head.d.mts +9 -9
  166. package/src/foundry/client/hooks.d.mts +259 -248
  167. package/src/foundry/client/pixi/board.d.mts +107 -94
  168. package/src/foundry/client/pixi/core/containers/base-canvas-group.d.mts +97 -25
  169. package/src/foundry/client/pixi/core/containers/cached-container.d.mts +37 -19
  170. package/src/foundry/client/pixi/core/containers/full-canvas-container.d.mts +7 -10
  171. package/src/foundry/client/pixi/core/containers/point-source-mesh.d.mts +25 -15
  172. package/src/foundry/client/pixi/core/containers/quad-mesh.d.mts +16 -6
  173. package/src/foundry/client/pixi/core/containers/quadtree.d.mts +113 -54
  174. package/src/foundry/client/pixi/core/containers/sprite-mesh.d.mts +69 -26
  175. package/src/foundry/client/pixi/core/containers/unbound-container.d.mts +20 -2
  176. package/src/foundry/client/pixi/core/interaction/canvas-animation.d.mts +164 -99
  177. package/src/foundry/client/pixi/core/interaction/control-icon.d.mts +61 -22
  178. package/src/foundry/client/pixi/core/interaction/mouse-handler.d.mts +120 -53
  179. package/src/foundry/client/pixi/core/interaction/ping.d.mts +62 -31
  180. package/src/foundry/client/pixi/core/interaction/pings/chevron.d.mts +23 -10
  181. package/src/foundry/client/pixi/core/interaction/pings/pulse.d.mts +91 -34
  182. package/src/foundry/client/pixi/core/interaction/render-flags.d.mts +69 -30
  183. package/src/foundry/client/pixi/core/interaction/resize-handle.d.mts +35 -5
  184. package/src/foundry/client/pixi/core/interaction/targets.d.mts +21 -18
  185. package/src/foundry/client/pixi/core/loader.d.mts +86 -76
  186. package/src/foundry/client/pixi/core/shapes/limited-angle-polygon.d.mts +42 -17
  187. package/src/foundry/client/pixi/core/shapes/polygon-mesher.d.mts +92 -64
  188. package/src/foundry/client/pixi/core/shapes/precise-text.d.mts +28 -10
  189. package/src/foundry/client/pixi/core/shapes/ray.d.mts +47 -23
  190. package/src/foundry/client/pixi/core/shapes/source-polygon.d.mts +170 -75
  191. package/src/foundry/client/pixi/extensions/circle.d.mts +128 -125
  192. package/src/foundry/client/pixi/extensions/graphics.d.mts +3 -1
  193. package/src/foundry/client/pixi/extensions/observable-transform.d.mts +5 -4
  194. package/src/foundry/client/pixi/extensions/polygon.d.mts +154 -134
  195. package/src/foundry/client/pixi/extensions/rectangle.d.mts +242 -259
  196. package/src/foundry/client/pixi/groups/effects.d.mts +75 -24
  197. package/src/foundry/client/pixi/groups/environment.d.mts +68 -19
  198. package/src/foundry/client/pixi/groups/hidden.d.mts +27 -11
  199. package/src/foundry/client/pixi/groups/interface.d.mts +62 -38
  200. package/src/foundry/client/pixi/groups/overlay.d.mts +19 -7
  201. package/src/foundry/client/pixi/groups/primary.d.mts +66 -44
  202. package/src/foundry/client/pixi/groups/rendered.d.mts +19 -7
  203. package/src/foundry/client/pixi/layers/base/canvas-layer.d.mts +11 -15
  204. package/src/foundry/client/pixi/layers/base/interaction-layer.d.mts +29 -28
  205. package/src/foundry/client/pixi/layers/base/placeables-layer.d.mts +306 -272
  206. package/src/foundry/client/pixi/layers/controls/cursor.d.mts +18 -9
  207. package/src/foundry/client/pixi/layers/controls/door.d.mts +32 -11
  208. package/src/foundry/client/pixi/layers/controls/layer.d.mts +89 -77
  209. package/src/foundry/client/pixi/layers/controls/ruler.d.mts +121 -96
  210. package/src/foundry/client/pixi/layers/effects/background-effects.d.mts +9 -12
  211. package/src/foundry/client/pixi/layers/effects/coloration-effects.d.mts +9 -10
  212. package/src/foundry/client/pixi/layers/effects/darkness-effects.d.mts +8 -8
  213. package/src/foundry/client/pixi/layers/effects/illumination-effects.d.mts +22 -22
  214. package/src/foundry/client/pixi/layers/effects/visibility.d.mts +106 -86
  215. package/src/foundry/client/pixi/layers/effects/weather/particles/effect.d.mts +14 -5
  216. package/src/foundry/client/pixi/layers/effects/weather/particles/leaves.d.mts +31 -2
  217. package/src/foundry/client/pixi/layers/effects/weather-effects.d.mts +137 -65
  218. package/src/foundry/client/pixi/layers/grid/highlight.d.mts +14 -4
  219. package/src/foundry/client/pixi/layers/grid/layer.d.mts +92 -92
  220. package/src/foundry/client/pixi/layers/grid/mesh.d.mts +37 -16
  221. package/src/foundry/client/pixi/layers/masks/depth.d.mts +12 -7
  222. package/src/foundry/client/pixi/layers/masks/occlusion.d.mts +19 -12
  223. package/src/foundry/client/pixi/layers/masks/vision.d.mts +104 -18
  224. package/src/foundry/client/pixi/layers/placeables/drawings.d.mts +16 -15
  225. package/src/foundry/client/pixi/layers/placeables/index.d.mts +1 -0
  226. package/src/foundry/client/pixi/layers/placeables/lighting.d.mts +12 -14
  227. package/src/foundry/client/pixi/layers/placeables/notes.d.mts +49 -32
  228. package/src/foundry/client/pixi/layers/placeables/regions.d.mts +113 -0
  229. package/src/foundry/client/pixi/layers/placeables/sounds.d.mts +81 -67
  230. package/src/foundry/client/pixi/layers/placeables/templates.d.mts +11 -15
  231. package/src/foundry/client/pixi/layers/placeables/tiles.d.mts +30 -21
  232. package/src/foundry/client/pixi/layers/placeables/tokens.d.mts +66 -52
  233. package/src/foundry/client/pixi/layers/placeables/walls.d.mts +54 -57
  234. package/src/foundry/client/pixi/perception/clockwise-sweep.d.mts +62 -27
  235. package/src/foundry/client/pixi/perception/detection-mode.d.mts +121 -47
  236. package/src/foundry/client/pixi/perception/fog.d.mts +38 -15
  237. package/src/foundry/client/pixi/perception/perception-manager.d.mts +136 -136
  238. package/src/foundry/client/pixi/perception/vision-mode.d.mts +91 -64
  239. package/src/foundry/client/pixi/perception/weiler-atherton-clipping.d.mts +44 -16
  240. package/src/foundry/client/pixi/placeable.d.mts +239 -137
  241. package/src/foundry/client/pixi/placeables/drawing.d.mts +255 -133
  242. package/src/foundry/client/pixi/placeables/index.d.mts +1 -0
  243. package/src/foundry/client/pixi/placeables/light.d.mts +193 -64
  244. package/src/foundry/client/pixi/placeables/note.d.mts +145 -54
  245. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-canvas-object.d.mts +30 -8
  246. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-graphics.d.mts +41 -11
  247. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-occludable-object.d.mts +59 -18
  248. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-sprite-mesh.d.mts +120 -37
  249. package/src/foundry/client/pixi/placeables/region.d.mts +280 -0
  250. package/src/foundry/client/pixi/placeables/sound.d.mts +205 -66
  251. package/src/foundry/client/pixi/placeables/template.d.mts +181 -100
  252. package/src/foundry/client/pixi/placeables/tile.d.mts +206 -140
  253. package/src/foundry/client/pixi/placeables/token.d.mts +916 -449
  254. package/src/foundry/client/pixi/placeables/wall.d.mts +249 -129
  255. package/src/foundry/client/pixi/webgl/extensions/batch-renderer.d.mts +72 -33
  256. package/src/foundry/client/pixi/webgl/extensions/batch-shader-generator.d.mts +10 -9
  257. package/src/foundry/client/pixi/webgl/helpers/{framebugger-snapshot.d.mts → framebuffer-snapshot.d.mts} +10 -9
  258. package/src/foundry/client/pixi/webgl/helpers/index.d.mts +1 -1
  259. package/src/foundry/client/pixi/webgl/helpers/smooth-noise.d.mts +38 -23
  260. package/src/foundry/client/pixi/webgl/helpers/texture-extractor.d.mts +82 -53
  261. package/src/foundry/client/pixi/webgl/shaders/base-shader-mixin.d.mts +12 -12
  262. package/src/foundry/client/pixi/webgl/shaders/base-shader.d.mts +45 -28
  263. package/src/foundry/client/pixi/webgl/shaders/filters/base-filter.d.mts +12 -11
  264. package/src/foundry/client/pixi/webgl/shaders/filters/base-mask-filter.d.mts +12 -10
  265. package/src/foundry/client/pixi/webgl/shaders/filters/blur.d.mts +22 -20
  266. package/src/foundry/client/pixi/webgl/shaders/filters/effects-masking.d.mts +36 -32
  267. package/src/foundry/client/pixi/webgl/shaders/filters/environment.d.mts +10 -9
  268. package/src/foundry/client/pixi/webgl/shaders/filters/glow-overlay.d.mts +12 -11
  269. package/src/foundry/client/pixi/webgl/shaders/filters/invisibility.d.mts +10 -9
  270. package/src/foundry/client/pixi/webgl/shaders/filters/outline-overlay.d.mts +12 -11
  271. package/src/foundry/client/pixi/webgl/shaders/filters/transition.d.mts +67 -60
  272. package/src/foundry/client/pixi/webgl/shaders/filters/visibility.d.mts +24 -17
  273. package/src/foundry/client/pixi/webgl/shaders/filters/vision-mask-filter.d.mts +13 -10
  274. package/src/foundry/client/pixi/webgl/shaders/filters/void.d.mts +10 -9
  275. package/src/foundry/client/pixi/webgl/shaders/filters/weather-occlusion-masks.d.mts +11 -10
  276. package/src/foundry/client/pixi/webgl/shaders/fragment-channel-mixin.d.mts +20 -14
  277. package/src/foundry/client/pixi/webgl/shaders/grid/grid.d.mts +12 -11
  278. package/src/foundry/client/pixi/webgl/shaders/lighting/background-lighting.d.mts +10 -9
  279. package/src/foundry/client/pixi/webgl/shaders/lighting/base-lighting.d.mts +33 -33
  280. package/src/foundry/client/pixi/webgl/shaders/lighting/coloration-lighting.d.mts +10 -9
  281. package/src/foundry/client/pixi/webgl/shaders/lighting/darkness-lighting.d.mts +10 -9
  282. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/bewitching-wave.d.mts +19 -17
  283. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/black-hole.d.mts +10 -9
  284. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/chroma.d.mts +10 -9
  285. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/emanation.d.mts +10 -9
  286. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/energy-field.d.mts +10 -9
  287. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fairy-light.d.mts +19 -17
  288. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/flame.d.mts +19 -17
  289. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fog.d.mts +10 -9
  290. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/force-grid.d.mts +10 -8
  291. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/ghost-light.d.mts +19 -17
  292. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/hexa-dome.d.mts +10 -9
  293. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/light-dome.d.mts +10 -9
  294. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/magical-gloom.d.mts +10 -9
  295. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/pulse.d.mts +19 -17
  296. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/radial-rainbow.d.mts +10 -9
  297. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/revolving-light.d.mts +10 -9
  298. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/roiling-mass.d.mts +10 -9
  299. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/siren-light.d.mts +19 -17
  300. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/smoke-patch.d.mts +20 -17
  301. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/star-light.d.mts +10 -9
  302. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/sunburst.d.mts +19 -17
  303. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/swirling-rainbow.d.mts +10 -9
  304. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/torch.d.mts +19 -17
  305. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/vortex.d.mts +19 -17
  306. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/wave.d.mts +19 -17
  307. package/src/foundry/client/pixi/webgl/shaders/lighting/illumination-lighting.d.mts +10 -9
  308. package/src/foundry/client/pixi/webgl/shaders/region/adjust-darkness-level.d.mts +71 -29
  309. package/src/foundry/client/pixi/webgl/shaders/region/base.d.mts +54 -10
  310. package/src/foundry/client/pixi/webgl/shaders/region/highlight.d.mts +69 -9
  311. package/src/foundry/client/pixi/webgl/shaders/samplers/base-sampler.d.mts +24 -25
  312. package/src/foundry/client/pixi/webgl/shaders/samplers/baseline-illumination.d.mts +10 -9
  313. package/src/foundry/client/pixi/webgl/shaders/samplers/color-adjustment.d.mts +38 -29
  314. package/src/foundry/client/pixi/webgl/shaders/samplers/depth.d.mts +21 -17
  315. package/src/foundry/client/pixi/webgl/shaders/samplers/fog-of-war.d.mts +10 -9
  316. package/src/foundry/client/pixi/webgl/shaders/samplers/occlusion.d.mts +20 -18
  317. package/src/foundry/client/pixi/webgl/shaders/samplers/primary.d.mts +11 -2
  318. package/src/foundry/client/pixi/webgl/shaders/samplers/token-ring.d.mts +28 -2
  319. package/src/foundry/client/pixi/webgl/shaders/vision/background-vision.d.mts +10 -9
  320. package/src/foundry/client/pixi/webgl/shaders/vision/base-vision.d.mts +11 -9
  321. package/src/foundry/client/pixi/webgl/shaders/vision/coloration-vision.d.mts +10 -9
  322. package/src/foundry/client/pixi/webgl/shaders/vision/effects/amplification.d.mts +10 -9
  323. package/src/foundry/client/pixi/webgl/shaders/vision/effects/wave.d.mts +19 -17
  324. package/src/foundry/client/pixi/webgl/shaders/vision/illumination-vision.d.mts +10 -9
  325. package/src/foundry/client/pixi/webgl/shaders/weather/base-weather.d.mts +40 -36
  326. package/src/foundry/client/pixi/webgl/shaders/weather/effect.d.mts +27 -33
  327. package/src/foundry/client/pixi/webgl/shaders/weather/fog.d.mts +17 -16
  328. package/src/foundry/client/pixi/webgl/shaders/weather/rain.d.mts +19 -18
  329. package/src/foundry/client/pixi/webgl/shaders/weather/snow.d.mts +15 -14
  330. package/src/foundry/client/pixi/workers/texture-worker.d.mts +33 -53
  331. package/src/foundry/client/tours/setup-tour.d.mts +15 -10
  332. package/src/foundry/client/ui/context.d.mts +48 -40
  333. package/src/foundry/client/ui/dialog.d.mts +137 -126
  334. package/src/foundry/client/ui/drag.d.mts +1 -1
  335. package/src/foundry/client/ui/dragdrop.d.mts +34 -28
  336. package/src/foundry/client/ui/editor.d.mts +29 -21
  337. package/src/foundry/client/ui/filepicker.d.mts +43 -38
  338. package/src/foundry/client/ui/filter.d.mts +62 -50
  339. package/src/foundry/client/ui/forms.d.mts +22 -22
  340. package/src/foundry/client/ui/notifications.d.mts +10 -3
  341. package/src/foundry/client/ui/prosemirror.d.mts +15 -7
  342. package/src/foundry/client/ui/secrets.d.mts +42 -27
  343. package/src/foundry/client/ui/tabs.d.mts +40 -33
  344. package/src/foundry/client-esm/applications/_module.d.mts +3 -3
  345. package/src/foundry/client-esm/applications/_types.d.mts +0 -2
  346. package/src/foundry/client-esm/applications/api/_module.d.mts +2 -2
  347. package/src/foundry/client-esm/applications/api/application.d.mts +28 -19
  348. package/src/foundry/client-esm/applications/api/dialog.d.mts +20 -22
  349. package/src/foundry/client-esm/applications/api/document-sheet.d.mts +26 -12
  350. package/src/foundry/client-esm/applications/api/handlebars-application.d.mts +142 -126
  351. package/src/foundry/client-esm/applications/apps/_module.d.mts +2 -2
  352. package/src/foundry/client-esm/applications/apps/compendium-art-config.d.mts +10 -10
  353. package/src/foundry/client-esm/applications/apps/permission-config.d.mts +3 -3
  354. package/src/foundry/client-esm/applications/dice/_module.d.mts +2 -2
  355. package/src/foundry/client-esm/applications/dice/roll-resolver.d.mts +14 -2
  356. package/src/foundry/client-esm/applications/elements/_module.d.mts +2 -2
  357. package/src/foundry/client-esm/applications/elements/document-tags.d.mts +2 -0
  358. package/src/foundry/client-esm/applications/elements/file-picker.d.mts +1 -1
  359. package/src/foundry/client-esm/applications/elements/multi-select.d.mts +15 -5
  360. package/src/foundry/client-esm/applications/elements/string-tags.d.mts +1 -1
  361. package/src/foundry/client-esm/applications/forms/fields.d.mts +1 -1
  362. package/src/foundry/client-esm/applications/sheets/_module.d.mts +2 -2
  363. package/src/foundry/client-esm/applications/sheets/actor-sheet.d.mts +3 -3
  364. package/src/foundry/client-esm/applications/sheets/ambient-light-config.d.mts +10 -8
  365. package/src/foundry/client-esm/applications/sheets/ambient-sound-config.d.mts +9 -7
  366. package/src/foundry/client-esm/applications/sheets/item-sheet.d.mts +3 -3
  367. package/src/foundry/client-esm/applications/sheets/region-behavior-config.d.mts +30 -5
  368. package/src/foundry/client-esm/applications/sheets/region-config.d.mts +36 -5
  369. package/src/foundry/client-esm/applications/sheets/user-config.d.mts +8 -7
  370. package/src/foundry/client-esm/applications/ui/_module.d.mts +2 -2
  371. package/src/foundry/client-esm/applications/ui/region-legend.d.mts +45 -3
  372. package/src/foundry/client-esm/audio/_module.d.mts +2 -3
  373. package/src/foundry/client-esm/audio/_types.d.mts +2 -0
  374. package/src/foundry/client-esm/audio/biquad.d.mts +76 -26
  375. package/src/foundry/client-esm/audio/cache.d.mts +31 -20
  376. package/src/foundry/client-esm/audio/convolver.d.mts +47 -25
  377. package/src/foundry/client-esm/audio/helper.d.mts +124 -80
  378. package/src/foundry/client-esm/audio/sound.d.mts +230 -126
  379. package/src/foundry/client-esm/audio/timeout.d.mts +28 -12
  380. package/src/foundry/client-esm/canvas/_module.d.mts +2 -2
  381. package/src/foundry/client-esm/canvas/edges/_module.d.mts +2 -2
  382. package/src/foundry/client-esm/canvas/edges/collision.d.mts +69 -18
  383. package/src/foundry/client-esm/canvas/edges/edge.d.mts +110 -41
  384. package/src/foundry/client-esm/canvas/edges/edges.d.mts +10 -0
  385. package/src/foundry/client-esm/canvas/edges/vertex.d.mts +56 -26
  386. package/src/foundry/client-esm/canvas/regions/_module.d.mts +6 -11
  387. package/src/foundry/client-esm/canvas/regions/geometry.d.mts +38 -0
  388. package/src/foundry/client-esm/canvas/regions/mesh.d.mts +72 -0
  389. package/src/foundry/client-esm/canvas/regions/polygon-tree.d.mts +130 -0
  390. package/src/foundry/client-esm/canvas/regions/shape.d.mts +129 -0
  391. package/src/foundry/client-esm/canvas/scene-manager.d.mts +13 -3
  392. package/src/foundry/client-esm/canvas/smaa/blend.d.mts +14 -3
  393. package/src/foundry/client-esm/canvas/smaa/edges.d.mts +25 -3
  394. package/src/foundry/client-esm/canvas/smaa/smaa.d.mts +121 -23
  395. package/src/foundry/client-esm/canvas/smaa/weights.d.mts +26 -3
  396. package/src/foundry/client-esm/canvas/sources/_module.d.mts +2 -2
  397. package/src/foundry/client-esm/canvas/sources/base-effect-source.d.mts +84 -40
  398. package/src/foundry/client-esm/canvas/sources/base-light-source.d.mts +103 -39
  399. package/src/foundry/client-esm/canvas/sources/global-light-source.d.mts +89 -15
  400. package/src/foundry/client-esm/canvas/sources/point-darkness-source.d.mts +71 -27
  401. package/src/foundry/client-esm/canvas/sources/point-effect-source.d.mts +49 -20
  402. package/src/foundry/client-esm/canvas/sources/point-light-source.d.mts +57 -16
  403. package/src/foundry/client-esm/canvas/sources/point-movement-source.d.mts +31 -4
  404. package/src/foundry/client-esm/canvas/sources/point-sound-source.d.mts +45 -12
  405. package/src/foundry/client-esm/canvas/sources/point-vision-source.d.mts +98 -52
  406. package/src/foundry/client-esm/canvas/sources/rendered-effect-source.d.mts +180 -69
  407. package/src/foundry/client-esm/canvas/tokens/_module.d.mts +2 -3
  408. package/src/foundry/client-esm/canvas/tokens/ring-config.d.mts +175 -2
  409. package/src/foundry/client-esm/canvas/tokens/ring-data.d.mts +142 -2
  410. package/src/foundry/client-esm/canvas/tokens/ring.d.mts +284 -2
  411. package/src/foundry/client-esm/client.d.mts +47 -54
  412. package/src/foundry/client-esm/data/_module.d.mts +2 -2
  413. package/src/foundry/client-esm/data/client-backend.d.mts +22 -23
  414. package/src/foundry/client-esm/data/region-behaviors/_module.d.mts +11 -14
  415. package/src/foundry/client-esm/data/region-behaviors/adjust-darkness-level.d.mts +56 -0
  416. package/src/foundry/client-esm/data/region-behaviors/base.d.mts +59 -0
  417. package/src/foundry/client-esm/data/region-behaviors/display-scrolling-text.d.mts +64 -0
  418. package/src/foundry/client-esm/data/region-behaviors/execute-macro.d.mts +27 -0
  419. package/src/foundry/client-esm/data/region-behaviors/execute-script.d.mts +23 -0
  420. package/src/foundry/client-esm/data/region-behaviors/pause-game.d.mts +23 -0
  421. package/src/foundry/client-esm/data/region-behaviors/suppress-weather.d.mts +17 -0
  422. package/src/foundry/client-esm/data/region-behaviors/teleport-token.d.mts +32 -0
  423. package/src/foundry/client-esm/data/region-behaviors/toggle-behavior.d.mts +31 -0
  424. package/src/foundry/client-esm/dice/_module.d.mts +2 -3
  425. package/src/foundry/client-esm/dice/parser.d.mts +11 -25
  426. package/src/foundry/client-esm/dice/roll.d.mts +112 -89
  427. package/src/foundry/client-esm/dice/terms/_module.d.mts +2 -3
  428. package/src/foundry/client-esm/dice/terms/coin.d.mts +8 -5
  429. package/src/foundry/client-esm/dice/terms/dice.d.mts +93 -63
  430. package/src/foundry/client-esm/dice/terms/die.d.mts +11 -4
  431. package/src/foundry/client-esm/dice/terms/fate.d.mts +9 -2
  432. package/src/foundry/client-esm/dice/terms/function.d.mts +18 -18
  433. package/src/foundry/client-esm/dice/terms/numeric.d.mts +3 -5
  434. package/src/foundry/client-esm/dice/terms/operator.d.mts +2 -2
  435. package/src/foundry/client-esm/dice/terms/parenthetical.d.mts +9 -10
  436. package/src/foundry/client-esm/dice/terms/pool.d.mts +25 -31
  437. package/src/foundry/client-esm/dice/terms/string.d.mts +4 -4
  438. package/src/foundry/client-esm/dice/terms/term.d.mts +18 -4
  439. package/src/foundry/client-esm/dice/twister.d.mts +3 -3
  440. package/src/foundry/client-esm/helpers/_module.d.mts +2 -2
  441. package/src/foundry/client-esm/helpers/_types.d.mts +12 -46
  442. package/src/foundry/client-esm/helpers/compendium-art.d.mts +56 -4
  443. package/src/foundry/common/abstract/_types.d.mts +60 -54
  444. package/src/foundry/common/abstract/backend.d.mts +51 -45
  445. package/src/foundry/common/abstract/data.d.mts +265 -236
  446. package/src/foundry/common/abstract/document.d.mts +1449 -464
  447. package/src/foundry/common/abstract/embedded-collection-delta.d.mts +1 -1
  448. package/src/foundry/common/abstract/embedded-collection.d.mts +37 -7
  449. package/src/foundry/common/abstract/module.d.mts +3 -2
  450. package/src/foundry/common/abstract/singleton-collection.d.mts +1 -1
  451. package/src/foundry/common/abstract/socket.d.mts +1 -1
  452. package/src/foundry/common/abstract/type-data.d.mts +61 -55
  453. package/src/foundry/common/config.d.mts +11 -3
  454. package/src/foundry/common/constants.d.mts +261 -231
  455. package/src/foundry/common/data/data.d.mts +238 -102
  456. package/src/foundry/common/data/fields.d.mts +1334 -874
  457. package/src/foundry/common/data/module.d.mts +2 -2
  458. package/src/foundry/common/data/validation-failure.d.mts +12 -9
  459. package/src/foundry/common/documents/_module.d.mts +4 -2
  460. package/src/foundry/common/documents/_types.d.mts +22 -56
  461. package/src/foundry/common/documents/active-effect.d.mts +358 -194
  462. package/src/foundry/common/documents/actor-delta.d.mts +403 -73
  463. package/src/foundry/common/documents/actor.d.mts +359 -117
  464. package/src/foundry/common/documents/adventure.d.mts +312 -142
  465. package/src/foundry/common/documents/ambient-light.d.mts +296 -75
  466. package/src/foundry/common/documents/ambient-sound.d.mts +296 -109
  467. package/src/foundry/common/documents/card.d.mts +321 -187
  468. package/src/foundry/common/documents/cards.d.mts +353 -125
  469. package/src/foundry/common/documents/chat-message.d.mts +338 -167
  470. package/src/foundry/common/documents/combat.d.mts +358 -94
  471. package/src/foundry/common/documents/combatant.d.mts +323 -92
  472. package/src/foundry/common/documents/drawing.d.mts +327 -206
  473. package/src/foundry/common/documents/fog-exploration.d.mts +303 -69
  474. package/src/foundry/common/documents/folder.d.mts +307 -82
  475. package/src/foundry/common/documents/item.d.mts +377 -100
  476. package/src/foundry/common/documents/journal-entry-page.d.mts +327 -187
  477. package/src/foundry/common/documents/journal-entry.d.mts +345 -68
  478. package/src/foundry/common/documents/macro.d.mts +325 -139
  479. package/src/foundry/common/documents/measured-template.d.mts +328 -138
  480. package/src/foundry/common/documents/note.d.mts +312 -151
  481. package/src/foundry/common/documents/playlist-sound.d.mts +309 -102
  482. package/src/foundry/common/documents/playlist.d.mts +341 -131
  483. package/src/foundry/common/documents/region-behavior.d.mts +360 -0
  484. package/src/foundry/common/documents/region.d.mts +355 -0
  485. package/src/foundry/common/documents/roll-table.d.mts +320 -102
  486. package/src/foundry/common/documents/scene.d.mts +437 -350
  487. package/src/foundry/common/documents/setting.d.mts +285 -54
  488. package/src/foundry/common/documents/table-result.d.mts +326 -103
  489. package/src/foundry/common/documents/tile.d.mts +337 -172
  490. package/src/foundry/common/documents/token.d.mts +396 -447
  491. package/src/foundry/common/documents/user.d.mts +296 -173
  492. package/src/foundry/common/documents/wall.d.mts +303 -156
  493. package/src/foundry/common/grid/_module.d.mts +3 -3
  494. package/src/foundry/common/grid/base.d.mts +66 -49
  495. package/src/foundry/common/grid/gridless.d.mts +2 -2
  496. package/src/foundry/common/grid/hexagonal.d.mts +35 -28
  497. package/src/foundry/common/grid/square.d.mts +3 -3
  498. package/src/foundry/common/packages/base-module.d.mts +6 -24
  499. package/src/foundry/common/packages/base-package.d.mts +56 -31
  500. package/src/foundry/common/packages/base-system.d.mts +45 -63
  501. package/src/foundry/common/packages/base-world.d.mts +15 -61
  502. package/src/foundry/common/packages/module.d.mts +7 -7
  503. package/src/foundry/common/packages/sub-types.d.mts +4 -6
  504. package/src/foundry/common/primitives/array.d.mts +4 -4
  505. package/src/foundry/common/primitives/math.d.mts +7 -1
  506. package/src/foundry/common/primitives/number.d.mts +2 -2
  507. package/src/foundry/common/primitives/set.d.mts +17 -14
  508. package/src/foundry/common/primitives/string.d.mts +1 -1
  509. package/src/foundry/common/prosemirror/_module.d.mts +15 -15
  510. package/src/foundry/common/prosemirror/dirty-plugin.d.mts +1 -1
  511. package/src/foundry/common/prosemirror/dom-parser.d.mts +2 -1
  512. package/src/foundry/common/prosemirror/dropdown.d.mts +1 -1
  513. package/src/foundry/common/prosemirror/highlight-matches-plugin.d.mts +2 -2
  514. package/src/foundry/common/prosemirror/image-plugin.d.mts +1 -1
  515. package/src/foundry/common/prosemirror/menu.d.mts +3 -3
  516. package/src/foundry/common/prosemirror/paste-transformer.d.mts +1 -1
  517. package/src/foundry/common/prosemirror/plugin.d.mts +2 -2
  518. package/src/foundry/common/prosemirror/schema/index.d.mts +0 -1
  519. package/src/foundry/common/prosemirror/schema/lists.d.mts +2 -0
  520. package/src/foundry/common/prosemirror/util.d.mts +1 -1
  521. package/src/foundry/common/types.d.mts +3 -3
  522. package/src/foundry/common/utils/bitmask.d.mts +23 -11
  523. package/src/foundry/common/utils/collection.d.mts +61 -38
  524. package/src/foundry/common/utils/color.d.mts +20 -2
  525. package/src/foundry/common/utils/event-emitter.d.mts +32 -17
  526. package/src/foundry/common/utils/helpers.d.mts +36 -26
  527. package/src/foundry/common/utils/http.d.mts +2 -2
  528. package/src/foundry/common/utils/module.d.mts +2 -2
  529. package/src/foundry/common/utils/string-tree.d.mts +45 -39
  530. package/src/foundry/common/utils/word-tree.d.mts +10 -23
  531. package/src/foundry/index.d.mts +0 -1
  532. package/src/foundry/{clipper → public/scripts/clipper}/clipper.d.mts +58 -16
  533. package/src/foundry/public/scripts/index.d.mts +1 -0
  534. package/src/foundry/public/scripts/workers/image-compressor.d.mts +23 -0
  535. package/src/foundry/public/scripts/workers/index.d.mts +1 -0
  536. package/{index-lenient.d.mts → src/index-lenient.d.mts} +2 -0
  537. package/src/index.d.mts +6 -0
  538. package/src/tsconfig.json +15 -0
  539. package/src/types/augments/particles.d.mts +29 -0
  540. package/src/types/augments/pixi.d.mts +1024 -21
  541. package/src/types/augments/smooth.d.mts +31 -0
  542. package/src/types/augments/tinyMCE.d.mts +1 -1
  543. package/src/types/config.d.mts +18 -313
  544. package/src/types/documentConfiguration.d.mts +286 -542
  545. package/src/types/index.d.mts +1 -1
  546. package/src/types/lib.d.mts +12 -0
  547. package/src/types/workers/image-compressor.d.mts +176 -0
  548. package/src/utils/index.d.mts +1279 -0
  549. package/tsconfig.json +29 -0
  550. package/tsconfig.main.json +8 -0
  551. package/tsconfig.miscellaneous.json +16 -0
  552. package/index.d.mts +0 -5
  553. package/src/foundry/client/apps/placeables/light-config.d.mts +0 -100
  554. package/src/foundry/client/apps/placeables/sound-config.d.mts +0 -43
  555. package/src/foundry/common/documents/module.d.mts +0 -35
  556. package/src/foundry/common/primitives/regex.d.mts +0 -12
  557. package/src/types/helperTypes.d.mts +0 -583
  558. package/src/types/utils.d.mts +0 -539
  559. /package/src/foundry/{clipper → public/scripts/clipper}/index.d.mts +0 -0
@@ -1,43 +1,25 @@
1
- import type { Mixin } from "../../../../types/utils.d.mts";
2
- import type Document from "../../../common/abstract/document.d.mts";
3
-
4
- type DirectoryCollectionMixin_DocumentCollection_Static = DirectoryCollection<DirectoryCollection.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<DirectoryCollection.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
- }
1
+ import type { FixedInstanceType, Mixin } from "#utils";
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 DirectoryCollection.DirectoryTypes> {
29
- /** @privateRemarks All mixin classses need a constructor like this */
6
+ declare class DirectoryCollection {
7
+ /** @privateRemarks All mixin classes 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(): DirectoryCollection.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 DirectoryCollection.DirectoryTypes>
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.
@@ -89,8 +71,8 @@ declare class DirectoryCollection<T extends DirectoryCollection.DirectoryTypes>
89
71
  * @returns The sort order between entries a and b
90
72
  */
91
73
  protected static _sortAlphabetical(
92
- a: DirectoryCollection.AlphabeticalSortEntry,
93
- b: DirectoryCollection.AlphabeticalSortEntry,
74
+ a: DirectoryCollectionMixin.AlphabeticalSortEntry,
75
+ b: DirectoryCollectionMixin.AlphabeticalSortEntry,
94
76
  ): number;
95
77
 
96
78
  /**
@@ -100,8 +82,8 @@ declare class DirectoryCollection<T extends DirectoryCollection.DirectoryTypes>
100
82
  * @returns The sort order between Entries a and b
101
83
  */
102
84
  protected static _sortStandard(
103
- a: DirectoryCollection.StandardSortEntry,
104
- b: DirectoryCollection.StandardSortEntry,
85
+ a: DirectoryCollectionMixin.StandardSortEntry,
86
+ b: DirectoryCollectionMixin.StandardSortEntry,
105
87
  ): number;
106
88
  }
107
89
 
@@ -111,20 +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 DirectoryCollection.DirectoryTypes,
116
- BaseCollection extends foundry.utils.Collection.AnyConstructor,
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>;
99
+
100
+ namespace DirectoryCollectionMixin {
101
+ interface AnyMixedConstructor
102
+ extends ReturnType<typeof DirectoryCollectionMixin<foundry.utils.Collection.AnyConstructor>> {}
103
+ interface AnyMixed extends FixedInstanceType<AnyMixedConstructor> {}
118
104
 
119
- namespace DirectoryCollection {
120
- // TODO: Refine type based on CONST.FOLDER_DOCUMENT_TYPES
121
- type DirectoryTypes = object;
105
+ type BaseClass = foundry.utils.Collection.AnyConstructor;
122
106
 
123
107
  interface TreeNode<T> {
124
108
  children: TreeNode<T>[];
125
109
  depth: number;
126
110
  entries: T[];
127
- folder: Folder;
111
+ folder: Folder.Implementation;
128
112
  root: boolean;
129
113
  visible: boolean;
130
114
  }
@@ -1,26 +1,32 @@
1
- import type { AnyObject, DeepPartial, InexactPartial } from "../../../../types/utils.d.mts";
2
- import type { DatabaseAction, DatabaseOperationMap } from "../../../common/abstract/_types.d.mts";
1
+ import type { AnyObject, DeepPartial, InexactPartial, FixedInstanceType } from "#utils";
2
+ import type {
3
+ DatabaseAction,
4
+ DatabaseOperationMap,
5
+ DatabaseUpdateOperation,
6
+ } from "../../../common/abstract/_types.d.mts";
3
7
  import type Document from "../../../common/abstract/document.d.mts";
4
8
 
5
9
  declare global {
6
10
  /**
7
11
  * An abstract subclass of the Collection container which defines a collection of Document instances.
8
12
  */
9
- class DocumentCollection<T extends Document.AnyConstructor, Name extends string> extends foundry.utils.Collection<
10
- Document.ToConfiguredStored<T>
11
- > {
12
- constructor(data: InstanceType<T>["_source"][]);
13
+ class DocumentCollection<
14
+ DocumentClass extends Document.AnyConstructor,
15
+ Name extends string,
16
+ Methods extends Collection.Methods.Any = DocumentCollection.Methods<DocumentClass>,
17
+ > extends foundry.utils.Collection<Document.ToStored<DocumentClass>, Methods> {
18
+ constructor(data: FixedInstanceType<DocumentClass>["_source"][]);
13
19
 
14
20
  /**
15
21
  * The source data array from which the Documents in the WorldCollection are created
16
22
  */
17
- _source: InstanceType<T>["_source"][];
23
+ _source: FixedInstanceType<DocumentClass>["_source"][];
18
24
 
19
25
  /**
20
26
  * An Array of application references which will be automatically updated when the collection content changes
21
27
  * @defaultValue `[]`
22
28
  */
23
- apps: Application[];
29
+ apps: Application.Any[];
24
30
 
25
31
  /**
26
32
  * Initialize the DocumentCollection by constructing any initially provided Document instances
@@ -31,13 +37,13 @@ declare global {
31
37
  /**
32
38
  * A reference to the Document class definition which is contained within this DocumentCollection.
33
39
  */
34
- get documentClass(): Document.ToConfiguredClass<T>;
40
+ get documentClass(): DocumentClass;
35
41
 
36
42
  /**
37
43
  * A reference to the named Document class which is contained within this DocumentCollection.
38
44
  * @remarks This accessor is abstract: A subclass of DocumentCollection must implement the documentName getter
39
45
  */
40
- get documentName(): Document.ToConfiguredClass<T>["metadata"]["name"];
46
+ get documentName(): DocumentClass["metadata"]["name"];
41
47
 
42
48
  /**
43
49
  * The base Document type which is contained within this DocumentCollection
@@ -60,9 +66,10 @@ declare global {
60
66
  * @param context - Document creation context
61
67
  */
62
68
  createDocument(
63
- data: Document.ConstructorDataFor<T>,
64
- context: Document.ConstructionContext<InstanceType<T>>,
65
- ): Document.ToConfiguredInstance<T>;
69
+ data: Document.CreateDataFor<DocumentClass>,
70
+ // TODO: Should be `Document.ParentOf<T>` or some equivalent.
71
+ context: Document.ConstructionContext<Document.Any | null>,
72
+ ): DocumentClass;
66
73
 
67
74
  /**
68
75
  * Obtain a temporary Document instance for a document id which currently has invalid source data.
@@ -73,36 +80,15 @@ declare global {
73
80
  */
74
81
  getInvalid(
75
82
  id: string,
76
- options?: InexactPartial<{
77
- /**
78
- * Throw an Error if the requested ID is not in the set of invalid IDs for this collection.
79
- */
80
- strict: boolean;
81
- }>,
82
- ): unknown;
83
-
84
- get(
85
- key: string,
86
- options?: InexactPartial<{
87
- /**
88
- * Throw an Error if the requested Embedded Document does not exist.
89
- * @defaultValue `false`
90
- */
91
- strict: false;
92
- /**
93
- * Allow retrieving an invalid Embedded Document.
94
- * @defaultValue `false`
95
- */
96
- invalid: false;
97
- }>,
98
- ): Document.ToConfiguredStored<T> | undefined;
99
- get(key: string, options: { strict: true; invalid?: false }): Document.ToConfiguredStored<T>;
100
- get(key: string, options: { strict?: boolean; invalid: true }): unknown;
83
+ options?: DocumentCollection.GetInvalidOptions,
84
+ ): Document.Invalid<FixedInstanceType<DocumentClass>>;
85
+
86
+ get: Methods["get"];
101
87
 
102
88
  /**
103
89
  * @remarks The parameter `id` is ignored, instead `document.id` is used as the key.
104
90
  */
105
- set(id: string, document: Document.ToConfiguredStored<T>): this;
91
+ set(id: string, document: Document.ToStored<DocumentClass>): this;
106
92
 
107
93
  /** @remarks Actually returns void */
108
94
  delete: (id: string) => boolean;
@@ -110,7 +96,7 @@ declare global {
110
96
  /**
111
97
  * Render any Applications associated with this DocumentCollection.
112
98
  */
113
- render(force?: boolean, options?: ApplicationOptions): void;
99
+ render(force?: boolean, options?: Application.Options): void;
114
100
 
115
101
  /**
116
102
  * Get the searchable fields for a given document or index, based on its data model
@@ -131,25 +117,7 @@ declare global {
131
117
  * If filters are provided, results are filtered to only those that match the provided values.
132
118
  * @param search - An object configuring the search
133
119
  */
134
- search(
135
- search?: InexactPartial<{
136
- /**
137
- * A case-insensitive search string
138
- * @defaultValue `""`
139
- */
140
- query: string;
141
- /**
142
- * An array of filters to apply
143
- * @defaultValue `[]`
144
- */
145
- filters: FieldFilter[];
146
- /**
147
- * An array of document IDs to exclude from search results
148
- * @defaultValue `[]`
149
- */
150
- exclude: string[];
151
- }>,
152
- ): Document.ToConfiguredInstance<T>[];
120
+ search(search?: DocumentCollection.SearchOptions): FixedInstanceType<DocumentClass>[];
153
121
 
154
122
  /**
155
123
  * Update all objects in this DocumentCollection with a provided transformation.
@@ -162,9 +130,11 @@ declare global {
162
130
  * @returns An array of updated data once the operation is complete
163
131
  */
164
132
  updateAll(
165
- transformation: Document.UpdateDataFor<T> | ((doc: Document.ToConfiguredStored<T>) => Document.UpdateDataFor<T>),
166
- condition?: ((obj: Document.ToConfiguredStored<T>) => boolean) | null,
167
- options?: Document.OnUpdateOptions<T["metadata"]["name"]>,
133
+ transformation:
134
+ | Document.UpdateDataFor<DocumentClass>
135
+ | ((doc: Document.ToStored<DocumentClass>) => Document.UpdateDataFor<DocumentClass>),
136
+ condition?: ((obj: Document.ToStored<DocumentClass>) => boolean) | null,
137
+ options?: Document.Database.UpdateDocumentsOperation<DatabaseUpdateOperation>,
168
138
  ): ReturnType<this["documentClass"]["updateDocuments"]>;
169
139
 
170
140
  /**
@@ -177,15 +147,22 @@ declare global {
177
147
  */
178
148
  _onModifyContents<A extends DatabaseAction>(
179
149
  action: A,
180
- documents: InstanceType<T>[],
181
- result: AnyObject[] | readonly string[],
150
+ documents: Document.ToStored<DocumentClass>[],
151
+ result: readonly AnyObject[] | readonly string[],
182
152
  operation: DatabaseOperationMap[A],
183
- user: User.ConfiguredInstance,
153
+ user: User.Implementation,
184
154
  ): void;
185
155
  }
186
156
 
187
157
  namespace DocumentCollection {
188
- type Any = DocumentCollection<any, any>;
158
+ interface Any extends DocumentCollection<Document.AnyConstructor, string> {}
159
+
160
+ interface Methods<T extends Document.AnyConstructor> {
161
+ get<Options extends DocumentCollection.GetOptions>(
162
+ key: string,
163
+ options?: Options,
164
+ ): DocumentCollection.GetReturnType<T, Options>;
165
+ }
189
166
 
190
167
  namespace RenderContext {
191
168
  interface Base<T extends Document.AnyConstructor> {
@@ -201,12 +178,12 @@ declare global {
201
178
 
202
179
  interface Create<T extends Document.AnyConstructor> extends Base<T> {
203
180
  action: "create";
204
- data: (InstanceType<T>["_source"] & { _id: string })[];
181
+ data: (FixedInstanceType<T>["_source"] & { _id: string })[];
205
182
  }
206
183
 
207
184
  interface Update<T extends Document.AnyConstructor> extends Base<T> {
208
185
  action: "update";
209
- data: (DeepPartial<InstanceType<T>["_source"]> & { _id: string })[];
186
+ data: (DeepPartial<FixedInstanceType<T>["_source"]> & { _id: string })[];
210
187
  }
211
188
 
212
189
  interface Delete<T extends Document.AnyConstructor> extends Base<T> {
@@ -214,5 +191,56 @@ declare global {
214
191
  data: string[];
215
192
  }
216
193
  }
194
+
195
+ /** @internal */
196
+ interface _SearchOptions {
197
+ /**
198
+ * A case-insensitive search string
199
+ * @defaultValue `""`
200
+ */
201
+ query: string;
202
+
203
+ /**
204
+ * An array of filters to apply
205
+ * @defaultValue `[]`
206
+ */
207
+ filters: SearchFilter.FieldFilter[];
208
+
209
+ /**
210
+ * An array of document IDs to exclude from search results
211
+ * @defaultValue `[]`
212
+ */
213
+ exclude: string[];
214
+ }
215
+
216
+ interface SearchOptions extends InexactPartial<_SearchOptions> {}
217
+
218
+ interface GetInvalidOptions {
219
+ /**
220
+ * Throw an Error if the requested ID is not in the set of invalid IDs for this collection.
221
+ */
222
+ strict?: boolean | undefined;
223
+ }
224
+
225
+ interface GetOptions extends Collection.GetOptions {
226
+ /**
227
+ * Allow retrieving an invalid Embedded Document.
228
+ * @defaultValue `false`
229
+ */
230
+ invalid?: boolean | undefined;
231
+ }
232
+
233
+ type GetReturnType<
234
+ ConcreteDocument extends Document.AnyConstructor,
235
+ Options extends GetOptions,
236
+ > = Collection.GetReturnType<_ApplyInvalid<FixedInstanceType<ConcreteDocument>, Options["invalid"]>, Options>;
237
+
238
+ /** @internal */
239
+ type _ApplyInvalid<
240
+ ConcreteDocument extends Document.Any,
241
+ Invalid extends boolean | undefined,
242
+ > = Invalid extends true
243
+ ? Document.Invalid<ConcreteDocument> | Document.Stored<ConcreteDocument>
244
+ : Document.Stored<ConcreteDocument>;
217
245
  }
218
246
  }
@@ -1,19 +1,17 @@
1
- import type { DeepPartial, InexactPartial } from "../../../../types/utils.d.mts";
1
+ import type { DeepPartial, DropFirst, FixedInstanceType, GetKey, Identity, InexactPartial } from "#utils";
2
2
  import type Document from "../../../common/abstract/document.d.mts";
3
- import type { DirectoryCollectionMixin_DocumentCollection_Interface } from "./directory-collection-mixin.d.mts";
4
-
5
- declare const DirectoryCollectionMixin_DocumentCollection: DirectoryCollectionMixin_DocumentCollection_Interface;
3
+ import type { DatabaseCreateOperation } from "../../../common/abstract/_types.d.mts";
6
4
 
7
5
  declare global {
8
6
  /**
9
7
  * A collection of world-level Document objects with a singleton instance per primary Document type.
10
8
  * Each primary Document type has an associated subclass of WorldCollection which contains them.
11
- * @see {@link Game#collections}
9
+ * @see {@link Game.collections | `Game#collections`}
12
10
  */
13
11
  abstract class WorldCollection<
14
- T extends Document.AnyConstructor,
12
+ DocumentClass extends Document.AnyConstructor,
15
13
  Name extends string,
16
- > extends DirectoryCollectionMixin_DocumentCollection<T, Name> {
14
+ > extends DirectoryCollectionMixin(DocumentCollection)<DocumentClass, Name> {
17
15
  /**
18
16
  * Reference the set of Folders which contain documents in this collection
19
17
  */
@@ -22,14 +20,14 @@ declare global {
22
20
  /**
23
21
  * Return a reference to the SidebarDirectory application for this WorldCollection.
24
22
  * @remarks
25
- * In the case where `Lowercase<Name>` is not a property of {@link ui}, this actually always returns `undefined`,
26
- * but {@link RollTables} overrides this, so we need to allow a wider return type.
23
+ * In the case where `Lowercase<Name>` is not a property of {@link ui | `ui`}, this actually always returns `undefined`,
24
+ * but {@link RollTables | `RollTables`} overrides this, so we need to allow a wider return type.
27
25
  */
28
26
  get directory(): Lowercase<Name> extends keyof typeof ui
29
27
  ? (typeof ui)[Lowercase<Name>]
30
28
  :
31
- | (Document.ToConfiguredClass<T>["metadata"]["name"] extends foundry.CONST.FOLDER_DOCUMENT_TYPES
32
- ? DocumentDirectory<Document.ToConfiguredClass<T>["metadata"]["name"]>
29
+ | (DocumentClass["metadata"]["name"] extends foundry.CONST.FOLDER_DOCUMENT_TYPES
30
+ ? DocumentDirectory<DocumentClass["metadata"]["name"]>
33
31
  : never)
34
32
  | SidebarTab
35
33
  | undefined
@@ -40,7 +38,9 @@ declare global {
40
38
  */
41
39
  static get instance(): WorldCollection<Document.AnyConstructor, any>; // TODO: Find a way to type this more concretely. One option would be to separate the static and non static side of this class, which allows accessing the the static this type to use the `documentName`.
42
40
 
43
- protected override _getVisibleTreeContents(): Document.ToConfiguredInstance<T>[];
41
+ // Note(LukeAbby): Due to the usage of `this["contents"]` in the parent class the override has
42
+ // to stay like this.
43
+ protected override _getVisibleTreeContents(): this["contents"];
44
44
 
45
45
  /**
46
46
  * Import a Document from a Compendium collection, adding it to the current World.
@@ -48,7 +48,7 @@ declare global {
48
48
  * @param id - The ID of the compendium entry to import
49
49
  * @param updateData - Optional additional data used to modify the imported Document before it is created
50
50
  * (default: `{}`)
51
- * @param options - Optional arguments passed to the {@link WorldCollection#fromCompendium} and {@link Document.create} methods
51
+ * @param options - Optional arguments passed to the {@link WorldCollection.fromCompendium | `WorldCollection.fromCompendium`} and {@link Document.create | `Document.create`} methods
52
52
  * (default: `{}`)
53
53
  * @returns The imported Document instance
54
54
  */
@@ -61,13 +61,13 @@ declare global {
61
61
  * DatabaseCreateOperation but the foundry typedef doesn't have them).
62
62
  */
63
63
  importFromCompendium(
64
- pack: CompendiumCollection<
65
- CompendiumCollection.Metadata & { type: Document.ToConfiguredClass<T>["metadata"]["name"] }
66
- >,
64
+ pack: CompendiumCollection<CompendiumCollection.Metadata & { type: DocumentClass["metadata"]["name"] }>,
67
65
  id: string,
68
- updateData?: DeepPartial<Document.ToConfiguredInstance<T>["_source"]>,
69
- options?: InexactPartial<Document.OnCreateOptions<T["metadata"]["name"]> & WorldCollection.FromCompendiumOptions>,
70
- ): Promise<Document.ToConfiguredStored<T>>;
66
+ updateData?: DeepPartial<FixedInstanceType<DocumentClass>["_source"]>,
67
+ options?: InexactPartial<
68
+ Document.Database.CreateOperation<DatabaseCreateOperation> & WorldCollection.FromCompendiumOptions
69
+ >,
70
+ ): Promise<Document.ToStored<DocumentClass>>;
71
71
 
72
72
  /**
73
73
  * Apply data transformations when importing a Document from a Compendium pack
@@ -77,26 +77,15 @@ declare global {
77
77
  * @returns The processed data ready for world Document creation
78
78
  * @remarks FromCompendiumOptions is inflated to account for expanded downstream use
79
79
  */
80
- fromCompendium<
81
- FolderOpt extends boolean = false,
82
- SortOpt extends boolean = true,
83
- OwnershipOpt extends boolean = false,
84
- IdOpt extends boolean = false,
85
- >(
86
- document: Document.ToConfiguredInstance<T> | Document.ConstructorDataFor<T>,
87
- options?: InexactPartial<WorldCollection.FromCompendiumOptions<FolderOpt, SortOpt, OwnershipOpt, IdOpt>>,
88
- ): Omit<
89
- Document.ToConfiguredInstance<T>["_source"],
90
- | ClientDocument.OmitProperty<FolderOpt, "folder">
91
- | ClientDocument.OmitProperty<SortOpt, "sort" | "navigation" | "navOrder">
92
- | ClientDocument.OmitProperty<OwnershipOpt, "ownership">
93
- | (IdOpt extends false ? "_id" : never)
94
- >;
80
+ fromCompendium<Options extends WorldCollection.FromCompendiumOptions | undefined>(
81
+ document: FixedInstanceType<DocumentClass> | Document.CreateDataFor<DocumentClass>,
82
+ options?: Options,
83
+ ): WorldCollection.FromCompendiumReturnType<DocumentClass, Options>;
95
84
 
96
85
  /**
97
86
  * Register a Document sheet class as a candidate which can be used to display Documents of a given type.
98
- * See {@link DocumentSheetConfig.registerSheet} for details.
99
- * @see DocumentSheetConfig.registerSheet
87
+ * See {@link DocumentSheetConfig.registerSheet | `DocumentSheetConfig.registerSheet`} for details.
88
+ * @see {@link DocumentSheetConfig.registerSheet | `DocumentSheetConfig.registerSheet`}
100
89
  *
101
90
  * @example <caption>Register a new ActorSheet subclass for use with certain Actor types.</caption>
102
91
  * ```typescript
@@ -107,8 +96,8 @@ declare global {
107
96
 
108
97
  /**
109
98
  * Unregister a Document sheet class, removing it from the list of available sheet Applications to use.
110
- * See {@link DocumentSheetConfig.unregisterSheet} for details.
111
- * @see DocumentSheetConfig.unregisterSheet
99
+ * See {@link DocumentSheetConfig.unregisterSheet | `DocumentSheetConfig.unregisterSheet`} for details.
100
+ * @see {@link DocumentSheetConfig.unregisterSheet | `DocumentSheetConfig.unregisterSheet`}
112
101
  *
113
102
  * @example <caption>Deregister the default ActorSheet subclass to replace it with others.</caption>
114
103
  * Actors.unregisterSheet("core", ActorSheet);
@@ -118,48 +107,58 @@ declare global {
118
107
  /**
119
108
  * Return an array of currently registered sheet classes for this Document type.
120
109
  * @remarks
121
- * This is documented to return only {@link DocumentSheet}s but {@link DrawingConfig} is just a
122
- * {@link FormApplication}. See https://gitlab.com/foundrynet/foundryvtt/-/issues/6454.
110
+ * This is documented to return only {@link DocumentSheet | `DocumentSheet`}s but {@link DrawingConfig | `DrawingConfig`} is just a
111
+ * {@link FormApplication | `FormApplication`}. See https://gitlab.com/foundrynet/foundryvtt/-/issues/6454.
123
112
  */
124
- static get registeredSheets(): FormApplication[];
113
+ static get registeredSheets(): FormApplication.Any[];
125
114
  }
126
115
 
127
116
  namespace WorldCollection {
128
- interface FromCompendiumOptions<
129
- FolderOpt extends boolean = false,
130
- SortOpt extends boolean = true,
131
- OwnershipOpt extends boolean = false,
132
- IdOpt extends boolean = false,
133
- StateOpt extends boolean = false,
134
- > {
117
+ interface Any extends AnyWorldCollection {}
118
+ interface AnyConstructor extends Identity<typeof AnyWorldCollection> {}
119
+
120
+ interface FromCompendiumOptions {
135
121
  /**
136
122
  * Clear the currently assigned folder
137
123
  * @defaultValue `false`
138
124
  */
139
- clearFolder: FolderOpt;
125
+ clearFolder?: boolean | undefined;
140
126
 
141
127
  /**
142
128
  * Clear the currently sort order
143
129
  * @defaultValue `true`
144
130
  */
145
- clearSort: SortOpt;
131
+ clearSort?: boolean | undefined;
146
132
 
147
133
  /**
148
134
  * Clear Document ownership
149
135
  * @defaultValue `true`
150
136
  */
151
- clearOwnership: OwnershipOpt;
137
+ clearOwnership?: boolean | undefined;
152
138
 
153
139
  /**
154
140
  * Retain the Document ID from the source Compendium
155
141
  * @defaultValue `false`
156
142
  */
157
- keepId: IdOpt;
143
+ keepId?: boolean | undefined;
158
144
 
159
145
  /** @remarks used by Scenes#fromCompendium */
160
- clearState: StateOpt;
146
+ clearState?: boolean | undefined;
161
147
  }
148
+
149
+ type FromCompendiumReturnType<
150
+ DocumentClass extends Document.AnyConstructor,
151
+ Options extends FromCompendiumOptions | undefined,
152
+ > = Omit<
153
+ FixedInstanceType<DocumentClass>["_source"],
154
+ | ClientDocument._OmitProperty<GetKey<Options, "clearFolder", undefined>, false, "folder">
155
+ | ClientDocument._OmitProperty<GetKey<Options, "clearSort", undefined>, true, "sort" | "navigation" | "navOrder">
156
+ | ClientDocument._OmitProperty<GetKey<Options, "clearOwnership", undefined>, true, "ownership">
157
+ | (GetKey<Options, "keepId", undefined> extends true ? never : never)
158
+ >;
162
159
  }
163
160
  }
164
161
 
165
- type DropFirst<T extends Array<unknown>> = T extends [unknown, ...infer V] ? V : T;
162
+ declare abstract class AnyWorldCollection extends WorldCollection<Document.AnyConstructor, string> {
163
+ constructor(...args: never[]);
164
+ }
@@ -1,49 +1,51 @@
1
- import type { InexactPartial } from "../../../../types/utils.d.mts";
1
+ import type { Identity } from "#utils";
2
+ import type Document from "../../../common/abstract/document.d.mts";
2
3
 
3
4
  declare global {
4
5
  /**
5
6
  * The singleton collection of Actor documents which exist within the active World.
6
7
  * This Collection is accessible within the Game object as game.actors.
7
8
  *
8
- * @see {@link Actor} The Actor document
9
- * @see {@link ActorDirectory} The ActorDirectory sidebar directory
9
+ * @see {@link Actor | `Actor`} The Actor document
10
+ * @see {@link ActorDirectory | `ActorDirectory`} The ActorDirectory sidebar directory
10
11
  *
11
12
  * @example <caption>Retrieve an existing Actor by its id</caption>
12
13
  * ```typescript
13
14
  * let actor = game.actors.get(actorId);
14
15
  * ```
15
16
  */
16
- class Actors extends WorldCollection<typeof foundry.documents.BaseActor, "Actors"> {
17
+ class Actors extends WorldCollection<Actor.ImplementationClass, "Actors"> {
17
18
  /**
18
19
  * A mapping of synthetic Token Actors which are currently active within the viewed Scene.
19
20
  * Each Actor is referenced by the Token.id.
20
21
  */
21
- get tokens(): Partial<Record<string, Actor.ConfiguredInstance>>;
22
+ get tokens(): Partial<Record<string, Actor.Implementation>>;
22
23
 
23
24
  static documentName: "Actor";
24
25
 
25
- override fromCompendium<
26
- FolderOpt extends boolean = false,
27
- SortOpt extends boolean = true,
28
- OwnershipOpt extends boolean = false,
29
- IdOpt extends boolean = false,
30
- >(
31
- document: Actor.ConfiguredInstance | foundry.documents.BaseActor.ConstructorData,
32
- options?: InexactPartial<
33
- WorldCollection.FromCompendiumOptions<FolderOpt, SortOpt, OwnershipOpt, IdOpt> & {
34
- /**
35
- * Clear prototype token data to allow default token settings to be applied.
36
- * @defaultValue `true`
37
- */
38
- clearPrototypeToken: boolean;
39
- }
40
- >,
41
- ): Omit<
42
- Actor["_source"],
43
- | ClientDocument.OmitProperty<FolderOpt, "folder">
44
- | ClientDocument.OmitProperty<SortOpt, "sort" | "navigation" | "navOrder">
45
- | ClientDocument.OmitProperty<OwnershipOpt, "ownership">
46
- | (IdOpt extends false ? "_id" : never)
47
- >;
26
+ override fromCompendium<Options extends WorldCollection.FromCompendiumOptions | undefined>(
27
+ document: Actor.Implementation | foundry.documents.BaseActor.CreateData,
28
+ options?: Options,
29
+ ): WorldCollection.FromCompendiumReturnType<Actor.ImplementationClass, Options>;
48
30
  }
31
+
32
+ namespace Actors {
33
+ interface Any extends AnyActors {}
34
+ interface AnyConstructor extends Identity<typeof AnyActors> {}
35
+
36
+ interface ConfiguredClass extends Document.ConfiguredCollectionClass<"Actor"> {}
37
+ interface Configured extends Document.ConfiguredCollection<"Actor"> {}
38
+
39
+ interface FromCompendiumOptions extends WorldCollection.FromCompendiumOptions {
40
+ /**
41
+ * Clear prototype token data to allow default token settings to be applied.
42
+ * @defaultValue `true`
43
+ */
44
+ clearPrototypeToken: boolean;
45
+ }
46
+ }
47
+ }
48
+
49
+ declare abstract class AnyActors extends Actors {
50
+ constructor(...args: never);
49
51
  }