@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,63 +1,503 @@
1
- import type { FolderDocumentTypes } from "../../../../types/helperTypes.d.mts";
2
- import type { InexactPartial } from "../../../../types/utils.d.mts";
3
- // eslint-disable-next-line import/no-named-as-default
4
- import type DataModel from "../../../common/abstract/data.d.mts";
1
+ import type { AnyObject, FolderDocumentTypes, InexactPartial, Merge, NullishProps } from "#utils";
5
2
  import type { fields } from "../../../common/data/module.d.mts";
6
- import type { DocumentDatabaseOperations } from "../../../common/abstract/document.d.mts";
7
3
  import type Document from "../../../common/abstract/document.d.mts";
8
- import type BaseAdventure from "../../../common/documents/adventure.d.mts";
4
+ import type { DataSchema } from "../../../common/data/fields.d.mts";
5
+ import type DataModel from "#common/abstract/data.mjs";
9
6
 
10
7
  declare global {
11
8
  namespace Adventure {
12
- type Metadata = Document.MetadataFor<Adventure>;
9
+ /**
10
+ * The document's name.
11
+ */
12
+ type Name = "Adventure";
13
+
14
+ /**
15
+ * The arguments to construct the document.
16
+ */
17
+ type ConstructorArgs = Document.ConstructorParameters<CreateData, Parent>;
18
+
19
+ /**
20
+ * The documents embedded within `Adventure`.
21
+ */
22
+ type Hierarchy = Readonly<Document.HierarchyOf<Schema>>;
23
+
24
+ /**
25
+ * The implementation of the `Adventure` document instance configured through `CONFIG.Adventure.documentClass` in Foundry and
26
+ * {@link DocumentClassConfig | `DocumentClassConfig`} or {@link ConfiguredAdventure | `fvtt-types/configuration/ConfiguredAdventure`} in fvtt-types.
27
+ */
28
+ type Implementation = Document.ImplementationFor<Name>;
29
+
30
+ /**
31
+ * The implementation of the `Adventure` document configured through `CONFIG.Adventure.documentClass` in Foundry and
32
+ * {@link DocumentClassConfig | `DocumentClassConfig`} in fvtt-types.
33
+ */
34
+ type ImplementationClass = Document.ImplementationClassFor<Name>;
35
+
36
+ /**
37
+ * A document's metadata is special information about the document ranging anywhere from its name,
38
+ * whether it's indexed, or to the permissions a user has over it.
39
+ */
40
+ interface Metadata
41
+ extends Merge<
42
+ Document.Metadata.Default,
43
+ Readonly<{
44
+ name: "Adventure";
45
+ collection: "adventures";
46
+ compendiumIndexFields: ["_id", "name", "img", "sort", "folder"];
47
+ label: string;
48
+ labelPlural: string;
49
+ schemaVersion: string;
50
+ }>
51
+ > {}
52
+
53
+ // No need for Metadata namespace
54
+
55
+ /**
56
+ * A document's parent is something that can contain it.
57
+ * For example an `Item` can be contained by an `Actor` which makes `Actor` one of its possible parents.
58
+ */
59
+ type Parent = null;
60
+
61
+ /**
62
+ * A document's descendants are any child documents, grandchild documents, etc.
63
+ * This is a union of all instances, or never if the document doesn't have any descendants.
64
+ */
65
+ type Descendant = never;
66
+
67
+ /**
68
+ * A document's descendants are any child documents, grandchild documents, etc.
69
+ * This is a union of all classes, or never if the document doesn't have any descendants.
70
+ */
71
+ type DescendantClass = never;
72
+
73
+ /**
74
+ * Types of `CompendiumCollection` this document might be contained in.
75
+ * Note that `this.pack` will always return a string; this is the type for `game.packs.get(this.pack)`
76
+ */
77
+ // Note: Takes any document in the heritage chain (i.e. itself or any parent, transitive or not) that can be contained in a compendium.
78
+ type Pack = CompendiumCollection.ForDocument<"Adventure">;
79
+
80
+ /**
81
+ * An embedded document is a document contained in another.
82
+ * For example an `Item` can be contained by an `Actor` which means `Item` can be embedded in `Actor`.
83
+ *
84
+ * If this is `never` it is because there are no embeddable documents (or there's a bug!).
85
+ */
86
+ type Embedded = never;
87
+
88
+ /**
89
+ * The name of the world or embedded collection this document can find itself in.
90
+ * For example an `Item` is always going to be inside a collection with a key of `items`.
91
+ * This is a fixed string per document type and is primarily useful for {@link ClientDocumentMixin | `Descendant Document Events`}.
92
+ */
93
+ type ParentCollectionName = Metadata["collection"];
94
+
95
+ /**
96
+ * The world collection that contains this document type. Will be `never` if none exists.
97
+ */
98
+ type CollectionClass = never;
99
+
100
+ /**
101
+ * The world collection that contains this document type. Will be `never` if none exists.
102
+ */
103
+ type Collection = never;
104
+
105
+ /**
106
+ * An instance of `Adventure` that comes from the database but failed validation meaning that
107
+ * its `system` and `_source` could theoretically be anything.
108
+ */
109
+ interface Invalid extends Document.Invalid<Adventure.Implementation> {}
110
+
111
+ /**
112
+ * An instance of `Adventure` that comes from the database.
113
+ */
114
+ interface Stored extends Document.Stored<Adventure.Implementation> {}
115
+
116
+ /**
117
+ * The data put in {@link Adventure._source | `Adventure#_source`}. This data is what was
118
+ * persisted to the database and therefore it must be valid JSON.
119
+ *
120
+ * For example a {@link fields.SetField | `SetField`} is persisted to the database as an array
121
+ * but initialized as a {@link Set | `Set`}.
122
+ */
123
+ interface Source extends fields.SchemaField.SourceData<Schema> {}
124
+
125
+ /**
126
+ * @deprecated {@link Adventure.Source | `Adventure.Source`}
127
+ */
128
+ type PersistedData = Source;
129
+
130
+ /**
131
+ * The data necessary to create a document. Used in places like {@link Adventure.create | `Adventure.create`}
132
+ * and {@link Adventure | `new Adventure(...)`}.
133
+ *
134
+ * For example a {@link fields.SetField | `SetField`} can accept any {@link Iterable | `Iterable`}
135
+ * with the right values. This means you can pass a `Set` instance, an array of values,
136
+ * a generator, or any other iterable.
137
+ */
138
+ interface CreateData extends fields.SchemaField.CreateData<Schema> {}
139
+
140
+ /**
141
+ * The data after a {@link foundry.abstract.Document | `Document`} has been initialized, for example
142
+ * {@link Adventure.name | `Adventure#name`}.
143
+ *
144
+ * This is data transformed from {@link Adventure.Source | `Adventure.Source`} and turned into more
145
+ * convenient runtime data structures. For example a {@link fields.SetField | `SetField`} is
146
+ * persisted to the database as an array of values but at runtime it is a `Set` instance.
147
+ */
148
+ interface InitializedData extends fields.SchemaField.InitializedData<Schema> {}
149
+
150
+ /**
151
+ * The data used to update a document, for example {@link Adventure.update | `Adventure#update`}.
152
+ * It is a distinct type from {@link Adventure.CreateData | `DeepPartial<Adventure.CreateData>`} because
153
+ * it has different rules for `null` and `undefined`.
154
+ */
155
+ interface UpdateData extends fields.SchemaField.UpdateData<Schema> {}
156
+
157
+ /**
158
+ * The schema for {@link Adventure | `Adventure`}. This is the source of truth for how an Adventure document
159
+ * must be structured.
160
+ *
161
+ * Foundry uses this schema to validate the structure of the {@link Adventure | `Adventure`}. For example
162
+ * a {@link fields.StringField | `StringField`} will enforce that the value is a string. More
163
+ * complex fields like {@link fields.SetField | `SetField`} goes through various conversions
164
+ * starting as an array in the database, initialized as a set, and allows updates with any
165
+ * iterable.
166
+ */
167
+ interface Schema extends DataSchema {
168
+ /**
169
+ * The _id which uniquely identifies this Adventure document
170
+ * @defaultValue `null`
171
+ */
172
+ _id: fields.DocumentIdField;
173
+
174
+ /**
175
+ * The human-readable name of the Adventure
176
+ */
177
+ // FIXME: required with no initial, assignment type override required
178
+ name: fields.StringField<
179
+ {
180
+ required: true;
181
+ blank: false;
182
+ label: "ADVENTURE.Name";
183
+ hint: "ADVENTURE.NameHint";
184
+ textSearch: true;
185
+ },
186
+ string
187
+ >;
188
+
189
+ /**
190
+ * The file path for the primary image of the adventure
191
+ * @defaultValue `null`
192
+ */
193
+ img: fields.FilePathField<{ categories: ["IMAGE"]; label: "ADVENTURE.Image"; hint: "ADVENTURE.ImageHint" }>;
194
+
195
+ /**
196
+ * A string caption displayed under the primary image banner
197
+ * @defaultValue `""`
198
+ */
199
+ caption: fields.HTMLField<{ label: "ADVENTURE.Caption"; hint: "ADVENTURE.CaptionHint" }>;
200
+
201
+ /**
202
+ * An HTML text description for the adventure
203
+ * @defaultValue `""`
204
+ */
205
+ description: fields.HTMLField<{
206
+ label: "ADVENTURE.Description";
207
+ hint: "ADVENTURE.DescriptionHint";
208
+ textSearch: true;
209
+ }>;
210
+
211
+ /**
212
+ * An array of Actor documents which are included in the adventure
213
+ * @defaultValue `new Set()`
214
+ */
215
+ actors: fields.SetField<fields.EmbeddedDataField<typeof foundry.documents.BaseActor>>;
216
+
217
+ /**
218
+ * An array of Combat documents which are included in the adventure
219
+ * @defaultValue `new Set()`
220
+ */
221
+ combats: fields.SetField<fields.EmbeddedDataField<typeof foundry.documents.BaseCombat>>;
222
+
223
+ /**
224
+ * An array of Item documents which are included in the adventure
225
+ * @defaultValue `new Set()`
226
+ */
227
+ items: fields.SetField<fields.EmbeddedDataField<typeof foundry.documents.BaseItem>>;
228
+
229
+ /**
230
+ * An array of JournalEntry documents which are included in the adventure
231
+ * @defaultValue `new Set()`
232
+ */
233
+ journal: fields.SetField<fields.EmbeddedDataField<typeof foundry.documents.BaseJournalEntry>>;
13
234
 
14
- type ConfiguredClass = Document.ConfiguredClassForName<"Adventure">;
15
- type ConfiguredInstance = Document.ConfiguredInstanceForName<"Adventure">;
235
+ /**
236
+ * An array of Scene documents which are included in the adventure
237
+ * @defaultValue `new Set()`
238
+ */
239
+ scenes: fields.SetField<fields.EmbeddedDataField<typeof foundry.documents.BaseScene>>;
16
240
 
17
- interface DatabaseOperations extends DocumentDatabaseOperations<Adventure> {}
241
+ /**
242
+ * An array of RollTable documents which are included in the adventure
243
+ * @defaultValue `new Set()`
244
+ */
245
+ tables: fields.SetField<fields.EmbeddedDataField<typeof foundry.documents.BaseRollTable>>;
18
246
 
19
- // Helpful aliases
20
- type ConstructorData = BaseAdventure.ConstructorData;
21
- type UpdateData = BaseAdventure.UpdateData;
22
- type Schema = BaseAdventure.Schema;
23
- type Source = BaseAdventure.Source;
247
+ /**
248
+ * An array of Macro documents which are included in the adventure
249
+ * @defaultValue `new Set()`
250
+ */
251
+ macros: fields.SetField<fields.EmbeddedDataField<typeof foundry.documents.BaseMacro>>;
252
+
253
+ /**
254
+ * An array of Cards documents which are included in the adventure
255
+ * @defaultValue `new Set()`
256
+ */
257
+ cards: fields.SetField<fields.EmbeddedDataField<typeof foundry.documents.BaseCards>>;
258
+
259
+ /**
260
+ * An array of Playlist documents which are included in the adventure
261
+ * @defaultValue `new Set()`
262
+ */
263
+ playlists: fields.SetField<fields.EmbeddedDataField<typeof foundry.documents.BasePlaylist>>;
24
264
 
25
- interface PrepareImportOptions {
265
+ /**
266
+ * An array of Folder documents which are included in the adventure
267
+ * @defaultValue `new Set()`
268
+ */
269
+ folders: fields.SetField<fields.EmbeddedDataField<typeof foundry.documents.BaseFolder>>;
270
+
271
+ folder: fields.ForeignDocumentField<typeof foundry.documents.BaseFolder>;
272
+
273
+ /**
274
+ * The sort order of this adventure relative to its siblings
275
+ * @defaultValue `0`
276
+ */
277
+ sort: fields.IntegerSortField;
278
+
279
+ /**
280
+ * An object of optional key/value flags
281
+ * @defaultValue `{}`
282
+ */
283
+ flags: fields.ObjectField.FlagsField<Name>;
284
+
285
+ /**
286
+ * An object of creation and access information
287
+ * @defaultValue see {@link fields.DocumentStatsField | `fields.DocumentStatsField`}
288
+ */
289
+ _stats: fields.DocumentStatsField;
290
+ }
291
+
292
+ namespace Database {
293
+ /** Options passed along in Get operations for Adventures */
294
+ interface Get extends foundry.abstract.types.DatabaseGetOperation<Adventure.Parent> {}
295
+
296
+ /** Options passed along in Create operations for Adventures */
297
+ interface Create<Temporary extends boolean | undefined = boolean | undefined>
298
+ extends foundry.abstract.types.DatabaseCreateOperation<Adventure.CreateData, Adventure.Parent, Temporary> {}
299
+
300
+ /** Options passed along in Delete operations for Adventures */
301
+ interface Delete extends foundry.abstract.types.DatabaseDeleteOperation<Adventure.Parent> {}
302
+
303
+ /** Options passed along in Update operations for Adventures */
304
+ interface Update extends foundry.abstract.types.DatabaseUpdateOperation<Adventure.UpdateData, Adventure.Parent> {}
305
+
306
+ /** Operation for {@link Adventure.createDocuments | `Adventure.createDocuments`} */
307
+ interface CreateDocumentsOperation<Temporary extends boolean | undefined>
308
+ extends Document.Database.CreateOperation<Adventure.Database.Create<Temporary>> {}
309
+
310
+ /** Operation for {@link Adventure.updateDocuments | `Adventure.updateDocuments`} */
311
+ interface UpdateDocumentsOperation
312
+ extends Document.Database.UpdateDocumentsOperation<Adventure.Database.Update> {}
313
+
314
+ /** Operation for {@link Adventure.deleteDocuments | `Adventure.deleteDocuments`} */
315
+ interface DeleteDocumentsOperation
316
+ extends Document.Database.DeleteDocumentsOperation<Adventure.Database.Delete> {}
317
+
318
+ /** Operation for {@link Adventure.create | `Adventure.create`} */
319
+ interface CreateOperation<Temporary extends boolean | undefined>
320
+ extends Document.Database.CreateOperation<Adventure.Database.Create<Temporary>> {}
321
+
322
+ /** Operation for {@link Adventure.update | `Adventure#update`} */
323
+ interface UpdateOperation extends Document.Database.UpdateOperation<Update> {}
324
+
325
+ interface DeleteOperation extends Document.Database.DeleteOperation<Delete> {}
326
+
327
+ /** Options for {@link Adventure.get | `Adventure.get`} */
328
+ interface GetOptions extends Document.Database.GetOptions {}
329
+
330
+ /** Options for {@link Adventure._preCreate | `Adventure#_preCreate`} */
331
+ interface PreCreateOptions extends Document.Database.PreCreateOptions<Create> {}
332
+
333
+ /** Options for {@link Adventure._onCreate | `Adventure#_onCreate`} */
334
+ interface OnCreateOptions extends Document.Database.CreateOptions<Create> {}
335
+
336
+ /** Operation for {@link Adventure._preCreateOperation | `Adventure._preCreateOperation`} */
337
+ interface PreCreateOperation extends Document.Database.PreCreateOperationStatic<Adventure.Database.Create> {}
338
+
339
+ /** Operation for {@link Adventure._onCreateOperation | `Adventure#_onCreateOperation`} */
340
+ interface OnCreateOperation extends Adventure.Database.Create {}
341
+
342
+ /** Options for {@link Adventure._preUpdate | `Adventure#_preUpdate`} */
343
+ interface PreUpdateOptions extends Document.Database.PreUpdateOptions<Update> {}
344
+
345
+ /** Options for {@link Adventure._onUpdate | `Adventure#_onUpdate`} */
346
+ interface OnUpdateOptions extends Document.Database.UpdateOptions<Update> {}
347
+
348
+ /** Operation for {@link Adventure._preUpdateOperation | `Adventure._preUpdateOperation`} */
349
+ interface PreUpdateOperation extends Adventure.Database.Update {}
350
+
351
+ /** Operation for {@link Adventure._onUpdateOperation | `Adventure._preUpdateOperation`} */
352
+ interface OnUpdateOperation extends Adventure.Database.Update {}
353
+
354
+ /** Options for {@link Adventure._preDelete | `Adventure#_preDelete`} */
355
+ interface PreDeleteOptions extends Document.Database.PreDeleteOperationInstance<Delete> {}
356
+
357
+ /** Options for {@link Adventure._onDelete | `Adventure#_onDelete`} */
358
+ interface OnDeleteOptions extends Document.Database.DeleteOptions<Delete> {}
359
+
360
+ /** Options for {@link Adventure._preDeleteOperation | `Adventure#_preDeleteOperation`} */
361
+ interface PreDeleteOperation extends Adventure.Database.Delete {}
362
+
363
+ /** Options for {@link Adventure._onDeleteOperation | `Adventure#_onDeleteOperation`} */
364
+ interface OnDeleteOperation extends Adventure.Database.Delete {}
365
+
366
+ /** Context for {@link Adventure._onDeleteOperation | `Adventure._onDeleteOperation`} */
367
+ interface OnDeleteDocumentsContext extends Document.ModificationContext<Adventure.Parent> {}
368
+
369
+ /** Context for {@link Adventure._onCreateDocuments | `Adventure._onCreateDocuments`} */
370
+ interface OnCreateDocumentsContext extends Document.ModificationContext<Adventure.Parent> {}
371
+
372
+ /** Context for {@link Adventure._onUpdateDocuments | `Adventure._onUpdateDocuments`} */
373
+ interface OnUpdateDocumentsContext extends Document.ModificationContext<Adventure.Parent> {}
374
+
375
+ /**
376
+ * Options for {@link Adventure._preCreateDescendantDocuments | `Adventure#_preCreateDescendantDocuments`}
377
+ * and {@link Adventure._onCreateDescendantDocuments | `Adventure#_onCreateDescendantDocuments`}
378
+ */
379
+ interface CreateOptions extends Document.Database.CreateOptions<Adventure.Database.Create> {}
380
+
381
+ /**
382
+ * Options for {@link Adventure._preUpdateDescendantDocuments | `Adventure#_preUpdateDescendantDocuments`}
383
+ * and {@link Adventure._onUpdateDescendantDocuments | `Adventure#_onUpdateDescendantDocuments`}
384
+ */
385
+ interface UpdateOptions extends Document.Database.UpdateOptions<Adventure.Database.Update> {}
386
+
387
+ /**
388
+ * Options for {@link Adventure._preDeleteDescendantDocuments | `Adventure#_preDeleteDescendantDocuments`}
389
+ * and {@link Adventure._onDeleteDescendantDocuments | `Adventure#_onDeleteDescendantDocuments`}
390
+ */
391
+ interface DeleteOptions extends Document.Database.DeleteOptions<Adventure.Database.Delete> {}
392
+ }
393
+
394
+ /**
395
+ * The flags that are available for this document in the form `{ [scope: string]: { [key: string]: unknown } }`.
396
+ */
397
+ interface Flags extends Document.ConfiguredFlagsForName<Name> {}
398
+
399
+ namespace Flags {
400
+ /**
401
+ * The valid scopes for the flags on this document e.g. `"core"` or `"dnd5e"`.
402
+ */
403
+ type Scope = Document.FlagKeyOf<Flags>;
404
+
405
+ /**
406
+ * The valid keys for a certain scope for example if the scope is "core" then a valid key may be `"sheetLock"` or `"viewMode"`.
407
+ */
408
+ type Key<Scope extends Flags.Scope> = Document.FlagKeyOf<Document.FlagGetKey<Flags, Scope>>;
409
+
410
+ /**
411
+ * Gets the type of a particular flag given a `Scope` and a `Key`.
412
+ */
413
+ type Get<Scope extends Flags.Scope, Key extends Flags.Key<Scope>> = Document.GetFlag<Name, Scope, Key>;
414
+ }
415
+
416
+ type DocumentDataRecord = {
417
+ [K in ContainedDocumentType]?: Document.CreateDataForName<K>[];
418
+ };
419
+
420
+ type DocumentResult = {
421
+ [K in ContainedDocumentType]?: Document.ImplementationFor<K>[];
422
+ };
423
+
424
+ type ContainedDocumentType = Exclude<FolderDocumentTypes, "Adventure"> | "Folder";
425
+
426
+ interface ImportData {
427
+ toCreate: DocumentDataRecord;
428
+ toUpdate: DocumentDataRecord;
429
+ documentCount: number;
430
+ }
431
+
432
+ interface ImportResult {
433
+ created: DocumentResult;
434
+ updated: DocumentResult;
435
+ }
436
+
437
+ /** @internal */
438
+ type _PrepareImportOptions = InexactPartial<{
26
439
  /**
27
440
  * A subset of adventure fields to import.
441
+ * @defaultValue `[]`
442
+ * @remarks Can't be `null` as it only has a parameter default
28
443
  */
29
- // TODO: This isn't *quite* right as the keyof is including all the nevers.
30
444
  importFields: Array<keyof typeof foundry.documents.BaseAdventure.contentFields | "all">;
31
- }
445
+ }>;
446
+
447
+ interface PrepareImportOptions extends _PrepareImportOptions {}
32
448
 
33
- interface ImportOptions extends PrepareImportOptions {
449
+ /** @internal */
450
+ type _ImportOptions = NullishProps<{
34
451
  /**
35
452
  * Display a warning dialog if existing documents would be overwritten
36
453
  * @defaultValue `true`
37
454
  */
38
455
  dialog: boolean;
39
- }
456
+ }>;
457
+
458
+ interface ImportOptions extends _ImportOptions, PrepareImportOptions {}
459
+
460
+ /**
461
+ * @deprecated {@link Adventure.Database | `Adventure.DatabaseOperation`}
462
+ */
463
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
464
+ interface DatabaseOperations extends Document.Database.Operations<Adventure.Implementation> {}
465
+
466
+ /**
467
+ * @deprecated {@link Adventure.CreateData | `Adventure.CreateData`}
468
+ */
469
+ interface ConstructorData extends Adventure.CreateData {}
470
+
471
+ /**
472
+ * @deprecated {@link Adventure.implementation | `Adventure.ImplementationClass`}
473
+ */
474
+ type ConfiguredClass = ImplementationClass;
475
+
476
+ /**
477
+ * @deprecated {@link Adventure.Implementation | `Adventure.Implementation`}
478
+ */
479
+ type ConfiguredInstance = Implementation;
40
480
  }
41
481
 
42
482
  /**
43
- * The client-side Adventure document which extends the common {@link foundry.documents.BaseAdventure} model.
483
+ * The client-side Adventure document which extends the common {@link foundry.documents.BaseAdventure | `foundry.documents.BaseAdventure`} model.
44
484
  */
45
485
  class Adventure extends ClientDocumentMixin(foundry.documents.BaseAdventure) {
46
- static override metadata: Adventure.Metadata;
47
-
48
- static fromSource<Schema extends DataSchema>(
49
- source: fields.SchemaField.InnerAssignmentType<Schema>,
50
- {
51
- strict,
52
- ...context
53
- }?: DataModel.ConstructorOptions & {
54
- /**
55
- * Models created from trusted source data are validated non-strictly
56
- * @defaultValue `false`
57
- */
58
- strict?: boolean;
59
- },
60
- ): DataModel<Schema, DataModel.Any | null>;
486
+ /**
487
+ * @param data - Initial data from which to construct the `Adventure`
488
+ * @param context - Construction context options
489
+ */
490
+ constructor(...args: Adventure.ConstructorArgs);
491
+
492
+ /**
493
+ * @remarks If this creation is happening in a provided `pack`, and that pack is **not** system-specific,
494
+ * strips `Actor`s, `Item`s, and `Actor` and `Item` `Folders` from `source`s
495
+ */
496
+ // options: not null (parameter default only, destructured in super)
497
+ static override fromSource(
498
+ source: Adventure.CreateData,
499
+ context?: DataModel.FromSourceOptions,
500
+ ): Adventure.Implementation;
61
501
 
62
502
  /**
63
503
  * Perform a full import workflow of this Adventure.
@@ -65,41 +505,64 @@ declare global {
65
505
  * @param options - Options which configure and customize the import process
66
506
  * @returns The import result
67
507
  */
68
- import(options?: InexactPartial<Adventure.ImportOptions>): Promise<AdventureImportResult>;
508
+ // options: not null (destructured)
509
+ import(options?: Adventure.ImportOptions): Promise<Adventure.ImportResult>;
69
510
 
70
511
  /**
71
512
  * Prepare Adventure data for import into the World.
72
513
  * @param options - Options passed in from the import dialog to configure the import behavior
73
514
  * @returns A subset of adventure fields to import.
74
515
  */
75
- prepareImport(options?: InexactPartial<Adventure.PrepareImportOptions>): Promise<AdventureImportData>;
516
+ // options: not null (destructured)
517
+ prepareImport(options?: Adventure.PrepareImportOptions): Promise<Adventure.ImportData>;
76
518
 
77
519
  /**
78
520
  * Execute an Adventure import workflow, creating and updating documents in the World.
521
+ * @remarks Despite having a parameter default, neither `data` nor any of its keys are optional, as the keys themselves have no defaults,
522
+ * and `toCreate` and `toUpdate` get passed to `Object.entries` which throws on nullish values, and `documentCount`is used as a divisor
79
523
  */
80
- importContent(data?: InexactPartial<AdventureImportData>): Promise<AdventureImportResult>;
81
- }
524
+ importContent(data: Adventure.ImportData): Promise<Adventure.ImportResult>;
82
525
 
83
- interface AdventureImportData {
84
- toCreate?: DocumentDataRecord;
85
- toUpdate?: DocumentDataRecord;
86
- documentCount: number;
87
- }
526
+ /*
527
+ * After this point these are not really overridden methods.
528
+ * They are here because Foundry's documents are complex and have lots of edge cases.
529
+ * There are DRY ways of representing this but this ends up being harder to understand
530
+ * for end users extending these functions, especially for static methods. There are also a
531
+ * number of methods that don't make sense to call directly on `Document` like `createDocuments`,
532
+ * as there is no data that can safely construct every possible document. Finally keeping definitions
533
+ * separate like this helps against circularities.
534
+ */
88
535
 
89
- interface AdventureImportResult {
90
- created: DocumentResult;
91
- updated: DocumentResult;
92
- }
93
- }
536
+ // ClientDocument overrides
537
+
538
+ // Descendant Document operations have been left out because Adventure does not have any descendant documents.
94
539
 
95
- type DocumentDataRecord = {
96
- [K in AdventureDocumentTypes]?: foundry.data.fields.SchemaField.InnerAssignmentType<
97
- ReturnType<Document.ConfiguredClassForName<K>["defineSchema"]>
98
- >[];
99
- };
540
+ // context: not null (destructured)
541
+ static override defaultName(context?: Document.DefaultNameContext<"Adventure", Adventure.Parent>): string;
100
542
 
101
- type DocumentResult = {
102
- [K in AdventureDocumentTypes]?: InstanceType<Document.ConfiguredClassForName<K>>[];
103
- };
543
+ /** @remarks `context.parent` is required as creation requires one */
544
+ static override createDialog(
545
+ data: Document.CreateDialogData<Adventure.CreateData> | undefined,
546
+ context: Document.CreateDialogContext<"Adventure", Adventure.Parent>,
547
+ ): Promise<Adventure.Stored | null | undefined>;
104
548
 
105
- type AdventureDocumentTypes = Exclude<FolderDocumentTypes, "Adventure"> | "Folder";
549
+ // options: not null (parameter default only)
550
+ static override fromDropData(
551
+ data: Document.DropData<Adventure.Implementation>,
552
+ options?: AnyObject,
553
+ ): Promise<Adventure.Implementation | undefined>;
554
+
555
+ static override fromImport(
556
+ source: Adventure.Source,
557
+ context?: Document.FromImportContext<Adventure.Parent> | null,
558
+ ): Promise<Adventure.Implementation>;
559
+
560
+ override _onClickDocumentLink(event: MouseEvent): ClientDocument.OnClickDocumentLinkReturn;
561
+ }
562
+
563
+ /** @deprecated {@link Adventure.ImportData | `Adventure.ImportData`} */
564
+ type AdventureImportData = Adventure.ImportData;
565
+
566
+ /** @deprecated {@link Adventure.ImportResult | `Adventure.ImportResult`} */
567
+ type AdventureImportResult = Adventure.ImportResult;
568
+ }