@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
@@ -0,0 +1,789 @@
1
+ import type { AnyObject, Merge, NullishProps } from "#utils";
2
+ import type { BaseShapeData, fields } from "../../../common/data/module.d.mts";
3
+ import type Document from "../../../common/abstract/document.d.mts";
4
+ import type { DataSchema } from "../../../common/data/fields.d.mts";
5
+
6
+ declare global {
7
+ namespace RegionDocument {
8
+ /**
9
+ * The document's name.
10
+ */
11
+ type Name = "Region";
12
+
13
+ /**
14
+ * The arguments to construct the document.
15
+ */
16
+ type ConstructorArgs = Document.ConstructorParameters<CreateData, Parent>;
17
+
18
+ /**
19
+ * The documents embedded within `RegionDocument`.
20
+ */
21
+ type Hierarchy = Readonly<Document.HierarchyOf<Schema>>;
22
+
23
+ /**
24
+ * The implementation of the `RegionDocument` document instance configured through `CONFIG.Region.documentClass` in Foundry and
25
+ * {@link DocumentClassConfig | `DocumentClassConfig`} or {@link ConfiguredRegion | `fvtt-types/configuration/ConfiguredRegion`} in fvtt-types.
26
+ */
27
+ type Implementation = Document.ImplementationFor<Name>;
28
+
29
+ /**
30
+ * The implementation of the `RegionDocument` document configured through `CONFIG.Region.documentClass` in Foundry and
31
+ * {@link DocumentClassConfig | `DocumentClassConfig`} in fvtt-types.
32
+ */
33
+ type ImplementationClass = Document.ImplementationClassFor<Name>;
34
+
35
+ /**
36
+ * A document's metadata is special information about the document ranging anywhere from its name,
37
+ * whether it's indexed, or to the permissions a user has over it.
38
+ */
39
+ interface Metadata
40
+ extends Merge<
41
+ Document.Metadata.Default,
42
+ Readonly<{
43
+ name: "Region";
44
+ collection: "regions";
45
+ label: string;
46
+ labelPlural: string;
47
+ isEmbedded: true;
48
+ embedded: Metadata.Embedded;
49
+ schemaVersion: string;
50
+ }>
51
+ > {}
52
+
53
+ namespace Metadata {
54
+ /**
55
+ * The embedded metadata
56
+ */
57
+ interface Embedded {
58
+ RegionBehavior: "behaviors";
59
+ }
60
+ }
61
+
62
+ /**
63
+ * A document's parent is something that can contain it.
64
+ * For example an `Item` can be contained by an `Actor` which makes `Actor` one of its possible parents.
65
+ */
66
+ type Parent = Scene.Implementation | null;
67
+
68
+ /**
69
+ * A document's direct descendants are documents that are contained directly within its schema.
70
+ * This is a union of all such instances, or never if the document doesn't have any descendants.
71
+ */
72
+ type DirectDescendant = RegionBehavior.Stored;
73
+
74
+ /**
75
+ * A document's direct descendants are documents that are contained directly within its schema.
76
+ * This is a union of all such classes, or never if the document doesn't have any descendants.
77
+ */
78
+ type DirectDescendantClass = RegionBehavior.ImplementationClass;
79
+
80
+ /**
81
+ * A document's descendants are any documents that are contained within, either within its schema
82
+ * or its descendant's schemas.
83
+ * This is a union of all such instances, or never if the document doesn't have any descendants.
84
+ */
85
+ type Descendant = DirectDescendant;
86
+
87
+ /**
88
+ * A document's descendants are any child documents, grandchild documents, etc.
89
+ * This is a union of all classes, or never if the document doesn't have any descendants.
90
+ */
91
+ type DescendantClass = DirectDescendantClass;
92
+
93
+ /**
94
+ * Types of `CompendiumCollection` this document might be contained in.
95
+ * Note that `this.pack` will always return a string; this is the type for `game.packs.get(this.pack)`
96
+ */
97
+ type Pack = CompendiumCollection.ForDocument<"Region">;
98
+
99
+ /**
100
+ * An embedded document is a document contained in another.
101
+ * For example an `Item` can be contained by an `Actor` which means `Item` can be embedded in `Actor`.
102
+ *
103
+ * If this is `never` it is because there are no embeddable documents (or there's a bug!).
104
+ */
105
+ type Embedded = Document.ImplementationFor<Embedded.Name>;
106
+
107
+ namespace Embedded {
108
+ /**
109
+ * An embedded document is a document contained in another.
110
+ * For example an `Item` can be contained by an `Actor` which means `Item` can be embedded in `Actor`.
111
+ *
112
+ * If this is `never` it is because there are no embeddable documents (or there's a bug!).
113
+ */
114
+ type Name = keyof Metadata.Embedded;
115
+
116
+ /**
117
+ * Gets the collection name for an embedded document.
118
+ */
119
+ type CollectionNameOf<CollectionName extends Embedded.CollectionName> = Document.Embedded.CollectionNameFor<
120
+ Metadata.Embedded,
121
+ CollectionName
122
+ >;
123
+
124
+ /**
125
+ * Gets the collection document for an embedded document.
126
+ */
127
+ // TODO(LukeAbby): There's a circularity. Should be `Document.Embedded.CollectionDocumentFor<Metadata.Embedded, CollectionName>`
128
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
129
+ type DocumentFor<CollectionName extends Embedded.CollectionName> = Document.Any;
130
+
131
+ /**
132
+ * Gets the collection for an embedded document.
133
+ */
134
+ type CollectionFor<CollectionName extends Embedded.CollectionName> = Document.Embedded.CollectionFor<
135
+ // TODO(LukeAbby): This should be `TokenDocument.Implementation` but this causes a circularity.
136
+ Document.Any,
137
+ Metadata.Embedded,
138
+ CollectionName
139
+ >;
140
+
141
+ /**
142
+ * A valid name to refer to a collection embedded in this document. For example an `Actor`
143
+ * has the key `"items"` which contains `Item` instance which would make both `"Item" | "Items"`
144
+ * valid keys (amongst others).
145
+ */
146
+ type CollectionName = Document.Embedded.CollectionName<Metadata.Embedded>;
147
+ }
148
+
149
+ /**
150
+ * The name of the world or embedded collection this document can find itself in.
151
+ * For example an `Item` is always going to be inside a collection with a key of `items`.
152
+ * This is a fixed string per document type and is primarily useful for {@link ClientDocumentMixin | `Descendant Document Events`}.
153
+ */
154
+ type ParentCollectionName = Metadata["collection"];
155
+
156
+ /**
157
+ * The world collection that contains this document type. Will be `never` if none exists.
158
+ */
159
+ type CollectionClass = never;
160
+
161
+ /**
162
+ * The world collection that contains this document type. Will be `never` if none exists.
163
+ */
164
+ type Collection = never;
165
+
166
+ /**
167
+ * An instance of `Region` that comes from the database but failed validation meaning that
168
+ * its `system` and `_source` could theoretically be anything.
169
+ */
170
+ interface Invalid extends Document.Invalid<RegionDocument.Implementation> {}
171
+
172
+ /**
173
+ * An instance of `Region` that comes from the database.
174
+ */
175
+ interface Stored extends Document.Stored<RegionDocument.Implementation> {}
176
+
177
+ /**
178
+ * The data put in {@link RegionDocument._source | `RegionDocument#_source`}. This data is what was
179
+ * persisted to the database and therefore it must be valid JSON.
180
+ *
181
+ * For example a {@link fields.SetField | `SetField`} is persisted to the database as an array
182
+ * but initialized as a {@link Set | `Set`}.
183
+ */
184
+ interface Source extends fields.SchemaField.SourceData<Schema> {}
185
+
186
+ /**
187
+ * @deprecated {@link RegionDocument.Source | `RegionDocument.Source`}
188
+ */
189
+ type PersistedData = Source;
190
+
191
+ /**
192
+ * The data necessary to create a document. Used in places like {@link RegionDocument.create | `RegionDocument.create`}
193
+ * and {@link RegionDocument | `new RegionDocument(...)`}.
194
+ *
195
+ * For example a {@link fields.SetField | `SetField`} can accept any {@link Iterable | `Iterable`}
196
+ * with the right values. This means you can pass a `Set` instance, an array of values,
197
+ * a generator, or any other iterable.
198
+ */
199
+ interface CreateData extends fields.SchemaField.CreateData<Schema> {}
200
+
201
+ /**
202
+ * The data after a {@link foundry.abstract.Document | `Document`} has been initialized, for example
203
+ * {@link RegionDocument.name | `RegionDocument#name`}.
204
+ *
205
+ * This is data transformed from {@link RegionDocument.Source | `RegionDocument.Source`} and turned into more
206
+ * convenient runtime data structures. For example a {@link fields.SetField | `SetField`} is
207
+ * persisted to the database as an array of values but at runtime it is a `Set` instance.
208
+ */
209
+ interface InitializedData extends fields.SchemaField.InitializedData<Schema> {}
210
+
211
+ /**
212
+ * The data used to update a document, for example {@link RegionDocument.update | `RegionDocument#update`}.
213
+ * It is a distinct type from {@link RegionDocument.CreateData | `DeepPartial<RegionDocument.CreateData>`} because
214
+ * it has different rules for `null` and `undefined`.
215
+ */
216
+ interface UpdateData extends fields.SchemaField.UpdateData<Schema> {}
217
+
218
+ /**
219
+ * The schema for {@link RegionDocument | `RegionDocument`}. This is the source of truth for how an Region document
220
+ * must be structured.
221
+ *
222
+ * Foundry uses this schema to validate the structure of the {@link RegionDocument | `RegionDocument`}. For example
223
+ * a {@link fields.StringField | `StringField`} will enforce that the value is a string. More
224
+ * complex fields like {@link fields.SetField | `SetField`} goes through various conversions
225
+ * starting as an array in the database, initialized as a set, and allows updates with any
226
+ * iterable.
227
+ */
228
+ interface Schema extends DataSchema {
229
+ /**
230
+ * The Region _id which uniquely identifies it within its parent Scene
231
+ * @defaultValue `null`
232
+ */
233
+ _id: fields.DocumentIdField;
234
+
235
+ /**
236
+ * The name used to describe the Region
237
+ */
238
+ // FIXME: This field is `required` with no `initial`, so actually required for construction; Currently an AssignmentType override is required to enforce this
239
+ name: fields.StringField<{ required: true; blank: false; label: "Name"; textSearch: true }, string>;
240
+
241
+ /**
242
+ * The color used to highlight the Region
243
+ * @defaultValue `Color.fromHSV([Math.random(), 0.8, 0.8]).css`
244
+ */
245
+ color: fields.ColorField<{
246
+ required: true;
247
+ nullable: false;
248
+ initial: () => string;
249
+ label: "REGION.FIELDS.color.label";
250
+ hint: "REGION.FIELDS.color.hint";
251
+ }>;
252
+
253
+ /**
254
+ * The shapes that make up the Region
255
+ */
256
+ shapes: fields.ArrayField<
257
+ fields.TypedSchemaField<BaseShapeData.Types>,
258
+ { label: "REGION.FIELDS.shapes.label"; hint: "REGION.FIELDS.shapes.hint" }
259
+ >;
260
+
261
+ /**
262
+ * A RegionElevation object which defines the elevation levels where the Region takes effect
263
+ * @defaultValue see properties
264
+ */
265
+ elevation: fields.SchemaField<
266
+ {
267
+ /**
268
+ * The bottom elevation level where the Region begins to take effect
269
+ * @remarks if bottom is `null`, it is treated as `-Infinity`
270
+ * @defaultValue `null`
271
+ */
272
+ bottom: fields.NumberField<{
273
+ required: true;
274
+ label: "REGION.FIELDS.elevation.FIELDS.bottom.label";
275
+ hint: "REGION.FIELDS.elevation.FIELDS.bottom.hint";
276
+ }>;
277
+
278
+ /**
279
+ * The top elevation level where the Region's effect ends
280
+ * @remarks if top is `null`, it is treated as `Infinity`
281
+ * @defaultValue `null`
282
+ */
283
+ top: fields.NumberField<{
284
+ required: true;
285
+ label: "REGION.FIELDS.elevation.FIELDS.top.label";
286
+ hint: "REGION.FIELDS.elevation.FIELDS.top.hint";
287
+ }>;
288
+ },
289
+ {
290
+ label: "REGION.FIELDS.elevation.label";
291
+ hint: "REGION.FIELDS.elevation.hint";
292
+ validate: (d: unknown) => boolean;
293
+ validationError: "elevation.top may not be less than elevation.bottom";
294
+ }
295
+ >;
296
+
297
+ /**
298
+ * A collection of embedded RegionBehavior objects
299
+ */
300
+ behaviors: fields.EmbeddedCollectionField<
301
+ typeof foundry.documents.BaseRegionBehavior,
302
+ RegionDocument.Implementation,
303
+ { label: "REGION.FIELDS.behaviors.label"; hint: "REGION.FIELDS.behaviors.hint" }
304
+ >;
305
+
306
+ /** @defaultValue `CONST.REGION_VISIBILITY.LAYER` */
307
+ visibility: fields.NumberField<
308
+ {
309
+ required: true;
310
+ initial: typeof CONST.REGION_VISIBILITY.LAYER;
311
+ choices: CONST.REGION_VISIBILITY[];
312
+ label: "REGION.FIELDS.visibility.label";
313
+ hint: "REGION.FIELDS.visibility.hint";
314
+ },
315
+ CONST.REGION_VISIBILITY | null | undefined,
316
+ CONST.REGION_VISIBILITY | null,
317
+ CONST.REGION_VISIBILITY | null
318
+ >;
319
+
320
+ /** @defaultValue `false` */
321
+ locked: fields.BooleanField;
322
+
323
+ /**
324
+ * An object of optional key/value flags
325
+ */
326
+ flags: fields.ObjectField.FlagsField<Name>;
327
+ }
328
+
329
+ namespace Database {
330
+ /** Options passed along in Get operations for Regions */
331
+ interface Get extends foundry.abstract.types.DatabaseGetOperation<RegionDocument.Parent> {}
332
+
333
+ /** Options passed along in Create operations for Regions */
334
+ interface Create<Temporary extends boolean | undefined = boolean | undefined>
335
+ extends foundry.abstract.types.DatabaseCreateOperation<
336
+ RegionDocument.CreateData,
337
+ RegionDocument.Parent,
338
+ Temporary
339
+ > {}
340
+
341
+ /** Options passed along in Delete operations for Regions */
342
+ interface Delete extends foundry.abstract.types.DatabaseDeleteOperation<RegionDocument.Parent> {}
343
+
344
+ /** Options passed along in Update operations for Regions */
345
+ interface Update
346
+ extends foundry.abstract.types.DatabaseUpdateOperation<RegionDocument.UpdateData, RegionDocument.Parent> {}
347
+
348
+ /** Operation for {@link RegionDocument.createDocuments | `RegionDocument.createDocuments`} */
349
+ interface CreateDocumentsOperation<Temporary extends boolean | undefined>
350
+ extends Document.Database.CreateOperation<RegionDocument.Database.Create<Temporary>> {}
351
+
352
+ /** Operation for {@link RegionDocument.updateDocuments | `RegionDocument.updateDocuments`} */
353
+ interface UpdateDocumentsOperation
354
+ extends Document.Database.UpdateDocumentsOperation<RegionDocument.Database.Update> {}
355
+
356
+ /** Operation for {@link RegionDocument.deleteDocuments | `RegionDocument.deleteDocuments`} */
357
+ interface DeleteDocumentsOperation
358
+ extends Document.Database.DeleteDocumentsOperation<RegionDocument.Database.Delete> {}
359
+
360
+ /** Operation for {@link RegionDocument.create | `RegionDocument.create`} */
361
+ interface CreateOperation<Temporary extends boolean | undefined>
362
+ extends Document.Database.CreateOperation<RegionDocument.Database.Create<Temporary>> {}
363
+
364
+ /** Operation for {@link RegionDocument.update | `RegionDocument#update`} */
365
+ interface UpdateOperation extends Document.Database.UpdateOperation<Update> {}
366
+
367
+ interface DeleteOperation extends Document.Database.DeleteOperation<Delete> {}
368
+
369
+ /** Options for {@link RegionDocument.get | `RegionDocument.get`} */
370
+ interface GetOptions extends Document.Database.GetOptions {}
371
+
372
+ /** Options for {@link RegionDocument._preCreate | `RegionDocument#_preCreate`} */
373
+ interface PreCreateOptions extends Document.Database.PreCreateOptions<Create> {}
374
+
375
+ /** Options for {@link RegionDocument._onCreate | `RegionDocument#_onCreate`} */
376
+ interface OnCreateOptions extends Document.Database.CreateOptions<Create> {}
377
+
378
+ /** Operation for {@link RegionDocument._preCreateOperation | `RegionDocument._preCreateOperation`} */
379
+ interface PreCreateOperation extends Document.Database.PreCreateOperationStatic<RegionDocument.Database.Create> {}
380
+
381
+ /** Operation for {@link RegionDocument._onCreateOperation | `RegionDocument#_onCreateOperation`} */
382
+ interface OnCreateOperation extends RegionDocument.Database.Create {}
383
+
384
+ /** Options for {@link RegionDocument._preUpdate | `RegionDocument#_preUpdate`} */
385
+ interface PreUpdateOptions extends Document.Database.PreUpdateOptions<Update> {}
386
+
387
+ /** Options for {@link RegionDocument._onUpdate | `RegionDocument#_onUpdate`} */
388
+ interface OnUpdateOptions extends Document.Database.UpdateOptions<Update> {}
389
+
390
+ /** Operation for {@link RegionDocument._preUpdateOperation | `RegionDocument._preUpdateOperation`} */
391
+ interface PreUpdateOperation extends RegionDocument.Database.Update {}
392
+
393
+ /** Operation for {@link RegionDocument._onUpdateOperation | `RegionDocument._preUpdateOperation`} */
394
+ interface OnUpdateOperation extends RegionDocument.Database.Update {}
395
+
396
+ /** Options for {@link RegionDocument._preDelete | `RegionDocument#_preDelete`} */
397
+ interface PreDeleteOptions extends Document.Database.PreDeleteOperationInstance<Delete> {}
398
+
399
+ /** Options for {@link RegionDocument._onDelete | `RegionDocument#_onDelete`} */
400
+ interface OnDeleteOptions extends Document.Database.DeleteOptions<Delete> {}
401
+
402
+ /** Options for {@link RegionDocument._preDeleteOperation | `RegionDocument#_preDeleteOperation`} */
403
+ interface PreDeleteOperation extends RegionDocument.Database.Delete {}
404
+
405
+ /** Options for {@link RegionDocument._onDeleteOperation | `RegionDocument#_onDeleteOperation`} */
406
+ interface OnDeleteOperation extends RegionDocument.Database.Delete {}
407
+
408
+ /** Context for {@link RegionDocument._onDeleteOperation | `RegionDocument._onDeleteOperation`} */
409
+ interface OnDeleteDocumentsContext extends Document.ModificationContext<RegionDocument.Parent> {}
410
+
411
+ /** Context for {@link RegionDocument._onCreateDocuments | `RegionDocument._onCreateDocuments`} */
412
+ interface OnCreateDocumentsContext extends Document.ModificationContext<RegionDocument.Parent> {}
413
+
414
+ /** Context for {@link RegionDocument._onUpdateDocuments | `RegionDocument._onUpdateDocuments`} */
415
+ interface OnUpdateDocumentsContext extends Document.ModificationContext<RegionDocument.Parent> {}
416
+
417
+ /**
418
+ * Options for {@link RegionDocument._preCreateDescendantDocuments | `RegionDocument#_preCreateDescendantDocuments`}
419
+ * and {@link RegionDocument._onCreateDescendantDocuments | `RegionDocument#_onCreateDescendantDocuments`}
420
+ */
421
+ interface CreateOptions extends Document.Database.CreateOptions<RegionDocument.Database.Create> {}
422
+
423
+ /**
424
+ * Options for {@link RegionDocument._preUpdateDescendantDocuments | `RegionDocument#_preUpdateDescendantDocuments`}
425
+ * and {@link RegionDocument._onUpdateDescendantDocuments | `RegionDocument#_onUpdateDescendantDocuments`}
426
+ */
427
+ interface UpdateOptions extends Document.Database.UpdateOptions<RegionDocument.Database.Update> {}
428
+
429
+ /**
430
+ * Options for {@link RegionDocument._preDeleteDescendantDocuments | `RegionDocument#_preDeleteDescendantDocuments`}
431
+ * and {@link RegionDocument._onDeleteDescendantDocuments | `RegionDocument#_onDeleteDescendantDocuments`}
432
+ */
433
+ interface DeleteOptions extends Document.Database.DeleteOptions<RegionDocument.Database.Delete> {}
434
+ }
435
+
436
+ /**
437
+ * The flags that are available for this document in the form `{ [scope: string]: { [key: string]: unknown } }`.
438
+ */
439
+ interface Flags extends Document.ConfiguredFlagsForName<Name> {}
440
+
441
+ namespace Flags {
442
+ /**
443
+ * The valid scopes for the flags on this document e.g. `"core"` or `"dnd5e"`.
444
+ */
445
+ type Scope = Document.FlagKeyOf<Flags>;
446
+
447
+ /**
448
+ * The valid keys for a certain scope for example if the scope is "core" then a valid key may be `"sheetLock"` or `"viewMode"`.
449
+ */
450
+ type Key<Scope extends Flags.Scope> = Document.FlagKeyOf<Document.FlagGetKey<Flags, Scope>>;
451
+
452
+ /**
453
+ * Gets the type of a particular flag given a `Scope` and a `Key`.
454
+ */
455
+ type Get<Scope extends Flags.Scope, Key extends Flags.Key<Scope>> = Document.GetFlag<Name, Scope, Key>;
456
+ }
457
+
458
+ type PreCreateDescendantDocumentsArgs = Document.PreCreateDescendantDocumentsArgs<
459
+ RegionDocument.Stored,
460
+ RegionDocument.DirectDescendant,
461
+ RegionDocument.Metadata.Embedded
462
+ >;
463
+
464
+ type OnCreateDescendantDocumentsArgs = Document.OnCreateDescendantDocumentsArgs<
465
+ RegionDocument.Stored,
466
+ RegionDocument.DirectDescendant,
467
+ RegionDocument.Metadata.Embedded
468
+ >;
469
+
470
+ type PreUpdateDescendantDocumentsArgs = Document.PreUpdateDescendantDocumentsArgs<
471
+ RegionDocument.Stored,
472
+ RegionDocument.DirectDescendant,
473
+ RegionDocument.Metadata.Embedded
474
+ >;
475
+
476
+ type OnUpdateDescendantDocumentsArgs = Document.OnUpdateDescendantDocumentsArgs<
477
+ RegionDocument.Stored,
478
+ RegionDocument.DirectDescendant,
479
+ RegionDocument.Metadata.Embedded
480
+ >;
481
+
482
+ type PreDeleteDescendantDocumentsArgs = Document.PreDeleteDescendantDocumentsArgs<
483
+ RegionDocument.Stored,
484
+ RegionDocument.DirectDescendant,
485
+ RegionDocument.Metadata.Embedded
486
+ >;
487
+
488
+ type OnDeleteDescendantDocumentsArgs = Document.OnDeleteDescendantDocumentsArgs<
489
+ RegionDocument.Stored,
490
+ RegionDocument.DirectDescendant,
491
+ RegionDocument.Metadata.Embedded
492
+ >;
493
+
494
+ interface RegionEvent {
495
+ /** The name of the event */
496
+ name: string;
497
+
498
+ /** The data of the event */
499
+ data: object;
500
+
501
+ /** The Region the event was triggered on */
502
+ region: RegionDocument.Implementation;
503
+
504
+ /** The User that triggered the event */
505
+ user: User.Implementation;
506
+ }
507
+
508
+ interface SocketRegionEvent {
509
+ /** The UUID of the Region the event was triggered on */
510
+ regionUuid: string;
511
+
512
+ /** The ID of the User that triggered the event */
513
+ userId: string;
514
+
515
+ /** The name of the event */
516
+ eventName: string;
517
+
518
+ /** The data of the event */
519
+ eventData: object;
520
+
521
+ /** The keys of the event data that are Documents */
522
+ eventDataUuids: string[];
523
+ }
524
+
525
+ /** @internal */
526
+ type _UpdateTokensOptions = NullishProps<{
527
+ /**
528
+ * Are the Region documents deleted?
529
+ * @defaultValue `false`
530
+ */
531
+ deleted: boolean;
532
+
533
+ /**
534
+ * Reset the Token document if animated?
535
+ * @defaultValue `true`
536
+ */
537
+ reset: boolean;
538
+ }>;
539
+
540
+ interface UpdateTokensOptions extends _UpdateTokensOptions {}
541
+
542
+ type EventData =
543
+ | {
544
+ token: TokenDocument.Implementation;
545
+ origin?: {
546
+ x: number;
547
+ y: number;
548
+ elevation: number;
549
+ };
550
+ destination: {
551
+ x: number;
552
+ y: number;
553
+ elevation: number;
554
+ };
555
+ teleport: boolean;
556
+ forced: boolean;
557
+ segments: Region.MovementSegment[];
558
+ }
559
+ | {
560
+ token: TokenDocument.Implementation;
561
+ combatant: Combatant.Implementation;
562
+ }
563
+ | _EventData;
564
+
565
+ /** @internal */
566
+ interface _EventData {
567
+ readonly [K: string]: Document.Any | _EventData | _EventData[];
568
+ }
569
+
570
+ /**
571
+ * @deprecated {@link RegionDocument.Database | `RegionDocument.DatabaseOperation`}
572
+ */
573
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
574
+ interface DatabaseOperations extends Document.Database.Operations<RegionDocument.Implementation> {}
575
+
576
+ /**
577
+ * @deprecated {@link RegionDocument.CreateData | `RegionDocument.CreateData`}
578
+ */
579
+ interface ConstructorData extends RegionDocument.CreateData {}
580
+
581
+ /**
582
+ * @deprecated {@link RegionDocument.implementation | `RegionDocument.ImplementationClass`}
583
+ */
584
+ type ConfiguredClass = ImplementationClass;
585
+
586
+ /**
587
+ * @deprecated {@link RegionDocument.Implementation | `RegionDocument.Implementation`}
588
+ */
589
+ type ConfiguredInstance = Implementation;
590
+ }
591
+
592
+ /**
593
+ * The client-side Region document which extends the common BaseRegion model.
594
+ */
595
+ class RegionDocument extends ClientDocumentMixin(foundry.documents.BaseRegion) {
596
+ /**
597
+ * @param data - Initial data from which to construct the `RegionDocument`
598
+ * @param context - Construction context options
599
+ */
600
+ constructor(...args: RegionDocument.ConstructorArgs);
601
+
602
+ /**
603
+ * Activate the Socket event listeners.
604
+ * @param socket - The active game socket
605
+ * @internal
606
+ */
607
+ protected static _activateSocketListeners(socket: WebSocket): void;
608
+
609
+ /**
610
+ * Update the tokens of the given regions.
611
+ *
612
+ * If called during Region/Scene create/update/delete workflows, the Token documents are always reset and
613
+ * so never in an animated state, which means the reset option may be false. It is important that the
614
+ * containment test is not done in an animated state.
615
+ * @param regions - The regions to update the tokens for
616
+ * @internal
617
+ */
618
+ // options: not null (destructured)
619
+ protected static _updateTokens(
620
+ regions: RegionDocument.Implementation[],
621
+ options?: RegionDocument.UpdateTokensOptions,
622
+ ): Promise<void>;
623
+
624
+ // _onCreateOperation, _onUpdateOperation, and _onDeleteOperation are overridden from BaseRegion without signature changes.
625
+
626
+ /** The tokens inside this region. */
627
+ tokens: Set<TokenDocument.Implementation>;
628
+
629
+ /**
630
+ * Trigger the Region event.
631
+ * @param eventName - The event name
632
+ * @param eventData - The event data
633
+ * @internal
634
+ */
635
+ protected _triggerEvent(eventName: string, eventData: RegionDocument.EventData): Promise<void>;
636
+
637
+ /**
638
+ * Handle the Region event.
639
+ * @param event - The Region event
640
+ * @internal
641
+ */
642
+ protected _handleEvent(event: RegionDocument.RegionEvent): Promise<void>;
643
+ /**
644
+ * @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
645
+ * this method must be overridden like so:
646
+ * ```typescript
647
+ * class GurpsRegionDocument extends RegionDocument {
648
+ * protected override _onCreateDescendantDocuments(...args: RegionDocument.OnCreateDescendantDocumentsArgs) {
649
+ * super._onCreateDescendantDocuments(...args);
650
+ *
651
+ * const [parent, collection, documents, data, options, userId] = args;
652
+ * if (collection === "behaviors") {
653
+ * options; // Will be narrowed.
654
+ * }
655
+ * }
656
+ * }
657
+ * ```
658
+ */
659
+ protected override _onCreateDescendantDocuments(...args: RegionDocument.OnCreateDescendantDocumentsArgs): void;
660
+
661
+ /**
662
+ * @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
663
+ * this method must be overridden like so:
664
+ * ```typescript
665
+ * class Ptr2eRegionDocument extends RegionDocument {
666
+ * protected override _onUpdateDescendantDocuments(...args: RegionDocument.OnUpdateDescendantDocumentsArgs) {
667
+ * super._onUpdateDescendantDocuments(...args);
668
+ *
669
+ * const [parent, collection, documents, changes, options, userId] = args;
670
+ * if (collection === "behaviors") {
671
+ * options; // Will be narrowed.
672
+ * }
673
+ * }
674
+ * }
675
+ * ```
676
+ */
677
+ protected override _onUpdateDescendantDocuments(...args: RegionDocument.OnUpdateDescendantDocumentsArgs): void;
678
+
679
+ /**
680
+ * @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
681
+ * this method must be overridden like so:
682
+ * ```typescript
683
+ * class BladesRegionDocument extends RegionDocument {
684
+ * protected override _onDeleteDescendantDocuments(...args: RegionDocument.OnUpdateDescendantDocuments) {
685
+ * super._onDeleteDescendantDocuments(...args);
686
+ *
687
+ * const [parent, collection, documents, ids, options, userId] = args;
688
+ * if (collection === "behaviors") {
689
+ * options; // Will be narrowed.
690
+ * }
691
+ * }
692
+ * }
693
+ * ```
694
+ */
695
+ protected override _onDeleteDescendantDocuments(...args: RegionDocument.OnDeleteDescendantDocumentsArgs): void;
696
+
697
+ /*
698
+ * After this point these are not really overridden methods.
699
+ * They are here because Foundry's documents are complex and have lots of edge cases.
700
+ * There are DRY ways of representing this but this ends up being harder to understand
701
+ * for end users extending these functions, especially for static methods. There are also a
702
+ * number of methods that don't make sense to call directly on `Document` like `createDocuments`,
703
+ * as there is no data that can safely construct every possible document. Finally keeping definitions
704
+ * separate like this helps against circularities.
705
+ */
706
+
707
+ // ClientDocument overrides
708
+
709
+ /**
710
+ * @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
711
+ * this method must be overridden like so:
712
+ * ```typescript
713
+ * class SwadeRegionDocument extends RegionDocument {
714
+ * protected override _preCreateDescendantDocuments(...args: RegionDocument.PreCreateDescendantDocumentsArgs) {
715
+ * super._preCreateDescendantDocuments(...args);
716
+ *
717
+ * const [parent, collection, data, options, userId] = args;
718
+ * if (collection === "behaviors") {
719
+ * options; // Will be narrowed.
720
+ * }
721
+ * }
722
+ * }
723
+ * ```
724
+ */
725
+ protected override _preCreateDescendantDocuments(...args: RegionDocument.PreCreateDescendantDocumentsArgs): void;
726
+
727
+ /**
728
+ * @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
729
+ * this method must be overridden like so:
730
+ * ```typescript
731
+ * class LancerRegionDocument extends RegionDocument {
732
+ * protected override _preUpdateDescendantDocuments(...args: RegionDocument.OnUpdateDescendantDocuments) {
733
+ * super._preUpdateDescendantDocuments(...args);
734
+ *
735
+ * const [parent, collection, changes, options, userId] = args;
736
+ * if (collection === "behaviors") {
737
+ * options; // Will be narrowed.
738
+ * }
739
+ * }
740
+ * }
741
+ * ```
742
+ */
743
+ protected override _preUpdateDescendantDocuments(...args: RegionDocument.PreUpdateDescendantDocumentsArgs): void;
744
+
745
+ /**
746
+ * @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
747
+ * this method must be overridden like so:
748
+ * ```typescript
749
+ * class KultRegionDocument extends RegionDocument {
750
+ * protected override _preDeleteDescendantDocuments(...args: RegionDocument.PreDeleteDescendantDocumentsArgs) {
751
+ * super._preDeleteDescendantDocuments(...args);
752
+ *
753
+ * const [parent, collection, ids, options, userId] = args;
754
+ * if (collection === "behaviors") {
755
+ * options; // Will be narrowed.
756
+ * }
757
+ * }
758
+ * }
759
+ * ```
760
+ */
761
+ protected override _preDeleteDescendantDocuments(...args: RegionDocument.PreDeleteDescendantDocumentsArgs): void;
762
+
763
+ // context: not null (destructured)
764
+ static override defaultName(
765
+ context?: Document.DefaultNameContext<"Region", NonNullable<RegionDocument.Parent>>,
766
+ ): string;
767
+
768
+ /** @remarks `context.parent` is required as creation requires one */
769
+ static override createDialog(
770
+ data: Document.CreateDialogData<RegionDocument.CreateData> | undefined,
771
+ context: Document.CreateDialogContext<"Region", NonNullable<RegionDocument.Parent>>,
772
+ ): Promise<RegionDocument.Stored | null | undefined>;
773
+
774
+ // options: not null (parameter default only)
775
+ static override fromDropData(
776
+ data: Document.DropData<RegionDocument.Implementation>,
777
+ options?: AnyObject,
778
+ ): Promise<RegionDocument.Implementation | undefined>;
779
+
780
+ static override fromImport(
781
+ source: RegionDocument.Source,
782
+ context?: Document.FromImportContext<RegionDocument.Parent> | null,
783
+ ): Promise<RegionDocument.Implementation>;
784
+
785
+ override _onClickDocumentLink(event: MouseEvent): ClientDocument.OnClickDocumentLinkReturn;
786
+
787
+ static #RegionDocument: true;
788
+ }
789
+ }