@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,55 +1,525 @@
1
- import type { BaseJournalEntry, BaseUser } from "../../../common/documents/_module.d.mts";
2
- import type { DocumentDatabaseOperations } from "../../../common/abstract/document.d.mts";
1
+ import type { AnyObject, InterfaceToObject, Merge, ValueOf } from "#utils";
3
2
  import type Document from "../../../common/abstract/document.d.mts";
3
+ import type { fields } from "../../../common/data/module.d.mts";
4
+ import type { documents } from "../../../client-esm/client.d.mts";
5
+ import type { DataSchema } from "../../../common/data/fields.d.mts";
4
6
 
5
7
  declare global {
6
8
  namespace JournalEntry {
7
- type Metadata = Document.MetadataFor<JournalEntry>;
9
+ /**
10
+ * The document's name.
11
+ */
12
+ type Name = "JournalEntry";
13
+
14
+ /**
15
+ * The arguments to construct the document.
16
+ */
17
+ type ConstructorArgs = Document.ConstructorParameters<CreateData, Parent>;
18
+
19
+ /**
20
+ * The documents embedded within `JournalEntry`.
21
+ */
22
+ type Hierarchy = Readonly<Document.HierarchyOf<Schema>>;
23
+
24
+ /**
25
+ * The implementation of the `JournalEntry` document instance configured through `CONFIG.JournalEntry.documentClass` in Foundry and
26
+ * {@link DocumentClassConfig | `DocumentClassConfig`} or {@link ConfiguredJournalEntry | `fvtt-types/configuration/ConfiguredJournalEntry`} in fvtt-types.
27
+ */
28
+ type Implementation = Document.ImplementationFor<Name>;
29
+
30
+ /**
31
+ * The implementation of the `JournalEntry` document configured through `CONFIG.JournalEntry.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: "JournalEntry";
45
+ collection: "journal";
46
+ indexed: true;
47
+ compendiumIndexFields: ["_id", "name", "sort", "folder"];
48
+ embedded: Metadata.Embedded;
49
+ label: string;
50
+ labelPlural: string;
51
+ permissions: Metadata.Permissions;
52
+ schemaVersion: string;
53
+ }>
54
+ > {}
55
+
56
+ namespace Metadata {
57
+ /**
58
+ * The embedded metadata
59
+ */
60
+ interface Embedded {
61
+ JournalEntryPage: "pages";
62
+ }
63
+
64
+ /**
65
+ * The permissions for whether a certain user can create, update, or delete this document.
66
+ */
67
+ interface Permissions {
68
+ create: "JOURNAL_CREATE";
69
+ }
70
+ }
71
+
72
+ /**
73
+ * A document's parent is something that can contain it.
74
+ * For example an `Item` can be contained by an `Actor` which makes `Actor` one of its possible parents.
75
+ */
76
+ type Parent = null;
77
+
78
+ /**
79
+ * A document's direct descendants are documents that are contained directly within its schema.
80
+ * This is a union of all such instances, or never if the document doesn't have any descendants.
81
+ */
82
+ type DirectDescendant = JournalEntryPage.Stored;
83
+
84
+ /**
85
+ * A document's direct descendants are documents that are contained directly within its schema.
86
+ * This is a union of all such classes, or never if the document doesn't have any descendants.
87
+ */
88
+ type DirectDescendantClass = JournalEntryPage.ImplementationClass;
89
+
90
+ /**
91
+ * A document's descendants are any documents that are contained within, either within its schema
92
+ * or its descendant's schemas.
93
+ * This is a union of all such instances, or never if the document doesn't have any descendants.
94
+ */
95
+ type Descendant = DirectDescendant;
96
+
97
+ /**
98
+ * A document's descendants are any child documents, grandchild documents, etc.
99
+ * This is a union of all classes, or never if the document doesn't have any descendants.
100
+ */
101
+ type DescendantClass = DirectDescendantClass;
102
+
103
+ /**
104
+ * Types of `CompendiumCollection` this document might be contained in.
105
+ * Note that `this.pack` will always return a string; this is the type for `game.packs.get(this.pack)`
106
+ */
107
+ // Note: Takes any document in the heritage chain (i.e. itself or any parent, transitive or not) that can be contained in a compendium.
108
+ type Pack = CompendiumCollection.ForDocument<"JournalEntry">;
109
+
110
+ /**
111
+ * An embedded document is a document contained in another.
112
+ * For example an `Item` can be contained by an `Actor` which means `Item` can be embedded in `Actor`.
113
+ *
114
+ * If this is `never` it is because there are no embeddable documents (or there's a bug!).
115
+ */
116
+ type Embedded = Document.ImplementationFor<Embedded.Name>;
117
+
118
+ namespace Embedded {
119
+ /**
120
+ * An embedded document is a document contained in another.
121
+ * For example an `Item` can be contained by an `Actor` which means `Item` can be embedded in `Actor`.
122
+ *
123
+ * If this is `never` it is because there are no embeddable documents (or there's a bug!).
124
+ */
125
+ type Name = keyof Metadata.Embedded;
126
+
127
+ /**
128
+ * Gets the collection name for an embedded document.
129
+ */
130
+ type CollectionNameOf<CollectionName extends Embedded.CollectionName> = Document.Embedded.CollectionNameFor<
131
+ Metadata.Embedded,
132
+ CollectionName
133
+ >;
134
+
135
+ /**
136
+ * Gets the collection document for an embedded document.
137
+ */
138
+ // TODO(LukeAbby): There's a circularity. Should be `Document.Embedded.CollectionDocumentFor<Metadata.Embedded, CollectionName>`
139
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
140
+ type DocumentFor<CollectionName extends Embedded.CollectionName> = Document.Any;
141
+
142
+ /**
143
+ * Gets the collection for an embedded document.
144
+ */
145
+ type CollectionFor<CollectionName extends Embedded.CollectionName> = Document.Embedded.CollectionFor<
146
+ // TODO(LukeAbby): This should be `TokenDocument.Implementation` but this causes a circularity.
147
+ Document.Any,
148
+ Metadata.Embedded,
149
+ CollectionName
150
+ >;
151
+
152
+ /**
153
+ * A valid name to refer to a collection embedded in this document. For example an `Actor`
154
+ * has the key `"items"` which contains `Item` instance which would make both `"Item" | "Items"`
155
+ * valid keys (amongst others).
156
+ */
157
+ type CollectionName = Document.Embedded.CollectionName<Metadata.Embedded>;
158
+ }
159
+
160
+ /**
161
+ * The name of the world or embedded collection this document can find itself in.
162
+ * For example an `Item` is always going to be inside a collection with a key of `items`.
163
+ * This is a fixed string per document type and is primarily useful for {@link ClientDocumentMixin | `Descendant Document Events`}.
164
+ */
165
+ type ParentCollectionName = Metadata["collection"];
166
+
167
+ /**
168
+ * The world collection that contains `JournalEntry`s. Will be `never` if none exists.
169
+ */
170
+ type CollectionClass = Journal.ConfiguredClass;
171
+
172
+ /**
173
+ * The world collection that contains `JournalEntry`s. Will be `never` if none exists.
174
+ */
175
+ type Collection = Journal.Configured;
176
+
177
+ /**
178
+ * An instance of `JournalEntry` that comes from the database but failed validation meaning that
179
+ * its `system` and `_source` could theoretically be anything.
180
+ */
181
+ interface Invalid extends Document.Invalid<JournalEntry.Implementation> {}
182
+
183
+ /**
184
+ * An instance of `JournalEntry` that comes from the database.
185
+ */
186
+ interface Stored extends Document.Stored<JournalEntry.Implementation> {}
187
+
188
+ /**
189
+ * The data put in {@link JournalEntry._source | `JournalEntry#_source`}. This data is what was
190
+ * persisted to the database and therefore it must be valid JSON.
191
+ *
192
+ * For example a {@link fields.SetField | `SetField`} is persisted to the database as an array
193
+ * but initialized as a {@link Set | `Set`}.
194
+ */
195
+ interface Source extends fields.SchemaField.SourceData<Schema> {}
196
+
197
+ /**
198
+ * @deprecated {@link JournalEntry.Source | `JournalEntry.Source`}
199
+ */
200
+ type PersistedData = Source;
201
+
202
+ /**
203
+ * The data necessary to create a document. Used in places like {@link JournalEntry.create | `JournalEntry.create`}
204
+ * and {@link JournalEntry | `new JournalEntry(...)`}.
205
+ *
206
+ * For example a {@link fields.SetField | `SetField`} can accept any {@link Iterable | `Iterable`}
207
+ * with the right values. This means you can pass a `Set` instance, an array of values,
208
+ * a generator, or any other iterable.
209
+ */
210
+ interface CreateData extends fields.SchemaField.CreateData<Schema> {}
211
+
212
+ /**
213
+ * The data after a {@link foundry.abstract.Document | `Document`} has been initialized, for example
214
+ * {@link JournalEntry.name | `JournalEntry#name`}.
215
+ *
216
+ * This is data transformed from {@link JournalEntry.Source | `JournalEntry.Source`} and turned into more
217
+ * convenient runtime data structures. For example a {@link fields.SetField | `SetField`} is
218
+ * persisted to the database as an array of values but at runtime it is a `Set` instance.
219
+ */
220
+ interface InitializedData extends fields.SchemaField.InitializedData<Schema> {}
221
+
222
+ /**
223
+ * The data used to update a document, for example {@link JournalEntry.update | `JournalEntry#update`}.
224
+ * It is a distinct type from {@link JournalEntry.CreateData | `DeepPartial<JournalEntry.CreateData>`} because
225
+ * it has different rules for `null` and `undefined`.
226
+ */
227
+ interface UpdateData extends fields.SchemaField.UpdateData<Schema> {}
228
+
229
+ /**
230
+ * The schema for {@link JournalEntry | `JournalEntry`}. This is the source of truth for how an JournalEntry document
231
+ * must be structured.
232
+ *
233
+ * Foundry uses this schema to validate the structure of the {@link JournalEntry | `JournalEntry`}. For example
234
+ * a {@link fields.StringField | `StringField`} will enforce that the value is a string. More
235
+ * complex fields like {@link fields.SetField | `SetField`} goes through various conversions
236
+ * starting as an array in the database, initialized as a set, and allows updates with any
237
+ * iterable.
238
+ */
239
+ interface Schema extends DataSchema {
240
+ /**
241
+ * The _id which uniquely identifies this JournalEntry document
242
+ * @defaultValue `null`
243
+ */
244
+ _id: fields.DocumentIdField;
245
+
246
+ /**
247
+ * The name of this JournalEntry
248
+ */
249
+ // FIXME: This field is `required` with no `initial`, so actually required for construction; Currently an AssignmentType override is required to enforce this
250
+ name: fields.StringField<{ required: true; blank: false; textSearch: true }, string>;
251
+
252
+ /**
253
+ * The pages contained within this JournalEntry document
254
+ * @defaultValue `[]`
255
+ */
256
+ pages: fields.EmbeddedCollectionField<typeof documents.BaseJournalEntryPage, JournalEntry.Implementation>;
257
+
258
+ /**
259
+ * The _id of a Folder which contains this JournalEntry
260
+ * @defaultValue `null`
261
+ */
262
+ folder: fields.ForeignDocumentField<typeof documents.BaseFolder>;
263
+
264
+ /**
265
+ * The numeric sort value which orders this JournalEntry relative to its siblings
266
+ * @defaultValue `0`
267
+ */
268
+ sort: fields.IntegerSortField;
269
+
270
+ /**
271
+ * An object which configures ownership of this JournalEntry
272
+ * @defaultValue see {@link fields.DocumentOwnershipField | `fields.DocumentOwnershipField`}
273
+ */
274
+ ownership: fields.DocumentOwnershipField;
275
+
276
+ /**
277
+ * An object of optional key/value flags
278
+ * @defaultValue `{}`
279
+ */
280
+ flags: fields.ObjectField.FlagsField<Name, InterfaceToObject<CoreFlags>>;
281
+
282
+ /**
283
+ * An object of creation and access information
284
+ * @defaultValue see {@link fields.DocumentStatsField | `fields.DocumentStatsField`}
285
+ */
286
+ _stats: fields.DocumentStatsField;
287
+ }
8
288
 
9
- type ConfiguredClass = Document.ConfiguredClassForName<"JournalEntry">;
10
- type ConfiguredInstance = Document.ConfiguredInstanceForName<"JournalEntry">;
289
+ namespace Database {
290
+ /** Options passed along in Get operations for JournalEntries */
291
+ interface Get extends foundry.abstract.types.DatabaseGetOperation<JournalEntry.Parent> {}
11
292
 
12
- interface DatabaseOperations extends DocumentDatabaseOperations<JournalEntry> {}
293
+ /** Options passed along in Create operations for JournalEntries */
294
+ interface Create<Temporary extends boolean | undefined = boolean | undefined>
295
+ extends foundry.abstract.types.DatabaseCreateOperation<
296
+ JournalEntry.CreateData,
297
+ JournalEntry.Parent,
298
+ Temporary
299
+ > {}
13
300
 
14
- // Helpful aliases
15
- type ConstructorData = BaseJournalEntry.ConstructorData;
16
- type UpdateData = BaseJournalEntry.UpdateData;
17
- type Schema = BaseJournalEntry.Schema;
18
- type Source = BaseJournalEntry.Source;
301
+ /** Options passed along in Delete operations for JournalEntries */
302
+ interface Delete extends foundry.abstract.types.DatabaseDeleteOperation<JournalEntry.Parent> {}
303
+
304
+ /** Options passed along in Update operations for JournalEntries */
305
+ interface Update
306
+ extends foundry.abstract.types.DatabaseUpdateOperation<JournalEntry.UpdateData, JournalEntry.Parent> {}
307
+
308
+ /** Operation for {@link JournalEntry.createDocuments | `JournalEntry.createDocuments`} */
309
+ interface CreateDocumentsOperation<Temporary extends boolean | undefined>
310
+ extends Document.Database.CreateOperation<JournalEntry.Database.Create<Temporary>> {}
311
+
312
+ /** Operation for {@link JournalEntry.updateDocuments | `JournalEntry.updateDocuments`} */
313
+ interface UpdateDocumentsOperation
314
+ extends Document.Database.UpdateDocumentsOperation<JournalEntry.Database.Update> {}
315
+
316
+ /** Operation for {@link JournalEntry.deleteDocuments | `JournalEntry.deleteDocuments`} */
317
+ interface DeleteDocumentsOperation
318
+ extends Document.Database.DeleteDocumentsOperation<JournalEntry.Database.Delete> {}
319
+
320
+ /** Operation for {@link JournalEntry.create | `JournalEntry.create`} */
321
+ interface CreateOperation<Temporary extends boolean | undefined>
322
+ extends Document.Database.CreateOperation<JournalEntry.Database.Create<Temporary>> {}
323
+
324
+ /** Operation for {@link JournalEntry.update | `JournalEntry#update`} */
325
+ interface UpdateOperation extends Document.Database.UpdateOperation<Update> {}
326
+
327
+ interface DeleteOperation extends Document.Database.DeleteOperation<Delete> {}
328
+
329
+ /** Options for {@link JournalEntry.get | `JournalEntry.get`} */
330
+ interface GetOptions extends Document.Database.GetOptions {}
331
+
332
+ /** Options for {@link JournalEntry._preCreate | `JournalEntry#_preCreate`} */
333
+ interface PreCreateOptions extends Document.Database.PreCreateOptions<Create> {}
334
+
335
+ /** Options for {@link JournalEntry._onCreate | `JournalEntry#_onCreate`} */
336
+ interface OnCreateOptions extends Document.Database.CreateOptions<Create> {}
337
+
338
+ /** Operation for {@link JournalEntry._preCreateOperation | `JournalEntry._preCreateOperation`} */
339
+ interface PreCreateOperation extends Document.Database.PreCreateOperationStatic<JournalEntry.Database.Create> {}
340
+
341
+ /** Operation for {@link JournalEntry._onCreateOperation | `JournalEntry#_onCreateOperation`} */
342
+ interface OnCreateOperation extends JournalEntry.Database.Create {}
343
+
344
+ /** Options for {@link JournalEntry._preUpdate | `JournalEntry#_preUpdate`} */
345
+ interface PreUpdateOptions extends Document.Database.PreUpdateOptions<Update> {}
346
+
347
+ /** Options for {@link JournalEntry._onUpdate | `JournalEntry#_onUpdate`} */
348
+ interface OnUpdateOptions extends Document.Database.UpdateOptions<Update> {}
349
+
350
+ /** Operation for {@link JournalEntry._preUpdateOperation | `JournalEntry._preUpdateOperation`} */
351
+ interface PreUpdateOperation extends JournalEntry.Database.Update {}
352
+
353
+ /** Operation for {@link JournalEntry._onUpdateOperation | `JournalEntry._preUpdateOperation`} */
354
+ interface OnUpdateOperation extends JournalEntry.Database.Update {}
355
+
356
+ /** Options for {@link JournalEntry._preDelete | `JournalEntry#_preDelete`} */
357
+ interface PreDeleteOptions extends Document.Database.PreDeleteOperationInstance<Delete> {}
358
+
359
+ /** Options for {@link JournalEntry._onDelete | `JournalEntry#_onDelete`} */
360
+ interface OnDeleteOptions extends Document.Database.DeleteOptions<Delete> {}
361
+
362
+ /** Options for {@link JournalEntry._preDeleteOperation | `JournalEntry#_preDeleteOperation`} */
363
+ interface PreDeleteOperation extends JournalEntry.Database.Delete {}
364
+
365
+ /** Options for {@link JournalEntry._onDeleteOperation | `JournalEntry#_onDeleteOperation`} */
366
+ interface OnDeleteOperation extends JournalEntry.Database.Delete {}
367
+
368
+ /** Context for {@link JournalEntry._onDeleteOperation | `JournalEntry._onDeleteOperation`} */
369
+ interface OnDeleteDocumentsContext extends Document.ModificationContext<JournalEntry.Parent> {}
370
+
371
+ /** Context for {@link JournalEntry._onCreateDocuments | `JournalEntry._onCreateDocuments`} */
372
+ interface OnCreateDocumentsContext extends Document.ModificationContext<JournalEntry.Parent> {}
373
+
374
+ /** Context for {@link JournalEntry._onUpdateDocuments | `JournalEntry._onUpdateDocuments`} */
375
+ interface OnUpdateDocumentsContext extends Document.ModificationContext<JournalEntry.Parent> {}
376
+
377
+ /**
378
+ * Options for {@link JournalEntry._preCreateDescendantDocuments | `JournalEntry#_preCreateDescendantDocuments`}
379
+ * and {@link JournalEntry._onCreateDescendantDocuments | `JournalEntry#_onCreateDescendantDocuments`}
380
+ */
381
+ interface CreateOptions extends Document.Database.CreateOptions<JournalEntry.Database.Create> {}
382
+
383
+ /**
384
+ * Options for {@link JournalEntry._preUpdateDescendantDocuments | `JournalEntry#_preUpdateDescendantDocuments`}
385
+ * and {@link JournalEntry._onUpdateDescendantDocuments | `JournalEntry#_onUpdateDescendantDocuments`}
386
+ */
387
+ interface UpdateOptions extends Document.Database.UpdateOptions<JournalEntry.Database.Update> {}
388
+
389
+ /**
390
+ * Options for {@link JournalEntry._preDeleteDescendantDocuments | `JournalEntry#_preDeleteDescendantDocuments`}
391
+ * and {@link JournalEntry._onDeleteDescendantDocuments | `JournalEntry#_onDeleteDescendantDocuments`}
392
+ */
393
+ interface DeleteOptions extends Document.Database.DeleteOptions<JournalEntry.Database.Delete> {}
394
+ }
395
+
396
+ /**
397
+ * The flags that are available for this document in the form `{ [scope: string]: { [key: string]: unknown } }`.
398
+ */
399
+ interface Flags extends Document.ConfiguredFlagsForName<Name> {}
400
+
401
+ namespace Flags {
402
+ /**
403
+ * The valid scopes for the flags on this document e.g. `"core"` or `"dnd5e"`.
404
+ */
405
+ type Scope = Document.FlagKeyOf<Flags>;
406
+
407
+ /**
408
+ * The valid keys for a certain scope for example if the scope is "core" then a valid key may be `"sheetLock"` or `"viewMode"`.
409
+ */
410
+ type Key<Scope extends Flags.Scope> = Document.FlagKeyOf<Document.FlagGetKey<Flags, Scope>>;
411
+
412
+ /**
413
+ * Gets the type of a particular flag given a `Scope` and a `Key`.
414
+ */
415
+ type Get<Scope extends Flags.Scope, Key extends Flags.Key<Scope>> = Document.GetFlag<Name, Scope, Key>;
416
+ }
417
+
418
+ type PreCreateDescendantDocumentsArgs = Document.PreCreateDescendantDocumentsArgs<
419
+ JournalEntry.Stored,
420
+ JournalEntry.DirectDescendant,
421
+ JournalEntry.Metadata.Embedded
422
+ >;
423
+
424
+ type OnCreateDescendantDocumentsArgs = Document.OnCreateDescendantDocumentsArgs<
425
+ JournalEntry.Stored,
426
+ JournalEntry.DirectDescendant,
427
+ JournalEntry.Metadata.Embedded
428
+ >;
429
+
430
+ type PreUpdateDescendantDocumentsArgs = Document.PreUpdateDescendantDocumentsArgs<
431
+ JournalEntry.Stored,
432
+ JournalEntry.DirectDescendant,
433
+ JournalEntry.Metadata.Embedded
434
+ >;
435
+
436
+ type OnUpdateDescendantDocumentsArgs = Document.OnUpdateDescendantDocumentsArgs<
437
+ JournalEntry.Stored,
438
+ JournalEntry.DirectDescendant,
439
+ JournalEntry.Metadata.Embedded
440
+ >;
441
+
442
+ type PreDeleteDescendantDocumentsArgs = Document.PreDeleteDescendantDocumentsArgs<
443
+ JournalEntry.Stored,
444
+ JournalEntry.DirectDescendant,
445
+ JournalEntry.Metadata.Embedded
446
+ >;
447
+
448
+ type OnDeleteDescendantDocumentsArgs = Document.OnDeleteDescendantDocumentsArgs<
449
+ JournalEntry.Stored,
450
+ JournalEntry.DirectDescendant,
451
+ JournalEntry.Metadata.Embedded
452
+ >;
453
+
454
+ interface CoreFlags {
455
+ core?: {
456
+ viewMode?: ValueOf<typeof JournalSheet.VIEW_MODES>;
457
+ searchMode?: CONST.DIRECTORY_SEARCH_MODES;
458
+ };
459
+ }
460
+
461
+ /**
462
+ * @deprecated {@link JournalEntry.Database | `JournalEntry.DatabaseOperation`}
463
+ */
464
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
465
+ interface DatabaseOperations extends Document.Database.Operations<JournalEntry.Implementation> {}
466
+
467
+ /**
468
+ * @deprecated {@link JournalEntry.CreateData | `JournalEntry.CreateData`}
469
+ */
470
+ interface ConstructorData extends JournalEntry.CreateData {}
471
+
472
+ /**
473
+ * @deprecated {@link JournalEntry.implementation | `JournalEntry.ImplementationClass`}
474
+ */
475
+ type ConfiguredClass = ImplementationClass;
476
+
477
+ /**
478
+ * @deprecated {@link JournalEntry.Implementation | `JournalEntry.Implementation`}
479
+ */
480
+ type ConfiguredInstance = Implementation;
19
481
  }
20
482
 
21
483
  /**
22
484
  * The client-side JournalEntry document which extends the common BaseJournalEntry model.
23
485
  *
24
- * @see {@link Journal} The world-level collection of JournalEntry documents
25
- * @see {@link JournalSheet} The JournalEntry configuration application
486
+ * @see {@link Journal | `Journal`} The world-level collection of JournalEntry documents
487
+ * @see {@link JournalSheet | `JournalSheet`} The JournalEntry configuration application
26
488
  */
27
489
  class JournalEntry extends ClientDocumentMixin(foundry.documents.BaseJournalEntry) {
28
- static override metadata: JournalEntry.Metadata;
490
+ /**
491
+ * @param data - Initial data from which to construct the `JournalEntry`
492
+ * @param context - Construction context options
493
+ */
494
+ constructor(...args: JournalEntry.ConstructorArgs);
29
495
 
30
496
  /**
31
497
  * A boolean indicator for whether or not the JournalEntry is visible to the current user in the directory sidebar
32
498
  */
33
499
  get visible(): boolean;
34
500
 
35
- override getUserLevel(user: BaseUser): foundry.CONST.DOCUMENT_OWNERSHIP_LEVELS | null;
501
+ /**
502
+ * @remarks "Upgrade to OBSERVER ownership if the journal entry is in a LIMITED compendium,
503
+ * as LIMITED has no special meaning for journal entries in this context."
504
+ */
505
+ // user: not null (parameter default only where forwarded)
506
+ override getUserLevel(user?: User.Implementation): foundry.CONST.DOCUMENT_OWNERSHIP_LEVELS | null;
36
507
 
37
508
  /**
38
509
  * Return a reference to the Note instance for this Journal Entry in the current Scene, if any.
39
510
  * If multiple notes are placed for this Journal Entry, only the first will be returned.
40
511
  */
41
- get sceneNote(): Note | null;
512
+ get sceneNote(): Note.Object | null;
42
513
 
43
514
  /**
44
515
  * Show the JournalEntry to connected players.
45
516
  * By default the entry will only be shown to players who have permission to observe it.
46
517
  * If the parameter force is passed, the entry will be shown to all players regardless of normal permission.
47
518
  *
48
- * @param force - Display the entry to all players regardless of normal permissions
49
- * (default: `false`)
519
+ * @param force - Display the entry to all players regardless of normal permissions (default: `false`)
50
520
  * @returns A Promise that resolves back to the shown entry once the request is processed
51
521
  */
52
- show(force?: boolean): Promise<this>;
522
+ show(force?: boolean | null): Promise<this>;
53
523
 
54
524
  /**
55
525
  * If the JournalEntry has a pinned note on the canvas, this method will animate to that note
@@ -57,25 +527,151 @@ declare global {
57
527
  * @param options - Options which modify the pan operation
58
528
  * @returns A Promise which resolves once the pan animation has concluded
59
529
  */
60
- panToNote(options?: PanToNoteOptions): Promise<void>;
530
+ // options: not null (parameter default only, destructured where forwarded)
531
+ panToNote(options?: NotesLayer.PanToNoteOptions): Promise<void>;
532
+
533
+ // _onUpdate and _onDelete are overridden but with no signature changes from their definition in BaseJournalEntry.
534
+
535
+ /*
536
+ * After this point these are not really overridden methods.
537
+ * They are here because Foundry's documents are complex and have lots of edge cases.
538
+ * There are DRY ways of representing this but this ends up being harder to understand
539
+ * for end users extending these functions, especially for static methods. There are also a
540
+ * number of methods that don't make sense to call directly on `Document` like `createDocuments`,
541
+ * as there is no data that can safely construct every possible document. Finally keeping definitions
542
+ * separate like this helps against circularities.
543
+ */
544
+
545
+ // ClientDocument overrides
61
546
 
62
547
  /**
63
- * @privateRemarks _onUpdate and _onDelete are all overridden but with no signature changes.
64
- * For type simplicity they are left off. These methods historically have been the source of a large amount of computation from tsc.
548
+ * @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
549
+ * this method must be overridden like so:
550
+ * ```typescript
551
+ * class SwadeCards extends Cards {
552
+ * protected override _preCreateDescendantDocuments(...args: Cards.PreCreateDescendantDocumentsArgs) {
553
+ * super._preCreateDescendantDocuments(...args);
554
+ *
555
+ * const [parent, collection, data, options, userId] = args;
556
+ * if (collection === "cards") {
557
+ * options; // Will be narrowed.
558
+ * }
559
+ * }
560
+ * }
561
+ * ```
65
562
  */
66
- }
67
- }
563
+ protected override _preCreateDescendantDocuments(...args: Cards.PreCreateDescendantDocumentsArgs): void;
68
564
 
69
- interface PanToNoteOptions {
70
- /**
71
- * The speed of the pan animation in milliseconds
72
- * @defaultValue `250`
73
- */
74
- duration?: number;
565
+ /**
566
+ * @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
567
+ * this method must be overridden like so:
568
+ * ```typescript
569
+ * class GurpsCards extends Cards {
570
+ * protected override _onCreateDescendantDocuments(...args: Cards.OnCreateDescendantDocumentsArgs) {
571
+ * super._onCreateDescendantDocuments(...args);
572
+ *
573
+ * const [parent, collection, documents, data, options, userId] = args;
574
+ * if (collection === "cards") {
575
+ * options; // Will be narrowed.
576
+ * }
577
+ * }
578
+ * }
579
+ * ```
580
+ */
581
+ protected override _onCreateDescendantDocuments(...args: Cards.OnCreateDescendantDocumentsArgs): void;
75
582
 
76
- /**
77
- * The resulting zoom level
78
- * @defaultValue `1.5`
79
- */
80
- scale?: number;
583
+ /**
584
+ * @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
585
+ * this method must be overridden like so:
586
+ * ```typescript
587
+ * class LancerCards extends Cards {
588
+ * protected override _preUpdateDescendantDocuments(...args: Cards.OnUpdateDescendantDocuments) {
589
+ * super._preUpdateDescendantDocuments(...args);
590
+ *
591
+ * const [parent, collection, changes, options, userId] = args;
592
+ * if (collection === "cards") {
593
+ * options; // Will be narrowed.
594
+ * }
595
+ * }
596
+ * }
597
+ * ```
598
+ */
599
+ protected override _preUpdateDescendantDocuments(...args: Cards.PreUpdateDescendantDocumentsArgs): void;
600
+
601
+ /**
602
+ * @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
603
+ * this method must be overridden like so:
604
+ * ```typescript
605
+ * class Ptr2eCards extends Cards {
606
+ * protected override _onUpdateDescendantDocuments(...args: Cards.OnUpdateDescendantDocumentsArgs) {
607
+ * super._onUpdateDescendantDocuments(...args);
608
+ *
609
+ * const [parent, collection, documents, changes, options, userId] = args;
610
+ * if (collection === "cards") {
611
+ * options; // Will be narrowed.
612
+ * }
613
+ * }
614
+ * }
615
+ * ```
616
+ */
617
+ protected override _onUpdateDescendantDocuments(...args: Cards.OnUpdateDescendantDocumentsArgs): void;
618
+
619
+ /**
620
+ * @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
621
+ * this method must be overridden like so:
622
+ * ```typescript
623
+ * class KultCards extends Cards {
624
+ * protected override _preDeleteDescendantDocuments(...args: Cards.PreDeleteDescendantDocumentsArgs) {
625
+ * super._preDeleteDescendantDocuments(...args);
626
+ *
627
+ * const [parent, collection, ids, options, userId] = args;
628
+ * if (collection === "cards") {
629
+ * options; // Will be narrowed.
630
+ * }
631
+ * }
632
+ * }
633
+ * ```
634
+ */
635
+ protected override _preDeleteDescendantDocuments(...args: Cards.PreDeleteDescendantDocumentsArgs): void;
636
+
637
+ /**
638
+ * @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
639
+ * this method must be overridden like so:
640
+ * ```typescript
641
+ * class BladesCards extends Cards {
642
+ * protected override _onDeleteDescendantDocuments(...args: Cards.OnUpdateDescendantDocuments) {
643
+ * super._onDeleteDescendantDocuments(...args);
644
+ *
645
+ * const [parent, collection, documents, ids, options, userId] = args;
646
+ * if (collection === "cards") {
647
+ * options; // Will be narrowed.
648
+ * }
649
+ * }
650
+ * }
651
+ * ```
652
+ */
653
+ protected override _onDeleteDescendantDocuments(...args: Cards.OnDeleteDescendantDocumentsArgs): void;
654
+
655
+ // context: not null (destructured)
656
+ static override defaultName(context?: Document.DefaultNameContext<"JournalEntry", JournalEntry.Parent>): string;
657
+
658
+ // data: not null (parameter default only), context: not null (destructured)
659
+ static override createDialog(
660
+ data?: Document.CreateDialogData<JournalEntry.CreateData>,
661
+ context?: Document.CreateDialogContext<"JournalEntry", JournalEntry.Parent>,
662
+ ): Promise<JournalEntry.Stored | null | undefined>;
663
+
664
+ // options: not null (parameter default only)
665
+ static override fromDropData(
666
+ data: Document.DropData<JournalEntry.Implementation>,
667
+ options?: AnyObject,
668
+ ): Promise<JournalEntry.Implementation | undefined>;
669
+
670
+ static override fromImport(
671
+ source: JournalEntry.Source,
672
+ context?: Document.FromImportContext<JournalEntry.Parent> | null,
673
+ ): Promise<JournalEntry.Implementation>;
674
+
675
+ override _onClickDocumentLink(event: MouseEvent): ClientDocument.OnClickDocumentLinkReturn;
676
+ }
81
677
  }