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

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 (690) hide show
  1. package/README.md +13 -17
  2. package/package.json +85 -41
  3. package/src/configuration/configuration.d.mts +315 -0
  4. package/src/configuration/globals.d.mts +349 -0
  5. package/src/configuration/index.d.mts +4 -0
  6. package/src/foundry/client/apps/app.d.mts +10 -5
  7. package/src/foundry/client/apps/av/av-config.d.mts +2 -2
  8. package/src/foundry/client/apps/av/cameras.d.mts +7 -2
  9. package/src/foundry/client/apps/dice/dice-config.d.mts +45 -0
  10. package/src/foundry/client/apps/dice/index.d.mts +1 -0
  11. package/src/foundry/client/apps/form.d.mts +13 -4
  12. package/src/foundry/client/apps/forms/actor.d.mts +4 -4
  13. package/src/foundry/client/apps/forms/adventure-exporter.d.mts +1 -1
  14. package/src/foundry/client/apps/forms/adventure-importer.d.mts +1 -1
  15. package/src/foundry/client/apps/forms/base-sheet.d.mts +7 -6
  16. package/src/foundry/client/apps/forms/card-config.d.mts +8 -8
  17. package/src/foundry/client/apps/forms/cards-config.d.mts +5 -4
  18. package/src/foundry/client/apps/forms/combat-config.d.mts +1 -1
  19. package/src/foundry/client/apps/forms/combatant-config.d.mts +1 -1
  20. package/src/foundry/client/apps/forms/effect-config.d.mts +1 -1
  21. package/src/foundry/client/apps/forms/folder-config.d.mts +1 -1
  22. package/src/foundry/client/apps/forms/fonts.d.mts +1 -1
  23. package/src/foundry/client/apps/forms/grid-config.d.mts +2 -3
  24. package/src/foundry/client/apps/forms/image-popout.d.mts +1 -1
  25. package/src/foundry/client/apps/forms/item.d.mts +8 -8
  26. package/src/foundry/client/apps/forms/journal-page-sheet.d.mts +1 -1
  27. package/src/foundry/client/apps/forms/journal-sheet.d.mts +4 -3
  28. package/src/foundry/client/apps/forms/macro-config.d.mts +2 -2
  29. package/src/foundry/client/apps/forms/measure-template.d.mts +8 -10
  30. package/src/foundry/client/apps/forms/ownership.d.mts +1 -1
  31. package/src/foundry/client/apps/forms/playlist-config.d.mts +1 -1
  32. package/src/foundry/client/apps/forms/playlist-sound-config.d.mts +1 -1
  33. package/src/foundry/client/apps/forms/roll-table-config.d.mts +5 -3
  34. package/src/foundry/client/apps/forms/scene-config.d.mts +5 -6
  35. package/src/foundry/client/apps/forms/sheet-config.d.mts +6 -18
  36. package/src/foundry/client/apps/forms/user-config.d.mts +6 -5
  37. package/src/foundry/client/apps/hud/chatbubble.d.mts +7 -0
  38. package/src/foundry/client/apps/hud/container.d.mts +1 -1
  39. package/src/foundry/client/apps/hud/controls.d.mts +6 -1
  40. package/src/foundry/client/apps/hud/hotbar.d.mts +9 -4
  41. package/src/foundry/client/apps/hud/hud.d.mts +1 -1
  42. package/src/foundry/client/apps/hud/menu.d.mts +8 -1
  43. package/src/foundry/client/apps/hud/navigation.d.mts +8 -3
  44. package/src/foundry/client/apps/hud/pause.d.mts +7 -2
  45. package/src/foundry/client/apps/hud/players.d.mts +8 -3
  46. package/src/foundry/client/apps/i18n.d.mts +2 -2
  47. package/src/foundry/client/apps/index.d.mts +1 -0
  48. package/src/foundry/client/apps/placeables/drawing-config.d.mts +1 -1
  49. package/src/foundry/client/apps/placeables/drawing-hud.d.mts +1 -1
  50. package/src/foundry/client/apps/placeables/light-config.d.mts +4 -4
  51. package/src/foundry/client/apps/placeables/note-config.d.mts +3 -3
  52. package/src/foundry/client/apps/placeables/sound-config.d.mts +4 -3
  53. package/src/foundry/client/apps/placeables/tile-config.d.mts +2 -2
  54. package/src/foundry/client/apps/placeables/tile-hud.d.mts +7 -2
  55. package/src/foundry/client/apps/placeables/token-config.d.mts +16 -4
  56. package/src/foundry/client/apps/placeables/token-hud.d.mts +7 -2
  57. package/src/foundry/client/apps/placeables/wall-config.d.mts +4 -3
  58. package/src/foundry/client/apps/sidebar/apps/client-settings.d.mts +1 -1
  59. package/src/foundry/client/apps/sidebar/apps/compendium.d.mts +6 -7
  60. package/src/foundry/client/apps/sidebar/apps/keybindings-config.d.mts +2 -1
  61. package/src/foundry/client/apps/sidebar/apps/module-management.d.mts +1 -1
  62. package/src/foundry/client/apps/sidebar/apps/permission-config.d.mts +1 -1
  63. package/src/foundry/client/apps/sidebar/apps/support-details.d.mts +1 -1
  64. package/src/foundry/client/apps/sidebar/apps/tours-management.d.mts +1 -1
  65. package/src/foundry/client/apps/sidebar/apps/world-config.d.mts +1 -1
  66. package/src/foundry/client/apps/sidebar/directory-tab-mixin.d.mts +12 -5
  67. package/src/foundry/client/apps/sidebar/document-directory.d.mts +12 -5
  68. package/src/foundry/client/apps/sidebar/package-configuration.d.mts +1 -1
  69. package/src/foundry/client/apps/sidebar/sidebar.d.mts +7 -2
  70. package/src/foundry/client/apps/sidebar/tabs/actors-directory.d.mts +10 -1
  71. package/src/foundry/client/apps/sidebar/tabs/cards-directory.d.mts +10 -1
  72. package/src/foundry/client/apps/sidebar/tabs/chat-log.d.mts +8 -1
  73. package/src/foundry/client/apps/sidebar/tabs/combat-tracker.d.mts +10 -1
  74. package/src/foundry/client/apps/sidebar/tabs/compendium-directory.d.mts +15 -9
  75. package/src/foundry/client/apps/sidebar/tabs/items-directory.d.mts +10 -1
  76. package/src/foundry/client/apps/sidebar/tabs/journal-directory.d.mts +10 -1
  77. package/src/foundry/client/apps/sidebar/tabs/macros-directory.d.mts +9 -0
  78. package/src/foundry/client/apps/sidebar/tabs/playlists-directory.d.mts +16 -8
  79. package/src/foundry/client/apps/sidebar/tabs/roll-table-directory.d.mts +10 -1
  80. package/src/foundry/client/apps/sidebar/tabs/scenes-directory.d.mts +11 -2
  81. package/src/foundry/client/apps/sidebar/tabs/settings.d.mts +19 -1
  82. package/src/foundry/client/av/client.d.mts +1 -1
  83. package/src/foundry/client/av/clients/simplepeer.d.mts +11 -1
  84. package/src/foundry/client/av/master.d.mts +2 -2
  85. package/src/foundry/client/av/settings.d.mts +1 -2
  86. package/src/foundry/client/config.d.mts +201 -196
  87. package/src/foundry/client/core/hooks.d.mts +2 -2
  88. package/src/foundry/client/core/image.d.mts +1 -2
  89. package/src/foundry/client/core/keybindings.d.mts +2 -2
  90. package/src/foundry/client/core/packages.d.mts +9 -2
  91. package/src/foundry/client/core/settings.d.mts +34 -31
  92. package/src/foundry/client/core/socket.d.mts +1 -1
  93. package/src/foundry/client/core/sorting.d.mts +1 -1
  94. package/src/foundry/client/core/tooltip.d.mts +1 -1
  95. package/src/foundry/client/core/tour.d.mts +1 -1
  96. package/src/foundry/client/core/utils.d.mts +33 -10
  97. package/src/foundry/client/core/video.d.mts +1 -1
  98. package/src/foundry/client/core/workers.d.mts +1 -1
  99. package/src/foundry/client/data/abstract/canvas-document.d.mts +25 -14
  100. package/src/foundry/client/data/abstract/client-document.d.mts +47 -38
  101. package/src/foundry/client/data/abstract/directory-collection-mixin.d.mts +18 -12
  102. package/src/foundry/client/data/abstract/document-collection.d.mts +8 -8
  103. package/src/foundry/client/data/abstract/world-collection.d.mts +2 -4
  104. package/src/foundry/client/data/collections/actors.d.mts +10 -1
  105. package/src/foundry/client/data/collections/cards.d.mts +9 -0
  106. package/src/foundry/client/data/collections/combats.d.mts +10 -1
  107. package/src/foundry/client/data/collections/compendium-collection.d.mts +3 -34
  108. package/src/foundry/client/data/collections/compendium-packs.d.mts +1 -1
  109. package/src/foundry/client/data/collections/fog.d.mts +9 -0
  110. package/src/foundry/client/data/collections/folder.d.mts +9 -0
  111. package/src/foundry/client/data/collections/items.d.mts +9 -0
  112. package/src/foundry/client/data/collections/journal.d.mts +10 -1
  113. package/src/foundry/client/data/collections/macros.d.mts +10 -1
  114. package/src/foundry/client/data/collections/messages.d.mts +9 -0
  115. package/src/foundry/client/data/collections/playlists.d.mts +10 -1
  116. package/src/foundry/client/data/collections/scenes.d.mts +10 -1
  117. package/src/foundry/client/data/collections/settings.d.mts +9 -0
  118. package/src/foundry/client/data/collections/tables.d.mts +10 -1
  119. package/src/foundry/client/data/collections/users.d.mts +10 -1
  120. package/src/foundry/client/data/documents/active-effect.d.mts +43 -14
  121. package/src/foundry/client/data/documents/actor-delta.d.mts +4 -4
  122. package/src/foundry/client/data/documents/actor.d.mts +4 -10
  123. package/src/foundry/client/data/documents/adventure.d.mts +9 -8
  124. package/src/foundry/client/data/documents/ambient-light.d.mts +3 -2
  125. package/src/foundry/client/data/documents/ambient-sound.d.mts +3 -2
  126. package/src/foundry/client/data/documents/card.d.mts +4 -3
  127. package/src/foundry/client/data/documents/cards.d.mts +12 -19
  128. package/src/foundry/client/data/documents/chat-message.d.mts +4 -3
  129. package/src/foundry/client/data/documents/combat.d.mts +5 -4
  130. package/src/foundry/client/data/documents/combatant.d.mts +5 -4
  131. package/src/foundry/client/data/documents/drawing.d.mts +3 -2
  132. package/src/foundry/client/data/documents/fog-exploration.d.mts +13 -3
  133. package/src/foundry/client/data/documents/folder.d.mts +21 -8
  134. package/src/foundry/client/data/documents/index.d.mts +2 -0
  135. package/src/foundry/client/data/documents/item.d.mts +6 -2
  136. package/src/foundry/client/data/documents/journal-entry-page.d.mts +5 -4
  137. package/src/foundry/client/data/documents/journal-entry.d.mts +5 -4
  138. package/src/foundry/client/data/documents/macro.d.mts +5 -6
  139. package/src/foundry/client/data/documents/measured-template.d.mts +3 -2
  140. package/src/foundry/client/data/documents/note.d.mts +3 -2
  141. package/src/foundry/client/data/documents/playlist-sound.d.mts +4 -3
  142. package/src/foundry/client/data/documents/playlist.d.mts +13 -13
  143. package/src/foundry/client/data/documents/region-behavior.d.mts +78 -0
  144. package/src/foundry/client/data/documents/region.d.mts +160 -0
  145. package/src/foundry/client/data/documents/scene.d.mts +4 -3
  146. package/src/foundry/client/data/documents/setting.d.mts +3 -2
  147. package/src/foundry/client/data/documents/table-result.d.mts +3 -2
  148. package/src/foundry/client/data/documents/table.d.mts +5 -4
  149. package/src/foundry/client/data/documents/tile.d.mts +3 -2
  150. package/src/foundry/client/data/documents/token.d.mts +6 -11
  151. package/src/foundry/client/data/documents/user.d.mts +4 -3
  152. package/src/foundry/client/data/documents/wall.d.mts +3 -2
  153. package/src/foundry/client/game.d.mts +24 -22
  154. package/src/foundry/client/head.d.mts +12 -7
  155. package/src/foundry/client/hooks.d.mts +59 -40
  156. package/src/foundry/client/pixi/board.d.mts +12 -6
  157. package/src/foundry/client/pixi/core/containers/base-canvas-group.d.mts +95 -24
  158. package/src/foundry/client/pixi/core/containers/cached-container.d.mts +36 -18
  159. package/src/foundry/client/pixi/core/containers/full-canvas-container.d.mts +7 -10
  160. package/src/foundry/client/pixi/core/containers/point-source-mesh.d.mts +24 -14
  161. package/src/foundry/client/pixi/core/containers/quad-mesh.d.mts +15 -5
  162. package/src/foundry/client/pixi/core/containers/quadtree.d.mts +107 -50
  163. package/src/foundry/client/pixi/core/containers/sprite-mesh.d.mts +66 -23
  164. package/src/foundry/client/pixi/core/containers/unbound-container.d.mts +20 -2
  165. package/src/foundry/client/pixi/core/interaction/canvas-animation.d.mts +158 -99
  166. package/src/foundry/client/pixi/core/interaction/control-icon.d.mts +61 -22
  167. package/src/foundry/client/pixi/core/interaction/mouse-handler.d.mts +119 -52
  168. package/src/foundry/client/pixi/core/interaction/ping.d.mts +51 -28
  169. package/src/foundry/client/pixi/core/interaction/pings/chevron.d.mts +16 -8
  170. package/src/foundry/client/pixi/core/interaction/pings/pulse.d.mts +84 -33
  171. package/src/foundry/client/pixi/core/interaction/render-flags.d.mts +16 -6
  172. package/src/foundry/client/pixi/core/interaction/resize-handle.d.mts +35 -5
  173. package/src/foundry/client/pixi/core/interaction/targets.d.mts +19 -16
  174. package/src/foundry/client/pixi/core/loader.d.mts +85 -75
  175. package/src/foundry/client/pixi/core/shapes/limited-angle-polygon.d.mts +36 -16
  176. package/src/foundry/client/pixi/core/shapes/polygon-mesher.d.mts +92 -64
  177. package/src/foundry/client/pixi/core/shapes/precise-text.d.mts +28 -10
  178. package/src/foundry/client/pixi/core/shapes/ray.d.mts +27 -9
  179. package/src/foundry/client/pixi/core/shapes/source-polygon.d.mts +162 -72
  180. package/src/foundry/client/pixi/extensions/circle.d.mts +128 -125
  181. package/src/foundry/client/pixi/extensions/graphics.d.mts +3 -1
  182. package/src/foundry/client/pixi/extensions/observable-transform.d.mts +3 -2
  183. package/src/foundry/client/pixi/extensions/polygon.d.mts +154 -134
  184. package/src/foundry/client/pixi/extensions/rectangle.d.mts +242 -259
  185. package/src/foundry/client/pixi/groups/effects.d.mts +75 -24
  186. package/src/foundry/client/pixi/groups/environment.d.mts +68 -19
  187. package/src/foundry/client/pixi/groups/hidden.d.mts +27 -11
  188. package/src/foundry/client/pixi/groups/interface.d.mts +62 -38
  189. package/src/foundry/client/pixi/groups/overlay.d.mts +18 -6
  190. package/src/foundry/client/pixi/groups/primary.d.mts +64 -42
  191. package/src/foundry/client/pixi/groups/rendered.d.mts +18 -6
  192. package/src/foundry/client/pixi/layers/base/canvas-layer.d.mts +9 -13
  193. package/src/foundry/client/pixi/layers/base/interaction-layer.d.mts +18 -17
  194. package/src/foundry/client/pixi/layers/base/placeables-layer.d.mts +86 -98
  195. package/src/foundry/client/pixi/layers/controls/cursor.d.mts +1 -1
  196. package/src/foundry/client/pixi/layers/controls/door.d.mts +9 -0
  197. package/src/foundry/client/pixi/layers/controls/layer.d.mts +10 -8
  198. package/src/foundry/client/pixi/layers/controls/ruler.d.mts +1 -1
  199. package/src/foundry/client/pixi/layers/effects/background-effects.d.mts +6 -8
  200. package/src/foundry/client/pixi/layers/effects/coloration-effects.d.mts +4 -7
  201. package/src/foundry/client/pixi/layers/effects/darkness-effects.d.mts +3 -6
  202. package/src/foundry/client/pixi/layers/effects/illumination-effects.d.mts +4 -7
  203. package/src/foundry/client/pixi/layers/effects/visibility.d.mts +11 -8
  204. package/src/foundry/client/pixi/layers/effects/weather/particles/effect.d.mts +1 -1
  205. package/src/foundry/client/pixi/layers/effects/weather-effects.d.mts +5 -8
  206. package/src/foundry/client/pixi/layers/grid/highlight.d.mts +1 -1
  207. package/src/foundry/client/pixi/layers/grid/layer.d.mts +6 -8
  208. package/src/foundry/client/pixi/layers/grid/mesh.d.mts +1 -1
  209. package/src/foundry/client/pixi/layers/masks/depth.d.mts +11 -6
  210. package/src/foundry/client/pixi/layers/masks/occlusion.d.mts +18 -11
  211. package/src/foundry/client/pixi/layers/masks/vision.d.mts +100 -14
  212. package/src/foundry/client/pixi/layers/placeables/drawings.d.mts +3 -6
  213. package/src/foundry/client/pixi/layers/placeables/index.d.mts +1 -0
  214. package/src/foundry/client/pixi/layers/placeables/lighting.d.mts +4 -7
  215. package/src/foundry/client/pixi/layers/placeables/notes.d.mts +4 -6
  216. package/src/foundry/client/pixi/layers/placeables/regions.d.mts +100 -0
  217. package/src/foundry/client/pixi/layers/placeables/sounds.d.mts +4 -8
  218. package/src/foundry/client/pixi/layers/placeables/templates.d.mts +3 -6
  219. package/src/foundry/client/pixi/layers/placeables/tiles.d.mts +3 -5
  220. package/src/foundry/client/pixi/layers/placeables/tokens.d.mts +6 -10
  221. package/src/foundry/client/pixi/layers/placeables/walls.d.mts +9 -11
  222. package/src/foundry/client/pixi/perception/clockwise-sweep.d.mts +53 -24
  223. package/src/foundry/client/pixi/perception/detection-mode.d.mts +4 -2
  224. package/src/foundry/client/pixi/perception/fog.d.mts +9 -0
  225. package/src/foundry/client/pixi/perception/vision-mode.d.mts +7 -4
  226. package/src/foundry/client/pixi/perception/weiler-atherton-clipping.d.mts +42 -14
  227. package/src/foundry/client/pixi/placeable.d.mts +15 -7
  228. package/src/foundry/client/pixi/placeables/drawing.d.mts +10 -9
  229. package/src/foundry/client/pixi/placeables/index.d.mts +1 -0
  230. package/src/foundry/client/pixi/placeables/light.d.mts +8 -6
  231. package/src/foundry/client/pixi/placeables/note.d.mts +8 -7
  232. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-canvas-object.d.mts +29 -8
  233. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-graphics.d.mts +41 -11
  234. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-occludable-object.d.mts +59 -18
  235. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-sprite-mesh.d.mts +120 -37
  236. package/src/foundry/client/pixi/placeables/region.d.mts +177 -0
  237. package/src/foundry/client/pixi/placeables/sound.d.mts +7 -6
  238. package/src/foundry/client/pixi/placeables/template.d.mts +10 -10
  239. package/src/foundry/client/pixi/placeables/tile.d.mts +12 -10
  240. package/src/foundry/client/pixi/placeables/token.d.mts +147 -18
  241. package/src/foundry/client/pixi/placeables/wall.d.mts +11 -9
  242. package/src/foundry/client/pixi/webgl/extensions/batch-renderer.d.mts +50 -33
  243. package/src/foundry/client/pixi/webgl/extensions/batch-shader-generator.d.mts +9 -8
  244. package/src/foundry/client/pixi/webgl/helpers/{framebugger-snapshot.d.mts → framebuffer-snapshot.d.mts} +9 -8
  245. package/src/foundry/client/pixi/webgl/helpers/index.d.mts +1 -1
  246. package/src/foundry/client/pixi/webgl/helpers/smooth-noise.d.mts +30 -23
  247. package/src/foundry/client/pixi/webgl/helpers/texture-extractor.d.mts +82 -53
  248. package/src/foundry/client/pixi/webgl/shaders/base-shader-mixin.d.mts +10 -10
  249. package/src/foundry/client/pixi/webgl/shaders/base-shader.d.mts +45 -28
  250. package/src/foundry/client/pixi/webgl/shaders/filters/base-filter.d.mts +11 -10
  251. package/src/foundry/client/pixi/webgl/shaders/filters/base-mask-filter.d.mts +11 -9
  252. package/src/foundry/client/pixi/webgl/shaders/filters/blur.d.mts +21 -19
  253. package/src/foundry/client/pixi/webgl/shaders/filters/effects-masking.d.mts +33 -32
  254. package/src/foundry/client/pixi/webgl/shaders/filters/environment.d.mts +9 -8
  255. package/src/foundry/client/pixi/webgl/shaders/filters/glow-overlay.d.mts +11 -10
  256. package/src/foundry/client/pixi/webgl/shaders/filters/invisibility.d.mts +9 -8
  257. package/src/foundry/client/pixi/webgl/shaders/filters/outline-overlay.d.mts +11 -10
  258. package/src/foundry/client/pixi/webgl/shaders/filters/transition.d.mts +65 -58
  259. package/src/foundry/client/pixi/webgl/shaders/filters/visibility.d.mts +20 -16
  260. package/src/foundry/client/pixi/webgl/shaders/filters/vision-mask-filter.d.mts +13 -10
  261. package/src/foundry/client/pixi/webgl/shaders/filters/void.d.mts +9 -8
  262. package/src/foundry/client/pixi/webgl/shaders/filters/weather-occlusion-masks.d.mts +9 -8
  263. package/src/foundry/client/pixi/webgl/shaders/fragment-channel-mixin.d.mts +20 -14
  264. package/src/foundry/client/pixi/webgl/shaders/grid/grid.d.mts +11 -10
  265. package/src/foundry/client/pixi/webgl/shaders/lighting/background-lighting.d.mts +9 -8
  266. package/src/foundry/client/pixi/webgl/shaders/lighting/base-lighting.d.mts +32 -32
  267. package/src/foundry/client/pixi/webgl/shaders/lighting/coloration-lighting.d.mts +9 -8
  268. package/src/foundry/client/pixi/webgl/shaders/lighting/darkness-lighting.d.mts +9 -8
  269. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/bewitching-wave.d.mts +18 -16
  270. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/black-hole.d.mts +9 -8
  271. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/chroma.d.mts +9 -8
  272. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/emanation.d.mts +9 -8
  273. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/energy-field.d.mts +9 -8
  274. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fairy-light.d.mts +18 -16
  275. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/flame.d.mts +18 -16
  276. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fog.d.mts +9 -8
  277. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/force-grid.d.mts +9 -7
  278. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/ghost-light.d.mts +18 -16
  279. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/hexa-dome.d.mts +9 -8
  280. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/light-dome.d.mts +9 -8
  281. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/magical-gloom.d.mts +9 -8
  282. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/pulse.d.mts +18 -16
  283. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/radial-rainbow.d.mts +9 -8
  284. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/revolving-light.d.mts +9 -8
  285. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/roiling-mass.d.mts +9 -8
  286. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/siren-light.d.mts +18 -16
  287. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/smoke-patch.d.mts +19 -17
  288. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/star-light.d.mts +9 -8
  289. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/sunburst.d.mts +18 -16
  290. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/swirling-rainbow.d.mts +9 -9
  291. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/torch.d.mts +18 -16
  292. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/vortex.d.mts +18 -16
  293. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/wave.d.mts +18 -16
  294. package/src/foundry/client/pixi/webgl/shaders/lighting/illumination-lighting.d.mts +9 -8
  295. package/src/foundry/client/pixi/webgl/shaders/region/adjust-darkness-level.d.mts +70 -28
  296. package/src/foundry/client/pixi/webgl/shaders/region/base.d.mts +52 -8
  297. package/src/foundry/client/pixi/webgl/shaders/region/highlight.d.mts +68 -8
  298. package/src/foundry/client/pixi/webgl/shaders/samplers/base-sampler.d.mts +23 -24
  299. package/src/foundry/client/pixi/webgl/shaders/samplers/baseline-illumination.d.mts +9 -8
  300. package/src/foundry/client/pixi/webgl/shaders/samplers/color-adjustment.d.mts +37 -28
  301. package/src/foundry/client/pixi/webgl/shaders/samplers/depth.d.mts +20 -16
  302. package/src/foundry/client/pixi/webgl/shaders/samplers/fog-of-war.d.mts +9 -8
  303. package/src/foundry/client/pixi/webgl/shaders/samplers/occlusion.d.mts +19 -17
  304. package/src/foundry/client/pixi/webgl/shaders/samplers/primary.d.mts +9 -0
  305. package/src/foundry/client/pixi/webgl/shaders/samplers/token-ring.d.mts +29 -1
  306. package/src/foundry/client/pixi/webgl/shaders/vision/background-vision.d.mts +9 -8
  307. package/src/foundry/client/pixi/webgl/shaders/vision/base-vision.d.mts +10 -8
  308. package/src/foundry/client/pixi/webgl/shaders/vision/coloration-vision.d.mts +9 -8
  309. package/src/foundry/client/pixi/webgl/shaders/vision/effects/amplification.d.mts +9 -8
  310. package/src/foundry/client/pixi/webgl/shaders/vision/effects/wave.d.mts +18 -16
  311. package/src/foundry/client/pixi/webgl/shaders/vision/illumination-vision.d.mts +9 -8
  312. package/src/foundry/client/pixi/webgl/shaders/weather/base-weather.d.mts +37 -32
  313. package/src/foundry/client/pixi/webgl/shaders/weather/effect.d.mts +15 -14
  314. package/src/foundry/client/pixi/webgl/shaders/weather/fog.d.mts +16 -15
  315. package/src/foundry/client/pixi/webgl/shaders/weather/rain.d.mts +18 -17
  316. package/src/foundry/client/pixi/webgl/shaders/weather/snow.d.mts +14 -13
  317. package/src/foundry/client/pixi/workers/texture-worker.d.mts +33 -53
  318. package/src/foundry/client/ui/dialog.d.mts +136 -125
  319. package/src/foundry/client/ui/drag.d.mts +1 -1
  320. package/src/foundry/client/ui/dragdrop.d.mts +1 -1
  321. package/src/foundry/client/ui/editor.d.mts +3 -3
  322. package/src/foundry/client/ui/filepicker.d.mts +1 -1
  323. package/src/foundry/client/ui/filter.d.mts +2 -2
  324. package/src/foundry/client/ui/index.d.mts +0 -2
  325. package/src/foundry/client-esm/_module.d.mts +112 -0
  326. package/src/foundry/client-esm/_types.d.mts +8 -0
  327. package/src/foundry/client-esm/applications/_module.d.mts +10 -5
  328. package/src/foundry/client-esm/applications/_types.d.mts +2 -2
  329. package/src/foundry/client-esm/applications/api/_module.d.mts +6 -5
  330. package/src/foundry/client-esm/applications/api/application.d.mts +207 -36
  331. package/src/foundry/client-esm/applications/api/category-browser.d.mts +40 -0
  332. package/src/foundry/client-esm/applications/api/dialog.d.mts +152 -74
  333. package/src/foundry/client-esm/applications/api/document-sheet.d.mts +21 -8
  334. package/src/foundry/client-esm/applications/api/handlebars-application.d.mts +161 -131
  335. package/src/foundry/client-esm/applications/apps/_module.d.mts +9 -2
  336. package/src/foundry/client-esm/applications/apps/av/_module.d.mts +7 -0
  337. package/src/foundry/client-esm/applications/apps/av/camera-popout.d.mts +23 -0
  338. package/src/foundry/client-esm/applications/apps/av/cameras.d.mts +95 -0
  339. package/src/foundry/client-esm/applications/apps/combat-tracker-config.d.mts +21 -0
  340. package/src/foundry/client-esm/applications/apps/compendium-art-config.d.mts +6 -5
  341. package/src/foundry/client-esm/applications/apps/document-ownership.d.mts +21 -0
  342. package/src/foundry/client-esm/applications/apps/document-sheet-config.d.mts +24 -0
  343. package/src/foundry/client-esm/applications/apps/file-picker.d.mts +410 -0
  344. package/src/foundry/client-esm/applications/apps/grid-config.d.mts +25 -0
  345. package/src/foundry/client-esm/applications/apps/image-popout.d.mts +56 -0
  346. package/src/foundry/client-esm/applications/apps/permission-config.d.mts +4 -4
  347. package/src/foundry/client-esm/applications/dice/_module.d.mts +2 -2
  348. package/src/foundry/client-esm/applications/dice/roll-resolver.d.mts +14 -2
  349. package/src/foundry/client-esm/applications/elements/_module.d.mts +5 -2
  350. package/src/foundry/client-esm/applications/elements/codemirror/element.d.mts +16 -0
  351. package/src/foundry/client-esm/applications/elements/codemirror/extensions.d.mts +20 -0
  352. package/src/foundry/client-esm/applications/elements/codemirror/view.d.mts +8 -0
  353. package/src/foundry/client-esm/applications/elements/document-embed.d.mts +14 -0
  354. package/src/foundry/client-esm/applications/elements/document-tags.d.mts +2 -0
  355. package/src/foundry/client-esm/applications/elements/enriched-content.d.mts +29 -0
  356. package/src/foundry/client-esm/applications/elements/multi-select.d.mts +15 -5
  357. package/src/foundry/client-esm/applications/elements/prosemirror-editor.d.mts +1 -1
  358. package/src/foundry/client-esm/applications/elements/secret-block.d.mts +7 -0
  359. package/src/foundry/client-esm/applications/elements/string-tags.d.mts +1 -1
  360. package/src/foundry/client-esm/applications/forms/fields.d.mts +1 -1
  361. package/src/foundry/client-esm/applications/handlebars.d.mts +3 -0
  362. package/src/foundry/client-esm/applications/hud/_module.d.mts +10 -0
  363. package/src/foundry/client-esm/applications/hud/container.d.mts +15 -0
  364. package/src/foundry/client-esm/applications/hud/drawing-hud.d.mts +19 -0
  365. package/src/foundry/client-esm/applications/hud/placeable-hud.d.mts +41 -0
  366. package/src/foundry/client-esm/applications/hud/tile-hud.d.mts +19 -0
  367. package/src/foundry/client-esm/applications/hud/token-hud.d.mts +20 -0
  368. package/src/foundry/client-esm/applications/quickstart.d.mts +20 -0
  369. package/src/foundry/client-esm/applications/settings/_module.d.mts +7 -0
  370. package/src/foundry/client-esm/applications/settings/config.d.mts +21 -0
  371. package/src/foundry/client-esm/applications/settings/dependency-resolution.d.mts +19 -0
  372. package/src/foundry/client-esm/applications/settings/menus/_module.d.mts +11 -0
  373. package/src/foundry/client-esm/applications/settings/menus/av-config.d.mts +27 -0
  374. package/src/foundry/client-esm/applications/settings/menus/default-sheets-config.d.mts +19 -0
  375. package/src/foundry/client-esm/applications/settings/menus/dice-config.d.mts +18 -0
  376. package/src/foundry/client-esm/applications/settings/menus/font-config.d.mts +43 -0
  377. package/src/foundry/client-esm/applications/settings/menus/prototype-overrides.d.mts +21 -0
  378. package/src/foundry/client-esm/applications/settings/menus/ui-config.d.mts +26 -0
  379. package/src/foundry/client-esm/applications/sheets/_module.d.mts +30 -5
  380. package/src/foundry/client-esm/applications/sheets/active-effect-config.d.mts +25 -0
  381. package/src/foundry/client-esm/applications/sheets/actor-sheet.d.mts +1 -1
  382. package/src/foundry/client-esm/applications/sheets/adventure-exporter.d.mts +25 -0
  383. package/src/foundry/client-esm/applications/sheets/adventure-importer.d.mts +25 -0
  384. package/src/foundry/client-esm/applications/sheets/ambient-light-config.d.mts +3 -3
  385. package/src/foundry/client-esm/applications/sheets/ambient-sound-config.d.mts +3 -3
  386. package/src/foundry/client-esm/applications/sheets/base-sheet.d.mts +23 -0
  387. package/src/foundry/client-esm/applications/sheets/card-config.d.mts +25 -0
  388. package/src/foundry/client-esm/applications/sheets/cards-config.d.mts +49 -0
  389. package/src/foundry/client-esm/applications/sheets/combatant-config.d.mts +25 -0
  390. package/src/foundry/client-esm/applications/sheets/drawing-config.d.mts +25 -0
  391. package/src/foundry/client-esm/applications/sheets/folder-config.d.mts +25 -0
  392. package/src/foundry/client-esm/applications/sheets/item-sheet.d.mts +1 -1
  393. package/src/foundry/client-esm/applications/sheets/journal/_module.d.mts +16 -0
  394. package/src/foundry/client-esm/applications/sheets/journal/dialog-show.d.mts +19 -0
  395. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-category-config.d.mts +25 -0
  396. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-hbs-sheet.d.mts +19 -0
  397. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-image-sheet.d.mts +18 -0
  398. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-markdown-sheet.d.mts +18 -0
  399. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-pdf-sheet.d.mts +18 -0
  400. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-prose-mirror-sheet.d.mts +18 -0
  401. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-sheet.d.mts +28 -0
  402. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-text-sheet.d.mts +18 -0
  403. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-video-sheet.d.mts +18 -0
  404. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-sheet.d.mts +35 -0
  405. package/src/foundry/client-esm/applications/sheets/macro-config.d.mts +25 -0
  406. package/src/foundry/client-esm/applications/sheets/note-config.d.mts +25 -0
  407. package/src/foundry/client-esm/applications/sheets/playlist-config.d.mts +25 -0
  408. package/src/foundry/client-esm/applications/sheets/playlist-sound-config.d.mts +25 -0
  409. package/src/foundry/client-esm/applications/sheets/region-behavior-config.d.mts +29 -5
  410. package/src/foundry/client-esm/applications/sheets/region-config.d.mts +35 -5
  411. package/src/foundry/client-esm/applications/sheets/roll-table-config.d.mts +25 -0
  412. package/src/foundry/client-esm/applications/sheets/roll-table-sheet.d.mts +25 -0
  413. package/src/foundry/client-esm/applications/sheets/scene-config.d.mts +25 -0
  414. package/src/foundry/client-esm/applications/sheets/table-result-config.d.mts +25 -0
  415. package/src/foundry/client-esm/applications/sheets/template-config.d.mts +25 -0
  416. package/src/foundry/client-esm/applications/sheets/tile-config.d.mts +25 -0
  417. package/src/foundry/client-esm/applications/sheets/token/_module.d.mts +7 -0
  418. package/src/foundry/client-esm/applications/sheets/token/mixin.d.mts +27 -0
  419. package/src/foundry/client-esm/applications/sheets/token/prototype-config.d.mts +18 -0
  420. package/src/foundry/client-esm/applications/sheets/token/token-config.d.mts +25 -0
  421. package/src/foundry/client-esm/applications/sheets/user-config.d.mts +3 -3
  422. package/src/foundry/client-esm/applications/sheets/wall-config.d.mts +25 -0
  423. package/src/foundry/client-esm/applications/sidebar/_module.d.mts +10 -0
  424. package/src/foundry/client-esm/applications/sidebar/apps/_module.d.mts +15 -0
  425. package/src/foundry/client-esm/applications/sidebar/apps/chat-popout.d.mts +22 -0
  426. package/src/foundry/client-esm/applications/sidebar/apps/compendium.d.mts +21 -0
  427. package/src/foundry/client-esm/applications/sidebar/apps/controls-config.d.mts +20 -0
  428. package/src/foundry/client-esm/applications/sidebar/apps/folder-export.d.mts +18 -0
  429. package/src/foundry/client-esm/applications/sidebar/apps/frame-viewer.d.mts +22 -0
  430. package/src/foundry/client-esm/applications/sidebar/apps/invitation-links.d.mts +17 -0
  431. package/src/foundry/client-esm/applications/sidebar/apps/module-management.d.mts +21 -0
  432. package/src/foundry/client-esm/applications/sidebar/apps/support-details.d.mts +17 -0
  433. package/src/foundry/client-esm/applications/sidebar/apps/tours-management.d.mts +20 -0
  434. package/src/foundry/client-esm/applications/sidebar/apps/world-config.d.mts +19 -0
  435. package/src/foundry/client-esm/applications/sidebar/document-directory.d.mts +30 -0
  436. package/src/foundry/client-esm/applications/sidebar/sidebar-tab.d.mts +86 -0
  437. package/src/foundry/client-esm/applications/sidebar/sidebar.d.mts +18 -0
  438. package/src/foundry/client-esm/applications/sidebar/tabs/_module.d.mts +17 -0
  439. package/src/foundry/client-esm/applications/sidebar/tabs/actor-directory.d.mts +20 -0
  440. package/src/foundry/client-esm/applications/sidebar/tabs/cards-directory.d.mts +20 -0
  441. package/src/foundry/client-esm/applications/sidebar/tabs/chat.d.mts +19 -0
  442. package/src/foundry/client-esm/applications/sidebar/tabs/combat-tracker.d.mts +19 -0
  443. package/src/foundry/client-esm/applications/sidebar/tabs/compendium-directory.d.mts +19 -0
  444. package/src/foundry/client-esm/applications/sidebar/tabs/item-directory.d.mts +20 -0
  445. package/src/foundry/client-esm/applications/sidebar/tabs/journal-directory.d.mts +20 -0
  446. package/src/foundry/client-esm/applications/sidebar/tabs/macro-directory.d.mts +20 -0
  447. package/src/foundry/client-esm/applications/sidebar/tabs/playlist-directory.d.mts +20 -0
  448. package/src/foundry/client-esm/applications/sidebar/tabs/roll-table-directory.d.mts +20 -0
  449. package/src/foundry/client-esm/applications/sidebar/tabs/scene-directory.d.mts +20 -0
  450. package/src/foundry/client-esm/applications/sidebar/tabs/settings.d.mts +18 -0
  451. package/src/foundry/client-esm/applications/ui/_module.d.mts +9 -2
  452. package/src/foundry/client-esm/applications/ui/game-pause.d.mts +22 -0
  453. package/src/foundry/client-esm/applications/ui/hotbar.d.mts +29 -0
  454. package/src/foundry/client-esm/applications/ui/main-menu.d.mts +27 -0
  455. package/src/foundry/client-esm/applications/ui/notifications.d.mts +208 -0
  456. package/src/foundry/client-esm/applications/ui/players.d.mts +26 -0
  457. package/src/foundry/client-esm/applications/ui/region-legend.d.mts +48 -3
  458. package/src/foundry/client-esm/applications/ui/scene-controls.d.mts +20 -0
  459. package/src/foundry/client-esm/applications/ui/scene-navigation.d.mts +28 -0
  460. package/src/foundry/client-esm/applications/ux/_module.d.mts +14 -0
  461. package/src/foundry/client-esm/applications/ux/context-menu.d.mts +359 -0
  462. package/src/foundry/client-esm/applications/ux/drag-drop.d.mts +21 -0
  463. package/src/foundry/client-esm/applications/ux/draggable.d.mts +9 -0
  464. package/src/foundry/client-esm/applications/ux/form-data-extended.d.mts +17 -0
  465. package/src/foundry/client-esm/applications/ux/html-secret.d.mts +21 -0
  466. package/src/foundry/client-esm/applications/ux/prosemirror-editor.d.mts +9 -0
  467. package/src/foundry/client-esm/applications/ux/search-filter.d.mts +9 -0
  468. package/src/foundry/client-esm/applications/ux/tabs.d.mts +29 -0
  469. package/src/foundry/client-esm/applications/ux/text-editor.d.mts +9 -0
  470. package/src/foundry/client-esm/appv1/_module.d.mts +7 -0
  471. package/src/foundry/client-esm/appv1/api/_module.d.mts +9 -0
  472. package/src/foundry/client-esm/appv1/api/application-v1.d.mts +5 -0
  473. package/src/foundry/client-esm/appv1/api/dialog-v1.d.mts +5 -0
  474. package/src/foundry/client-esm/appv1/api/document-sheet-v1.d.mts +5 -0
  475. package/src/foundry/client-esm/appv1/api/form-application-v1.d.mts +5 -0
  476. package/src/foundry/client-esm/appv1/sheets/_module.d.mts +10 -0
  477. package/src/foundry/client-esm/appv1/sheets/actor-sheet.d.mts +5 -0
  478. package/src/foundry/client-esm/appv1/sheets/adventure-importer.d.mts +5 -0
  479. package/src/foundry/client-esm/appv1/sheets/item-sheet.d.mts +5 -0
  480. package/src/foundry/client-esm/appv1/sheets/journal-page-sheet.d.mts +7 -0
  481. package/src/foundry/client-esm/appv1/sheets/journal-sheet.d.mts +5 -0
  482. package/src/foundry/client-esm/audio/_module.d.mts +2 -3
  483. package/src/foundry/client-esm/audio/biquad.d.mts +1 -1
  484. package/src/foundry/client-esm/audio/convolver.d.mts +1 -1
  485. package/src/foundry/client-esm/audio/helper.d.mts +1 -1
  486. package/src/foundry/client-esm/audio/sound.d.mts +2 -2
  487. package/src/foundry/client-esm/av/_module.d.mts +10 -0
  488. package/src/foundry/client-esm/av/client.d.mts +18 -0
  489. package/src/foundry/client-esm/av/clients/_module.d.mts +6 -0
  490. package/src/foundry/client-esm/av/clients/simplepeer.d.mts +11 -0
  491. package/src/foundry/client-esm/av/master.d.mts +12 -0
  492. package/src/foundry/client-esm/av/settings.d.mts +30 -0
  493. package/src/foundry/client-esm/canvas/_module.d.mts +2 -2
  494. package/src/foundry/client-esm/canvas/edges/_module.d.mts +2 -2
  495. package/src/foundry/client-esm/canvas/edges/collision.d.mts +61 -18
  496. package/src/foundry/client-esm/canvas/edges/edge.d.mts +106 -42
  497. package/src/foundry/client-esm/canvas/edges/edges.d.mts +9 -0
  498. package/src/foundry/client-esm/canvas/edges/vertex.d.mts +51 -23
  499. package/src/foundry/client-esm/canvas/regions/_module.d.mts +6 -11
  500. package/src/foundry/client-esm/canvas/regions/geometry.d.mts +31 -0
  501. package/src/foundry/client-esm/canvas/regions/mesh.d.mts +61 -0
  502. package/src/foundry/client-esm/canvas/regions/polygon-tree.d.mts +101 -0
  503. package/src/foundry/client-esm/canvas/regions/shape.d.mts +118 -0
  504. package/src/foundry/client-esm/canvas/scene-manager.d.mts +9 -0
  505. package/src/foundry/client-esm/canvas/smaa/smaa.d.mts +2 -3
  506. package/src/foundry/client-esm/canvas/sources/_module.d.mts +2 -2
  507. package/src/foundry/client-esm/canvas/sources/base-effect-source.d.mts +32 -18
  508. package/src/foundry/client-esm/canvas/sources/base-light-source.d.mts +53 -15
  509. package/src/foundry/client-esm/canvas/sources/global-light-source.d.mts +18 -3
  510. package/src/foundry/client-esm/canvas/sources/point-darkness-source.d.mts +47 -20
  511. package/src/foundry/client-esm/canvas/sources/point-effect-source.d.mts +17 -7
  512. package/src/foundry/client-esm/canvas/sources/point-light-source.d.mts +26 -14
  513. package/src/foundry/client-esm/canvas/sources/point-movement-source.d.mts +20 -4
  514. package/src/foundry/client-esm/canvas/sources/point-sound-source.d.mts +26 -8
  515. package/src/foundry/client-esm/canvas/sources/point-vision-source.d.mts +26 -25
  516. package/src/foundry/client-esm/canvas/sources/rendered-effect-source.d.mts +89 -52
  517. package/src/foundry/client-esm/canvas/tokens/_module.d.mts +2 -3
  518. package/src/foundry/client-esm/canvas/tokens/ring-config.d.mts +113 -2
  519. package/src/foundry/client-esm/canvas/tokens/ring-data.d.mts +170 -3
  520. package/src/foundry/client-esm/canvas/tokens/ring.d.mts +189 -2
  521. package/src/foundry/client-esm/client.d.mts +56 -63
  522. package/src/foundry/client-esm/config.d.mts +1 -0
  523. package/src/foundry/client-esm/data/_module.d.mts +8 -3
  524. package/src/foundry/client-esm/data/_types.d.mts +10 -0
  525. package/src/foundry/client-esm/data/calendar.d.mts +213 -0
  526. package/src/foundry/client-esm/data/client-backend.d.mts +17 -18
  527. package/src/foundry/client-esm/data/combat-config.d.mts +53 -0
  528. package/src/foundry/client-esm/data/region-behaviors/_module.d.mts +11 -14
  529. package/src/foundry/client-esm/data/region-behaviors/adjust-darkness-level.d.mts +57 -0
  530. package/src/foundry/client-esm/data/region-behaviors/base.d.mts +59 -0
  531. package/src/foundry/client-esm/data/region-behaviors/display-scrolling-text.d.mts +64 -0
  532. package/src/foundry/client-esm/data/region-behaviors/execute-macro.d.mts +27 -0
  533. package/src/foundry/client-esm/data/region-behaviors/execute-script.d.mts +23 -0
  534. package/src/foundry/client-esm/data/region-behaviors/pause-game.d.mts +23 -0
  535. package/src/foundry/client-esm/data/region-behaviors/suppress-weather.d.mts +17 -0
  536. package/src/foundry/client-esm/data/region-behaviors/teleport-token.d.mts +32 -0
  537. package/src/foundry/client-esm/data/region-behaviors/toggle-behavior.d.mts +31 -0
  538. package/src/foundry/client-esm/data/terrain-data.d.mts +22 -0
  539. package/src/foundry/client-esm/dice/_module.d.mts +2 -3
  540. package/src/foundry/client-esm/dice/parser.d.mts +8 -0
  541. package/src/foundry/client-esm/dice/roll.d.mts +64 -30
  542. package/src/foundry/client-esm/dice/terms/_module.d.mts +2 -3
  543. package/src/foundry/client-esm/dice/terms/coin.d.mts +8 -1
  544. package/src/foundry/client-esm/dice/terms/dice.d.mts +11 -2
  545. package/src/foundry/client-esm/dice/terms/die.d.mts +9 -2
  546. package/src/foundry/client-esm/dice/terms/fate.d.mts +9 -2
  547. package/src/foundry/client-esm/dice/terms/function.d.mts +5 -2
  548. package/src/foundry/client-esm/dice/terms/numeric.d.mts +1 -1
  549. package/src/foundry/client-esm/dice/terms/operator.d.mts +1 -1
  550. package/src/foundry/client-esm/dice/terms/parenthetical.d.mts +1 -1
  551. package/src/foundry/client-esm/dice/terms/pool.d.mts +15 -6
  552. package/src/foundry/client-esm/dice/terms/string.d.mts +1 -1
  553. package/src/foundry/client-esm/dice/terms/term.d.mts +12 -3
  554. package/src/foundry/client-esm/documents/_module.d.mts +11 -0
  555. package/src/foundry/client-esm/documents/_types.d.mts +8 -0
  556. package/src/foundry/client-esm/documents/abstract/_module.d.mts +6 -0
  557. package/src/foundry/client-esm/documents/collections/_module.d.mts +6 -0
  558. package/src/foundry/client-esm/game.d.mts +7 -0
  559. package/src/foundry/client-esm/helpers/_module.d.mts +2 -2
  560. package/src/foundry/client-esm/helpers/_types.d.mts +1 -1
  561. package/src/foundry/client-esm/hooks.d.mts +1 -0
  562. package/src/foundry/client-esm/nue/_module.d.mts +9 -0
  563. package/src/foundry/client-esm/nue/nue-manager.d.mts +18 -0
  564. package/src/foundry/client-esm/nue/tour.d.mts +9 -0
  565. package/src/foundry/client-esm/nue/tours/_module.d.mts +8 -0
  566. package/src/foundry/client-esm/nue/tours/canvas-tour.d.mts +12 -0
  567. package/src/foundry/client-esm/nue/tours/setup-tour.d.mts +11 -0
  568. package/src/foundry/client-esm/nue/tours/sidebar-tour.d.mts +11 -0
  569. package/src/foundry/client-esm/nue/tours-collection.d.mts +25 -0
  570. package/src/foundry/client-esm/packages/_module.d.mts +22 -0
  571. package/src/foundry/client-esm/packages/_types.d.mts +11 -0
  572. package/src/foundry/client-esm/packages/client-package.d.mts +11 -0
  573. package/src/foundry/client-esm/packages/module.d.mts +8 -0
  574. package/src/foundry/client-esm/packages/system.d.mts +8 -0
  575. package/src/foundry/client-esm/packages/world.d.mts +8 -0
  576. package/src/foundry/client-esm/ui.d.mts +1 -0
  577. package/src/foundry/client-esm/utils/_module.d.mts +7 -0
  578. package/src/foundry/client-esm/utils/_types.d.mts +2 -0
  579. package/src/foundry/client-esm/utils/helpers.d.mts +6 -0
  580. package/src/foundry/common/{types.d.mts → _types.d.mts} +3 -3
  581. package/src/foundry/common/abstract/{module.d.mts → _module.d.mts} +2 -2
  582. package/src/foundry/common/abstract/backend.d.mts +38 -44
  583. package/src/foundry/common/abstract/data.d.mts +9 -46
  584. package/src/foundry/common/abstract/document.d.mts +214 -139
  585. package/src/foundry/common/abstract/embedded-collection-delta.d.mts +1 -1
  586. package/src/foundry/common/abstract/embedded-collection.d.mts +37 -7
  587. package/src/foundry/common/abstract/socket.d.mts +1 -1
  588. package/src/foundry/common/abstract/type-data.d.mts +36 -25
  589. package/src/foundry/common/config.d.mts +3 -1
  590. package/src/foundry/common/constants.d.mts +234 -205
  591. package/src/foundry/common/data/{module.d.mts → _module.d.mts} +2 -2
  592. package/src/foundry/common/data/_types.d.mts +47 -0
  593. package/src/foundry/common/data/data.d.mts +25 -19
  594. package/src/foundry/common/data/fields.d.mts +366 -425
  595. package/src/foundry/common/data/validation-failure.d.mts +4 -6
  596. package/src/foundry/common/documents/_module.d.mts +4 -2
  597. package/src/foundry/common/documents/_types.d.mts +10 -45
  598. package/src/foundry/common/documents/active-effect.d.mts +5 -4
  599. package/src/foundry/common/documents/actor-delta.d.mts +7 -5
  600. package/src/foundry/common/documents/actor.d.mts +6 -19
  601. package/src/foundry/common/documents/adventure.d.mts +13 -2
  602. package/src/foundry/common/documents/ambient-light.d.mts +3 -1
  603. package/src/foundry/common/documents/ambient-sound.d.mts +3 -1
  604. package/src/foundry/common/documents/card.d.mts +6 -4
  605. package/src/foundry/common/documents/cards.d.mts +3 -1
  606. package/src/foundry/common/documents/chat-message.d.mts +10 -8
  607. package/src/foundry/common/documents/combat.d.mts +3 -1
  608. package/src/foundry/common/documents/combatant.d.mts +4 -12
  609. package/src/foundry/common/documents/drawing.d.mts +6 -4
  610. package/src/foundry/common/documents/fog-exploration.d.mts +3 -1
  611. package/src/foundry/common/documents/folder.d.mts +9 -1
  612. package/src/foundry/common/documents/item.d.mts +5 -3
  613. package/src/foundry/common/documents/journal-entry-page.d.mts +3 -2
  614. package/src/foundry/common/documents/journal-entry.d.mts +3 -1
  615. package/src/foundry/common/documents/macro.d.mts +5 -3
  616. package/src/foundry/common/documents/measured-template.d.mts +6 -8
  617. package/src/foundry/common/documents/module.d.mts +2 -2
  618. package/src/foundry/common/documents/note.d.mts +4 -2
  619. package/src/foundry/common/documents/playlist-sound.d.mts +4 -2
  620. package/src/foundry/common/documents/playlist.d.mts +3 -1
  621. package/src/foundry/common/documents/region-behavior.d.mts +88 -0
  622. package/src/foundry/common/documents/region.d.mts +108 -0
  623. package/src/foundry/common/documents/roll-table.d.mts +3 -1
  624. package/src/foundry/common/documents/scene.d.mts +9 -1
  625. package/src/foundry/common/documents/setting.d.mts +3 -2
  626. package/src/foundry/common/documents/table-result.d.mts +4 -2
  627. package/src/foundry/common/documents/tile.d.mts +3 -1
  628. package/src/foundry/common/documents/token.d.mts +15 -7
  629. package/src/foundry/common/documents/user.d.mts +7 -5
  630. package/src/foundry/common/documents/wall.d.mts +3 -1
  631. package/src/foundry/common/grid/_module.d.mts +3 -3
  632. package/src/foundry/common/grid/_types.d.mts +47 -0
  633. package/src/foundry/common/grid/base.d.mts +10 -14
  634. package/src/foundry/common/grid/gridless.d.mts +2 -2
  635. package/src/foundry/common/grid/hexagonal.d.mts +16 -9
  636. package/src/foundry/common/grid/square.d.mts +2 -2
  637. package/src/foundry/common/packages/{module.d.mts → _module.d.mts} +2 -2
  638. package/src/foundry/common/packages/_types.d.mts +25 -0
  639. package/src/foundry/common/packages/base-package.d.mts +6 -6
  640. package/src/foundry/common/packages/base-system.d.mts +19 -4
  641. package/src/foundry/common/packages/base-world.d.mts +2 -2
  642. package/src/foundry/common/packages/sub-types.d.mts +1 -1
  643. package/src/foundry/common/primitives/array.d.mts +1 -1
  644. package/src/foundry/common/primitives/number.d.mts +1 -1
  645. package/src/foundry/common/primitives/string.d.mts +1 -1
  646. package/src/foundry/common/prosemirror/_module.d.mts +15 -15
  647. package/src/foundry/common/prosemirror/_types.d.mts +29 -0
  648. package/src/foundry/common/prosemirror/dirty-plugin.d.mts +1 -1
  649. package/src/foundry/common/prosemirror/dom-parser.d.mts +2 -1
  650. package/src/foundry/common/prosemirror/highlight-matches-plugin.d.mts +1 -1
  651. package/src/foundry/common/prosemirror/image-plugin.d.mts +1 -1
  652. package/src/foundry/common/prosemirror/paste-transformer.d.mts +1 -1
  653. package/src/foundry/common/prosemirror/plugin.d.mts +1 -1
  654. package/src/foundry/common/prosemirror/schema/index.d.mts +1 -1
  655. package/src/foundry/common/prosemirror/schema/lists.d.mts +2 -0
  656. package/src/foundry/common/utils/{module.d.mts → _module.d.mts} +2 -2
  657. package/src/foundry/common/utils/_types.d.mts +1 -0
  658. package/src/foundry/common/utils/bitmask.d.mts +20 -11
  659. package/src/foundry/common/utils/collection.d.mts +7 -19
  660. package/src/foundry/common/utils/color.d.mts +20 -2
  661. package/src/foundry/common/utils/event-emitter.d.mts +1 -1
  662. package/src/foundry/common/utils/helpers.d.mts +23 -13
  663. package/src/foundry/common/utils/string-tree.d.mts +1 -1
  664. package/src/foundry/common/utils/word-tree.d.mts +1 -1
  665. package/src/foundry/index.d.mts +0 -1
  666. package/src/foundry/{clipper → public/scripts/clipper}/clipper.d.mts +58 -16
  667. package/src/foundry/public/scripts/index.d.mts +1 -0
  668. package/src/foundry/public/scripts/workers/image-compressor.d.mts +23 -0
  669. package/src/foundry/public/scripts/workers/index.d.mts +1 -0
  670. package/{index-lenient.d.mts → src/index-lenient.d.mts} +2 -0
  671. package/src/index.d.mts +6 -0
  672. package/src/tsconfig.json +19 -0
  673. package/src/types/augments/particles.d.mts +29 -0
  674. package/src/types/augments/pixi.d.mts +1013 -10
  675. package/src/types/augments/smooth.d.mts +31 -0
  676. package/src/types/augments/tinyMCE.d.mts +1 -1
  677. package/src/types/config.d.mts +20 -312
  678. package/src/types/documentConfiguration.d.mts +91 -32
  679. package/src/types/index.d.mts +1 -1
  680. package/src/types/lib.d.mts +12 -0
  681. package/src/types/workers/image-compressor.d.mts +176 -0
  682. package/src/utils/index.d.mts +1091 -0
  683. package/index.d.mts +0 -5
  684. package/src/foundry/client/ui/context.d.mts +0 -213
  685. package/src/foundry/client/ui/notifications.d.mts +0 -136
  686. package/src/foundry/common/primitives/regex.d.mts +0 -12
  687. package/src/types/helperTypes.d.mts +0 -583
  688. package/src/types/utils.d.mts +0 -539
  689. /package/src/foundry/common/primitives/{module.d.mts → _module.d.mts} +0 -0
  690. /package/src/foundry/{clipper → public/scripts/clipper}/index.d.mts +0 -0
@@ -1,16 +1,16 @@
1
1
  import type {
2
2
  RemoveIndexSignatures,
3
3
  SimpleMerge,
4
- ValueOf,
5
4
  AnyObject,
6
5
  EmptyObject,
7
6
  NullishProps,
8
7
  InexactPartial,
9
- AnyConstructor,
10
- } from "../../../types/utils.d.mts";
8
+ ToMethod,
9
+ FixedInstanceType,
10
+ } from "../../../utils/index.d.mts";
11
11
  import type { DataModel } from "../abstract/data.mts";
12
12
  import type Document from "../abstract/document.mts";
13
- import type { EmbeddedCollection, EmbeddedCollectionDelta, TypeDataModel } from "../abstract/module.d.mts";
13
+ import type { EmbeddedCollection, EmbeddedCollectionDelta, TypeDataModel } from "../abstract/_module.d.mts";
14
14
  import type { DOCUMENT_OWNERSHIP_LEVELS } from "../constants.d.mts";
15
15
  import type { CONST } from "../../client-esm/client.d.mts";
16
16
  import type { DataModelValidationFailure } from "./validation-failure.mts";
@@ -23,100 +23,8 @@ import type {
23
23
  SelectInputConfig,
24
24
  TextAreaInputConfig,
25
25
  } from "../../client-esm/applications/forms/fields.d.mts";
26
- import type { ToMethod } from "../../../types/helperTypes.d.mts";
27
26
 
28
- declare global {
29
- /**
30
- * @typeParam BaseAssignmentType - the base assignment type for a DataField, without null or undefined
31
- */
32
- interface DataFieldOptions<BaseAssignmentType> {
33
- /**
34
- * Is this field required to be populated?
35
- * @defaultValue `false`
36
- */
37
- required?: boolean | undefined;
38
-
39
- /**
40
- * Can this field have null values?
41
- * @defaultValue `false`
42
- */
43
- nullable?: boolean | undefined;
44
-
45
- /**
46
- * Can this field only be modified by a gamemaster or assistant gamemaster?
47
- * @defaultValue `false`
48
- */
49
- gmOnly?: boolean | undefined;
50
-
51
- /** The initial value of a field, or a function which assigns that initial value. */
52
- initial?:
53
- | DataFieldOptions.InitialType<
54
- DataFieldOptions.InitialReturnType<BaseAssignmentType, this["nullable"], this["required"]>
55
- >
56
- | undefined;
57
-
58
- /** A data validation function which accepts one argument with the current value. */
59
- validate?: DataField.Validator<BaseAssignmentType> | undefined;
60
-
61
- /** A localizable label displayed on forms which render this field. */
62
- label?: string | undefined;
63
-
64
- /** Localizable help text displayed on forms which render this field. */
65
- hint?: string | undefined;
66
-
67
- /**
68
- * A custom validation error string. When displayed will be prepended with the
69
- * document name, field name, and candidate value. This error string is only
70
- * used when the return type of the validate function is a boolean. If an Error
71
- * is thrown in the validate function, the string message of that Error is used.
72
- */
73
- validationError?: string | undefined;
74
- }
75
-
76
- namespace DataFieldOptions {
77
- /** Any DataFieldOptions. */
78
- // Note(LukeAbby): This `& object` is intentional. Its purpose is to allow options like `{ integer: true }` to be assigned.
79
- // This is an issue because `{ integer: true }` does not extend `{ required?: boolean }` because they have properties in common.
80
- // Even though `{ integer: true, required: undefined }` would extend `{ required?: boolean }` following the regular rules of surplus properties being allowed.
81
- // `object` was chosen over `AnyObject` so that people may pass in interfa
82
- type Any = DataFieldOptions<any> & object;
83
-
84
- /**
85
- * A helper type for the {@link DataFieldOptions.initial} option.
86
- * @typeParam ReturnType - the return type of the option
87
- */
88
- type InitialType<ReturnType> = ReturnType | ((initialData: unknown) => ReturnType);
89
-
90
- /**
91
- * The decorated return type for the {@link DataFieldOptions.initial} option.
92
- * @typeParam BaseAssignmentType - the base assignment type for a DataField
93
- * @typeParam NullableOption - the value of the nullable option
94
- * @typeParam RequiredOption - the value of the required option
95
- */
96
- type InitialReturnType<BaseAssignmentType, NullableOption, RequiredOption> =
97
- | Exclude<BaseAssignmentType, null | undefined>
98
- | (NullableOption extends true ? null : never)
99
- | (RequiredOption extends true ? never : undefined);
100
- }
101
-
102
- interface DataFieldValidationOptions {
103
- /** Whether this is a partial schema validation, or a complete one. */
104
- partial?: boolean;
105
-
106
- /** Whether to allow replacing invalid values with valid fallbacks. */
107
- fallback?: boolean;
108
-
109
- /** The full source object being evaluated. */
110
- source?: AnyObject;
111
-
112
- /**
113
- * If true, invalid embedded documents will emit a warning and be placed in
114
- * the invalidDocuments collection rather than causing the parent to be
115
- * considered invalid.
116
- */
117
- dropInvalidEmbedded?: boolean;
118
- }
119
- }
27
+ export type DataSchema = Record<string, DataField.Any>;
120
28
 
121
29
  /**
122
30
  * An abstract class that defines the base pattern for a data field within a data schema.
@@ -132,10 +40,10 @@ declare global {
132
40
  * InitialValue: `undefined`
133
41
  */
134
42
  declare abstract class DataField<
135
- const Options extends DataFieldOptions.Any = DataField.DefaultOptions,
43
+ const Options extends DataField.Options.Any = DataField.DefaultOptions,
136
44
  const AssignmentType = DataField.AssignmentType<Options>,
137
45
  const InitializedType = DataField.InitializedType<Options>,
138
- const PersistedType extends unknown | null | undefined = InitializedType,
46
+ const PersistedType = InitializedType,
139
47
  > {
140
48
  // Prevent from being bivariant.
141
49
  #assignmentType: AssignmentType;
@@ -170,7 +78,7 @@ declare abstract class DataField<
170
78
  * The initial value of a field, or a function which assigns that initial value.
171
79
  * @defaultValue `undefined`
172
80
  */
173
- initial: DataFieldOptions.InitialType<InitializedType>;
81
+ initial: DataField.Options.InitialType<InitializedType>;
174
82
 
175
83
  /**
176
84
  * Should the prepared value of the field be read-only, preventing it from being
@@ -234,7 +142,7 @@ declare abstract class DataField<
234
142
  * Default parameters for this field type
235
143
  * @remarks This is not entirely type-safe, overrides should specify a more concrete return type.
236
144
  */
237
- protected static get _defaults(): DataFieldOptions.Any;
145
+ protected static get _defaults(): DataField.Options.Any;
238
146
 
239
147
  /**
240
148
  * A dot-separated string representation of the field path within the parent schema.
@@ -301,7 +209,7 @@ declare abstract class DataField<
301
209
  validate(
302
210
  value: AssignmentType,
303
211
  options?: DataField.ValidationOptions<DataField.Any>,
304
- ): DataModelValidationFailure | undefined;
212
+ ): DataModelValidationFailure | void;
305
213
 
306
214
  /**
307
215
  * Special validation rules which supersede regular field validation.
@@ -403,7 +311,7 @@ declare abstract class DataField<
403
311
  * @param change - The change to apply.
404
312
  * @returns The updated value.
405
313
  */
406
- applyChange(value: InitializedType, model: DataModel.Any, change: EffectChangeData): InitializedType;
314
+ applyChange(value: InitializedType, model: DataModel.Any, change: ActiveEffect.EffectChangeData): InitializedType;
407
315
 
408
316
  /**
409
317
  * Cast a change delta into an appropriate type to be applied to this field.
@@ -426,7 +334,7 @@ declare abstract class DataField<
426
334
  value: InitializedType,
427
335
  delta: InitializedType,
428
336
  model: DataModel.Any,
429
- change: EffectChangeData,
337
+ change: ActiveEffect.EffectChangeData,
430
338
  ): InitializedType | undefined;
431
339
 
432
340
  /**
@@ -441,7 +349,7 @@ declare abstract class DataField<
441
349
  value: InitializedType,
442
350
  delta: InitializedType,
443
351
  model: DataModel.Any,
444
- change: EffectChangeData,
352
+ change: ActiveEffect.EffectChangeData,
445
353
  ): InitializedType | undefined;
446
354
 
447
355
  /**
@@ -456,7 +364,7 @@ declare abstract class DataField<
456
364
  value: InitializedType,
457
365
  delta: InitializedType,
458
366
  model: DataModel.Any,
459
- change: EffectChangeData,
367
+ change: ActiveEffect.EffectChangeData,
460
368
  ): InitializedType | undefined;
461
369
 
462
370
  /**
@@ -471,7 +379,7 @@ declare abstract class DataField<
471
379
  value: InitializedType,
472
380
  delta: InitializedType,
473
381
  model: DataModel.Any,
474
- change: EffectChangeData,
382
+ change: ActiveEffect.EffectChangeData,
475
383
  ): InitializedType | undefined;
476
384
 
477
385
  /**
@@ -486,7 +394,7 @@ declare abstract class DataField<
486
394
  value: InitializedType,
487
395
  delta: InitializedType,
488
396
  model: DataModel.Any,
489
- change: EffectChangeData,
397
+ change: ActiveEffect.EffectChangeData,
490
398
  ): InitializedType | undefined;
491
399
 
492
400
  /**
@@ -501,13 +409,13 @@ declare abstract class DataField<
501
409
  value: InitializedType,
502
410
  delta: InitializedType,
503
411
  model: DataModel.Any,
504
- change: EffectChangeData,
412
+ change: ActiveEffect.EffectChangeData,
505
413
  ): InitializedType;
506
414
  }
507
415
 
508
416
  declare namespace DataField {
509
417
  /** Any DataField. */
510
- type Any = DataField<DataFieldOptions.Any, unknown, unknown, unknown>;
418
+ type Any = DataField<DataField.Options.Any, unknown, unknown, unknown>;
511
419
 
512
420
  type AnyConstructor = typeof AnyDataField;
513
421
 
@@ -535,18 +443,106 @@ declare namespace DataField {
535
443
  validationError: "is not a valid value";
536
444
  }
537
445
 
446
+ interface Options<BaseAssignmentType> {
447
+ /**
448
+ * Is this field required to be populated?
449
+ * @defaultValue `false`
450
+ */
451
+ required?: boolean | undefined;
452
+
453
+ /**
454
+ * Can this field have null values?
455
+ * @defaultValue `false`
456
+ */
457
+ nullable?: boolean | undefined;
458
+
459
+ /**
460
+ * Can this field only be modified by a gamemaster or assistant gamemaster?
461
+ * @defaultValue `false`
462
+ */
463
+ gmOnly?: boolean | undefined;
464
+
465
+ /** The initial value of a field, or a function which assigns that initial value. */
466
+ initial?:
467
+ | DataField.Options.InitialType<
468
+ DataField.Options.InitialReturnType<BaseAssignmentType, this["nullable"], this["required"]>
469
+ >
470
+ | undefined;
471
+
472
+ /** A data validation function which accepts one argument with the current value. */
473
+ validate?: DataField.Validator<BaseAssignmentType> | undefined;
474
+
475
+ /** A localizable label displayed on forms which render this field. */
476
+ label?: string | undefined;
477
+
478
+ /** Localizable help text displayed on forms which render this field. */
479
+ hint?: string | undefined;
480
+
481
+ /**
482
+ * A custom validation error string. When displayed will be prepended with the
483
+ * document name, field name, and candidate value. This error string is only
484
+ * used when the return type of the validate function is a boolean. If an Error
485
+ * is thrown in the validate function, the string message of that Error is used.
486
+ */
487
+ validationError?: string | undefined;
488
+ }
489
+
490
+ namespace Options {
491
+ /** Any DataField.Options. */
492
+ // Note(LukeAbby): This `& object` is intentional. Its purpose is to allow options like `{ integer: true }` to be assigned.
493
+ // This is an issue because `{ integer: true }` does not extend `{ required?: boolean }` because they have properties in common.
494
+ // Even though `{ integer: true, required: undefined }` would extend `{ required?: boolean }` following the regular rules of surplus properties being allowed.
495
+ // `object` was chosen over `AnyObject` so that people may pass in interfa
496
+ type Any = DataField.Options<any> & object;
497
+
498
+ /**
499
+ * A helper type for the {@link DataField.Options.initial} option.
500
+ * @typeParam ReturnType - the return type of the option
501
+ */
502
+ type InitialType<ReturnType> = ReturnType | ((initialData: unknown) => ReturnType);
503
+
504
+ /**
505
+ * The decorated return type for the {@link DataField.Options.initial} option.
506
+ * @typeParam BaseAssignmentType - the base assignment type for a DataField
507
+ * @typeParam NullableOption - the value of the nullable option
508
+ * @typeParam RequiredOption - the value of the required option
509
+ */
510
+ type InitialReturnType<BaseAssignmentType, NullableOption, RequiredOption> =
511
+ | Exclude<BaseAssignmentType, null | undefined>
512
+ | (NullableOption extends true ? null : never)
513
+ | (RequiredOption extends true ? never : undefined);
514
+ }
515
+
516
+ interface DataValidationOptions {
517
+ /** Whether this is a partial schema validation, or a complete one. */
518
+ partial?: boolean;
519
+
520
+ /** Whether to allow replacing invalid values with valid fallbacks. */
521
+ fallback?: boolean;
522
+
523
+ /** The full source object being evaluated. */
524
+ source?: AnyObject;
525
+
526
+ /**
527
+ * If true, invalid embedded documents will emit a warning and be placed in
528
+ * the invalidDocuments collection rather than causing the parent to be
529
+ * considered invalid.
530
+ */
531
+ dropInvalidEmbedded?: boolean;
532
+ }
533
+
538
534
  /**
539
535
  * A helper type for the given options type merged into the default options of the DataField class.
540
536
  * @typeParam Options - the options that override the default options
541
537
  */
542
- type MergedOptions<Options extends DataFieldOptions.Any> = SimpleMerge<DefaultOptions, Options>;
538
+ type MergedOptions<Options extends DataField.Options.Any> = SimpleMerge<DefaultOptions, Options>;
543
539
 
544
540
  /**
545
541
  * A type to decorate the base assignment type to a DataField, based on the options of the field.
546
542
  * @typeParam BaseAssignmentType - the base assignment type of the DataField, without null or undefined
547
543
  * @typeParam Options - the options of the DataField
548
544
  */
549
- type DerivedAssignmentType<BaseAssignmentType, Options extends DataFieldOptions.Any> =
545
+ type DerivedAssignmentType<BaseAssignmentType, Options extends DataField.Options.Any> =
550
546
  | Exclude<BaseAssignmentType, null | undefined> // Always include the base type
551
547
  | (Options["nullable"] extends true // determine whether null is in the union
552
548
  ? // when nullable, null is always allowed
@@ -576,7 +572,7 @@ declare namespace DataField {
576
572
  * @typeParam BaseInitializedType - the base initialized type of the DataField, without null or undefined
577
573
  * @typeParam Options - the options of the DataField
578
574
  */
579
- type DerivedInitializedType<BaseInitializedType, Options extends DataFieldOptions.Any> =
575
+ type DerivedInitializedType<BaseInitializedType, Options extends DataField.Options.Any> =
580
576
  | Exclude<BaseInitializedType, null | undefined>
581
577
  | (Options["nullable"] extends true ? null : never)
582
578
  | (Options["required"] extends true ? never : undefined);
@@ -585,13 +581,13 @@ declare namespace DataField {
585
581
  * A shorthand for the assignment type of a DataField class.
586
582
  * @typeParam Options - the options overriding the defaults
587
583
  */
588
- type AssignmentType<Options extends DataFieldOptions.Any> = DerivedAssignmentType<any, MergedOptions<Options>>;
584
+ type AssignmentType<Options extends DataField.Options.Any> = DerivedAssignmentType<any, MergedOptions<Options>>;
589
585
 
590
586
  /**
591
587
  * A shorthand for the initialized type of a DataField class.
592
588
  * @typeParam Options - the options overriding the defaults
593
589
  */
594
- type InitializedType<Options extends DataFieldOptions.Any> = DerivedInitializedType<any, MergedOptions<Options>>;
590
+ type InitializedType<Options extends DataField.Options.Any> = DerivedInitializedType<any, MergedOptions<Options>>;
595
591
 
596
592
  /** An interface for the options of the {@link DataField} clean functions. */
597
593
  interface CleanOptions {
@@ -702,7 +698,7 @@ declare class SchemaField<
702
698
  override nullable: boolean;
703
699
 
704
700
  /** @defaultValue `() => this.clean({})` */
705
- override initial: DataFieldOptions.InitialType<InitializedType>;
701
+ override initial: DataField.Options.InitialType<InitializedType>;
706
702
 
707
703
  protected static override get _defaults(): SchemaField.Options<DataSchema>;
708
704
 
@@ -785,7 +781,7 @@ declare class SchemaField<
785
781
 
786
782
  override apply<Options, Return>(
787
783
  fn: keyof this | ((this: this, value: undefined | null, options: Options) => Return),
788
- value?: undefined | null,
784
+ value?: null,
789
785
  options?: Options,
790
786
  ): Return;
791
787
  override apply<Value, Options, Return>(
@@ -813,7 +809,7 @@ declare namespace SchemaField {
813
809
  * A shorthand for the options of a SchemaField class.
814
810
  * @typeParam Fields - the DataSchema fields of the SchemaField
815
811
  */
816
- type Options<Fields extends DataSchema> = DataFieldOptions<InnerAssignmentType<Fields> | __SchemaFieldInitial>;
812
+ type Options<Fields extends DataSchema> = DataField.Options<InnerAssignmentType<Fields> | __SchemaFieldInitial>;
817
813
 
818
814
  /** Any SchemaField. */
819
815
  type Any = SchemaField<any, any, any, any, any>;
@@ -842,13 +838,15 @@ declare namespace SchemaField {
842
838
  : never;
843
839
  }>;
844
840
 
841
+ type InnerUpdateData<Fields extends DataSchema> = InnerAssignmentType<Fields>;
842
+
845
843
  /**
846
844
  * Get the inner initialized type for the given DataSchema.
847
845
  * @typeParam Fields - the DataSchema fields of the SchemaField
848
846
  */
849
847
  type InnerInitializedType<Fields extends DataSchema> = RemoveIndexSignatures<{
850
848
  [Key in keyof Fields]: Fields[Key] extends EmbeddedDataField<infer Model, any, any, any, any>
851
- ? InstanceType<Model>
849
+ ? FixedInstanceType<Model>
852
850
  : Fields[Key] extends SchemaField<infer SubSchema, any, any, any, any>
853
851
  ? InnerInitializedType<SubSchema>
854
852
  : Fields[Key] extends DataField<any, any, infer InitType, any>
@@ -947,7 +945,7 @@ declare class BooleanField<
947
945
  override nullable: boolean;
948
946
 
949
947
  /** @defaultValue `false` */
950
- override initial: DataFieldOptions.InitialType<InitializedType>;
948
+ override initial: DataField.Options.InitialType<InitializedType>;
951
949
 
952
950
  protected static override get _defaults(): BooleanField.Options;
953
951
 
@@ -963,7 +961,7 @@ declare class BooleanField<
963
961
 
964
962
  declare namespace BooleanField {
965
963
  /** A shorthand for the options of a BooleanField class. */
966
- type Options = DataFieldOptions<boolean>;
964
+ type Options = DataField.Options<boolean>;
967
965
 
968
966
  /** The type of the default options for the {@link BooleanField} class. */
969
967
  type DefaultOptions = SimpleMerge<
@@ -994,48 +992,6 @@ declare namespace BooleanField {
994
992
  type InitializedType<Opts extends Options> = DataField.DerivedInitializedType<boolean, MergedOptions<Opts>>;
995
993
  }
996
994
 
997
- declare global {
998
- interface NumberFieldOptions extends DataFieldOptions<number> {
999
- /**
1000
- * A minimum allowed value
1001
- * @defaultValue `undefined`
1002
- */
1003
- min?: number | undefined;
1004
-
1005
- /**
1006
- * A maximum allowed value
1007
- * @defaultValue `undefined`
1008
- */
1009
- max?: number | undefined;
1010
-
1011
- /**
1012
- * A permitted step size
1013
- * @defaultValue `undefined`
1014
- */
1015
- step?: number | undefined;
1016
-
1017
- /**
1018
- * Must the number be an integer?
1019
- * @defaultValue `false`
1020
- */
1021
- integer?: boolean | undefined;
1022
-
1023
- /**
1024
- * Must the number be positive?
1025
- * @defaultValue `false`
1026
- */
1027
- positive?: boolean | undefined;
1028
-
1029
- /**
1030
- * An array of values or an object of values/labels which represent
1031
- * allowed choices for the field. A function may be provided which dynamically
1032
- * returns the array of choices.
1033
- * @defaultValue `undefined`
1034
- */
1035
- choices?: NumberField.Choices | undefined;
1036
- }
1037
- }
1038
-
1039
995
  /**
1040
996
  * A subclass of [DataField]{@link DataField} which deals with number-typed data.
1041
997
  * @typeParam Options - the options of the NumberField instance
@@ -1050,7 +1006,7 @@ declare global {
1050
1006
  * InitialValue: `null`
1051
1007
  */
1052
1008
  declare class NumberField<
1053
- const Options extends NumberFieldOptions = NumberField.DefaultOptions,
1009
+ const Options extends NumberField.Options = NumberField.DefaultOptions,
1054
1010
  const AssignmentType = NumberField.AssignmentType<Options>,
1055
1011
  const InitializedType = NumberField.InitializedType<Options>,
1056
1012
  const PersistedType extends number | null | undefined = NumberField.InitializedType<Options>,
@@ -1061,7 +1017,7 @@ declare class NumberField<
1061
1017
  constructor(options?: Options, context?: DataField.Context);
1062
1018
 
1063
1019
  /** @defaultValue `null` */
1064
- override initial: DataFieldOptions.InitialType<InitializedType>;
1020
+ override initial: DataField.Options.InitialType<InitializedType>;
1065
1021
 
1066
1022
  /** @defaultValue `true` */
1067
1023
  override nullable: boolean;
@@ -1104,7 +1060,7 @@ declare class NumberField<
1104
1060
  */
1105
1061
  choices: number[] | Record<number, string> | (() => number[] | Record<number, string>) | undefined;
1106
1062
 
1107
- protected static override get _defaults(): NumberFieldOptions;
1063
+ protected static override get _defaults(): NumberField.Options;
1108
1064
 
1109
1065
  protected override _cast(value: AssignmentType): InitializedType;
1110
1066
 
@@ -1170,6 +1126,46 @@ declare namespace NumberField {
1170
1126
  }
1171
1127
  >;
1172
1128
 
1129
+ interface Options extends DataField.Options<number> {
1130
+ /**
1131
+ * A minimum allowed value
1132
+ * @defaultValue `undefined`
1133
+ */
1134
+ min?: number | undefined;
1135
+
1136
+ /**
1137
+ * A maximum allowed value
1138
+ * @defaultValue `undefined`
1139
+ */
1140
+ max?: number | undefined;
1141
+
1142
+ /**
1143
+ * A permitted step size
1144
+ * @defaultValue `undefined`
1145
+ */
1146
+ step?: number | undefined;
1147
+
1148
+ /**
1149
+ * Must the number be an integer?
1150
+ * @defaultValue `false`
1151
+ */
1152
+ integer?: boolean | undefined;
1153
+
1154
+ /**
1155
+ * Must the number be positive?
1156
+ * @defaultValue `false`
1157
+ */
1158
+ positive?: boolean | undefined;
1159
+
1160
+ /**
1161
+ * An array of values or an object of values/labels which represent
1162
+ * allowed choices for the field. A function may be provided which dynamically
1163
+ * returns the array of choices.
1164
+ * @defaultValue `undefined`
1165
+ */
1166
+ choices?: NumberField.Choices | undefined;
1167
+ }
1168
+
1173
1169
  /** The type of the default options for the {@link NumberField} class when choices are provided. */
1174
1170
  type DefaultOptionsWhenChoicesProvided = SimpleMerge<DefaultOptions, { nullable: false }>;
1175
1171
 
@@ -1177,7 +1173,7 @@ declare namespace NumberField {
1177
1173
  * A helper type for the given options type merged into the default options of the NumberField class.
1178
1174
  * @typeParam Options - the options that override the default options
1179
1175
  */
1180
- type MergedOptions<Options extends NumberFieldOptions> = SimpleMerge<
1176
+ type MergedOptions<Options extends NumberField.Options> = SimpleMerge<
1181
1177
  undefined extends Options["choices"] ? DefaultOptions : DefaultOptionsWhenChoicesProvided,
1182
1178
  Options
1183
1179
  >;
@@ -1186,7 +1182,7 @@ declare namespace NumberField {
1186
1182
  * A shorthand for the assignment type of a NumberField class.
1187
1183
  * @typeParam Options - the options that override the default options
1188
1184
  */
1189
- type AssignmentType<Options extends NumberFieldOptions> = DataField.DerivedAssignmentType<
1185
+ type AssignmentType<Options extends NumberField.Options> = DataField.DerivedAssignmentType<
1190
1186
  number,
1191
1187
  MergedOptions<Options>
1192
1188
  >;
@@ -1195,7 +1191,7 @@ declare namespace NumberField {
1195
1191
  * A shorthand for the initialized type of a NumberField class.
1196
1192
  * @typeParam Options - the options that override the default options
1197
1193
  */
1198
- type InitializedType<Options extends NumberFieldOptions> = DataField.DerivedInitializedType<
1194
+ type InitializedType<Options extends NumberField.Options> = DataField.DerivedInitializedType<
1199
1195
  number,
1200
1196
  MergedOptions<Options>
1201
1197
  >;
@@ -1231,35 +1227,6 @@ declare namespace NumberField {
1231
1227
  | ToInputConfigWithOptions<InitializedType>;
1232
1228
  }
1233
1229
 
1234
- declare global {
1235
- interface StringFieldOptions extends DataFieldOptions<string> {
1236
- /**
1237
- * Is the string allowed to be blank (empty)?
1238
- * @defaultValue `true`
1239
- */
1240
- blank?: boolean | undefined;
1241
-
1242
- /**
1243
- * Should any provided string be trimmed as part of cleaning?
1244
- * @defaultValue `true`
1245
- */
1246
- trim?: boolean | undefined;
1247
-
1248
- /**
1249
- * An array of values or an object of values/labels which represent
1250
- * allowed choices for the field. A function may be provided which dynamically
1251
- * returns the array of choices.
1252
- * @defaultValue `undefined`
1253
- */
1254
- choices?: StringField.Choices | undefined;
1255
-
1256
- /**
1257
- * @defaultValue `false`
1258
- */
1259
- textSearch?: boolean | undefined;
1260
- }
1261
- }
1262
-
1263
1230
  /**
1264
1231
  * A subclass of [DataField]{@link DataField} which deals with string-typed data.
1265
1232
  * @typeParam Options - the options of the StringField instance
@@ -1274,7 +1241,7 @@ declare global {
1274
1241
  * InitialValue: `""`
1275
1242
  */
1276
1243
  declare class StringField<
1277
- const Options extends StringFieldOptions = StringField.DefaultOptions,
1244
+ const Options extends StringField.Options = StringField.DefaultOptions,
1278
1245
  const AssignmentType = StringField.AssignmentType<Options>,
1279
1246
  const InitializedType = StringField.InitializedType<Options>,
1280
1247
  const PersistedType extends string | null | undefined = StringField.InitializedType<Options>,
@@ -1285,7 +1252,7 @@ declare class StringField<
1285
1252
  constructor(options?: Options, context?: DataField.Context);
1286
1253
 
1287
1254
  /** @defaultValue `undefined` */
1288
- override initial: DataFieldOptions.InitialType<InitializedType>;
1255
+ override initial: DataField.Options.InitialType<InitializedType>;
1289
1256
 
1290
1257
  /**
1291
1258
  * Is the string allowed to be blank (empty)?
@@ -1313,7 +1280,7 @@ declare class StringField<
1313
1280
  /** @defaultValue `false` */
1314
1281
  textSearch: boolean;
1315
1282
 
1316
- protected static override get _defaults(): StringFieldOptions;
1283
+ protected static override get _defaults(): StringField.Options;
1317
1284
 
1318
1285
  override clean(value: AssignmentType, options?: DataField.CleanOptions): InitializedType;
1319
1286
 
@@ -1376,6 +1343,33 @@ declare namespace StringField {
1376
1343
  }
1377
1344
  >;
1378
1345
 
1346
+ interface Options extends DataField.Options<string> {
1347
+ /**
1348
+ * Is the string allowed to be blank (empty)?
1349
+ * @defaultValue `true`
1350
+ */
1351
+ blank?: boolean | undefined;
1352
+
1353
+ /**
1354
+ * Should any provided string be trimmed as part of cleaning?
1355
+ * @defaultValue `true`
1356
+ */
1357
+ trim?: boolean | undefined;
1358
+
1359
+ /**
1360
+ * An array of values or an object of values/labels which represent
1361
+ * allowed choices for the field. A function may be provided which dynamically
1362
+ * returns the array of choices.
1363
+ * @defaultValue `undefined`
1364
+ */
1365
+ choices?: StringField.Choices | undefined;
1366
+
1367
+ /**
1368
+ * @defaultValue `false`
1369
+ */
1370
+ textSearch?: boolean | undefined;
1371
+ }
1372
+
1379
1373
  /** The type of the default options for the {@link StringField} class when choices are provided. */
1380
1374
  type DefaultOptionsWhenChoicesProvided = SimpleMerge<DefaultOptions, { nullable: false; blank: false }>;
1381
1375
 
@@ -1383,21 +1377,21 @@ declare namespace StringField {
1383
1377
  * A helper type for the given options type merged into the default options of the StringField class.
1384
1378
  * @typeParam Options - the options that override the default options
1385
1379
  */
1386
- type MergedOptions<Options extends StringFieldOptions> = SimpleMerge<
1380
+ type MergedOptions<Options extends StringField.Options> = SimpleMerge<
1387
1381
  _OptionsForInitial<_OptionsForChoices<Options["choices"]>>,
1388
1382
  Options
1389
1383
  >;
1390
1384
 
1391
- type _OptionsForChoices<Choices extends StringFieldOptions["choices"]> = undefined extends Choices
1385
+ type _OptionsForChoices<Choices extends StringField.Options["choices"]> = undefined extends Choices
1392
1386
  ? DefaultOptions
1393
1387
  : DefaultOptionsWhenChoicesProvided;
1394
1388
 
1395
1389
  // FIXME: `"initial" extends keyof Options` does not work for modeling `"initial" in options`.
1396
- type _OptionsForInitial<Options extends StringFieldOptions> = "initial" extends keyof Options
1390
+ type _OptionsForInitial<Options extends StringField.Options> = "initial" extends keyof Options
1397
1391
  ? Options
1398
1392
  : SimpleMerge<Options, { initial: _InitialForOptions<Options> }>;
1399
1393
 
1400
- type _InitialForOptions<Options extends StringFieldOptions> = Options["required"] extends false | undefined
1394
+ type _InitialForOptions<Options extends StringField.Options> = Options["required"] extends false | undefined
1401
1395
  ? undefined
1402
1396
  : Options["blank"] extends true
1403
1397
  ? string
@@ -1407,19 +1401,24 @@ declare namespace StringField {
1407
1401
 
1408
1402
  // choices?: string[] | Record<string, string> | (() => string[] | Record<string, string>) | undefined;
1409
1403
 
1410
- type ValidChoice<Options extends StringFieldOptions> = Options["choices"] extends undefined
1404
+ type ValidChoice<Options extends StringField.Options> = Options["choices"] extends undefined
1411
1405
  ? string
1412
- : Options["choices"] extends (...args: any) => infer Choices
1406
+ : Options["choices"] extends (...args: infer _1) => infer Choices
1413
1407
  ? FixedChoice<Choices>
1414
1408
  : FixedChoice<Options["choices"]>;
1415
1409
 
1416
- type FixedChoice<Choices> = Choices extends Array<infer U> ? U : Choices extends Record<infer K, any> ? K : string;
1410
+ type FixedChoice<Choices> =
1411
+ Choices extends ReadonlyArray<infer U>
1412
+ ? U
1413
+ : Choices extends { readonly [_ in infer K]: infer _1 }
1414
+ ? K & string
1415
+ : string;
1417
1416
 
1418
1417
  /**
1419
1418
  * A shorthand for the assignment type of a StringField class.
1420
1419
  * @typeParam Options - the options that override the default options
1421
1420
  */
1422
- type AssignmentType<Options extends StringFieldOptions> = DataField.DerivedAssignmentType<
1421
+ type AssignmentType<Options extends StringField.Options> = DataField.DerivedAssignmentType<
1423
1422
  ValidChoice<Options>,
1424
1423
  MergedOptions<Options>
1425
1424
  >;
@@ -1428,7 +1427,7 @@ declare namespace StringField {
1428
1427
  * A shorthand for the initialized type of a StringField class.
1429
1428
  * @typeParam Options - the options that override the default options
1430
1429
  */
1431
- type InitializedType<Options extends StringFieldOptions> = DataField.DerivedInitializedType<
1430
+ type InitializedType<Options extends StringField.Options> = DataField.DerivedInitializedType<
1432
1431
  // TODO(LukeAbby): This is a workaround for how `ValidChoice` is defined ignorant of the `StringField`/`NumberField` divide.
1433
1432
  ValidChoice<Options> & (string | null | undefined),
1434
1433
  MergedOptions<Options>
@@ -1483,7 +1482,7 @@ declare namespace StringField {
1483
1482
  * InitialValue: `{}`
1484
1483
  */
1485
1484
  declare class ObjectField<
1486
- const Options extends DataFieldOptions<AnyObject> = ObjectField.DefaultOptions,
1485
+ const Options extends DataField.Options<AnyObject> = ObjectField.DefaultOptions,
1487
1486
  const AssignmentType = ObjectField.AssignmentType<Options>,
1488
1487
  const InitializedType = ObjectField.InitializedType<Options>,
1489
1488
  const PersistedType extends AnyObject | null | undefined = ObjectField.InitializedType<Options>,
@@ -1495,9 +1494,9 @@ declare class ObjectField<
1495
1494
  override nullable: boolean;
1496
1495
 
1497
1496
  /** @defaultValue `() => ({})` */
1498
- override initial: DataFieldOptions.InitialType<InitializedType>;
1497
+ override initial: DataField.Options.InitialType<InitializedType>;
1499
1498
 
1500
- protected static override get _defaults(): DataFieldOptions<AnyObject>;
1499
+ protected static override get _defaults(): DataField.Options<AnyObject>;
1501
1500
 
1502
1501
  protected override _cast(value: AssignmentType): InitializedType;
1503
1502
 
@@ -1529,13 +1528,13 @@ declare namespace ObjectField {
1529
1528
  * A helper type for the given options type merged into the default options of the ObjectField class.
1530
1529
  * @typeParam Options - the options that override the default options
1531
1530
  */
1532
- type MergedOptions<Options extends DataFieldOptions<AnyObject>> = SimpleMerge<DefaultOptions, Options>;
1531
+ type MergedOptions<Options extends DataField.Options<AnyObject>> = SimpleMerge<DefaultOptions, Options>;
1533
1532
 
1534
1533
  /**
1535
1534
  * A shorthand for the assignment type of a ObjectField class.
1536
1535
  * @typeParam Options - the options that override the default options
1537
1536
  */
1538
- type AssignmentType<Options extends DataFieldOptions<AnyObject>> = DataField.DerivedAssignmentType<
1537
+ type AssignmentType<Options extends DataField.Options<AnyObject>> = DataField.DerivedAssignmentType<
1539
1538
  AnyObject,
1540
1539
  MergedOptions<Options>
1541
1540
  >;
@@ -1544,7 +1543,7 @@ declare namespace ObjectField {
1544
1543
  * A shorthand for the initialized type of a ObjectField class.
1545
1544
  * @typeParam Options - the options that override the default options
1546
1545
  */
1547
- type InitializedType<Options extends DataFieldOptions<AnyObject>> = DataField.DerivedInitializedType<
1546
+ type InitializedType<Options extends DataField.Options<AnyObject>> = DataField.DerivedInitializedType<
1548
1547
  AnyObject,
1549
1548
  MergedOptions<Options>
1550
1549
  >;
@@ -1560,7 +1559,7 @@ declare namespace ObjectField {
1560
1559
  // The type `{}` is useful here because in an intersection it reduces down to nothing unlike `EmptyObject`.
1561
1560
  // eslint-disable-next-line @typescript-eslint/no-empty-object-type
1562
1561
  ExtensionFlags extends AnyObject = {},
1563
- Options extends DataFieldOptions.Any = ObjectField.DefaultOptions,
1562
+ Options extends DataField.Options.Any = ObjectField.DefaultOptions,
1564
1563
  > = ObjectField<
1565
1564
  Options,
1566
1565
  DataField.DerivedAssignmentType<Document.ConfiguredFlagsForName<Name> & ExtensionFlags, MergedOptions<Options>>,
@@ -1615,7 +1614,7 @@ declare class ArrayField<
1615
1614
  override nullable: boolean;
1616
1615
 
1617
1616
  /** @defaultValue `() => []` */
1618
- override initial: DataFieldOptions.InitialType<InitializedType>;
1617
+ override initial: DataField.Options.InitialType<InitializedType>;
1619
1618
 
1620
1619
  /**
1621
1620
  * The data type of each element in this array
@@ -1700,7 +1699,7 @@ declare namespace ArrayField {
1700
1699
  * A shorthand for the options of an ArrayField class.
1701
1700
  * @typeParam AssignmentElementType - the assignment type of the elements in the array
1702
1701
  */
1703
- type Options<AssignmentElementType> = DataFieldOptions<BaseAssignmentType<AssignmentElementType>>;
1702
+ type Options<AssignmentElementType> = DataField.Options<BaseAssignmentType<AssignmentElementType>>;
1704
1703
 
1705
1704
  type AnyOptions = Options<unknown>;
1706
1705
 
@@ -1879,7 +1878,7 @@ declare namespace SetField {
1879
1878
  * A shorthand for the options of a SetField class.
1880
1879
  * @typeParam AssignmentElementType - the assignment type of the elements in the array
1881
1880
  */
1882
- type Options<AssignmentElementType> = DataFieldOptions<SetField.BaseAssignmentType<AssignmentElementType>>;
1881
+ type Options<AssignmentElementType> = DataField.Options<SetField.BaseAssignmentType<AssignmentElementType>>;
1883
1882
 
1884
1883
  type AnyOptions = Options<unknown>;
1885
1884
 
@@ -2005,7 +2004,7 @@ declare namespace EmbeddedDataField {
2005
2004
  * A shorthand for the options of an EmbeddedDataField class.
2006
2005
  * @typeParam ModelType - the DataModel for the embedded data
2007
2006
  */
2008
- type Options<ModelType extends DataModel.AnyConstructor> = DataFieldOptions<
2007
+ type Options<ModelType extends DataModel.AnyConstructor> = DataField.Options<
2009
2008
  SchemaField.InnerAssignmentType<DataModel.SchemaOfClass<ModelType>> | __SchemaFieldInitial
2010
2009
  >;
2011
2010
 
@@ -2044,7 +2043,7 @@ declare namespace EmbeddedDataField {
2044
2043
  type InitializedType<
2045
2044
  ModelType extends DataModel.AnyConstructor,
2046
2045
  Opts extends Options<ModelType>,
2047
- > = DataField.DerivedInitializedType<InstanceType<ModelType>, MergedOptions<ModelType, Opts>>;
2046
+ > = DataField.DerivedInitializedType<FixedInstanceType<ModelType>, MergedOptions<ModelType, Opts>>;
2048
2047
 
2049
2048
  /**
2050
2049
  * A shorthand for the persisted type of an EmbeddedDataField class.
@@ -2181,7 +2180,7 @@ declare namespace EmbeddedCollectionField {
2181
2180
  * A shorthand for the options of an EmbeddedCollectionField class.
2182
2181
  * @typeParam AssignmentElementType - the assignment type of the elements of the EmbeddedCollectionField
2183
2182
  */
2184
- type Options<AssignmentElementType> = DataFieldOptions<ArrayField.BaseAssignmentType<AssignmentElementType>>;
2183
+ type Options<AssignmentElementType> = DataField.Options<ArrayField.BaseAssignmentType<AssignmentElementType>>;
2185
2184
 
2186
2185
  /**
2187
2186
  * The type of the default options for the {@link EmbeddedCollectionField} class.
@@ -2333,7 +2332,7 @@ declare namespace EmbeddedCollectionDeltaField {
2333
2332
  * A shorthand for the options of an EmbeddedCollectionDeltaField class.
2334
2333
  * @typeParam AssignmentElementType - the assignment type of the elements of the EmbeddedCollectionDeltaField
2335
2334
  */
2336
- type Options<AssignmentElementType> = DataFieldOptions<ArrayField.BaseAssignmentType<AssignmentElementType>>;
2335
+ type Options<AssignmentElementType> = DataField.Options<ArrayField.BaseAssignmentType<AssignmentElementType>>;
2337
2336
 
2338
2337
  /**
2339
2338
  * The type of the default options for the {@link EmbeddedCollectionDeltaField} class.
@@ -2473,7 +2472,7 @@ declare namespace EmbeddedDocumentField {
2473
2472
  * A shorthand for the options of an EmbeddedDocumentField class.
2474
2473
  * @typeParam DocumentType - the type of the embedded Document
2475
2474
  */
2476
- type Options<DocumentType extends Document.AnyConstructor> = DataFieldOptions<
2475
+ type Options<DocumentType extends Document.AnyConstructor> = DataField.Options<
2477
2476
  SchemaField.InnerAssignmentType<DataModel.SchemaOfClass<DocumentType>> | __SchemaFieldInitial
2478
2477
  >;
2479
2478
 
@@ -2550,7 +2549,7 @@ declare namespace EmbeddedDocumentField {
2550
2549
  * InitialValue: `null`
2551
2550
  */
2552
2551
  declare class DocumentIdField<
2553
- Options extends StringFieldOptions = DocumentIdField.DefaultOptions,
2552
+ Options extends StringField.Options = DocumentIdField.DefaultOptions,
2554
2553
  AssignmentType = DocumentIdField.AssignmentType<Options>,
2555
2554
  InitializedType = DocumentIdField.InitializedType<Options>,
2556
2555
  PersistedType extends string | null | undefined = DocumentIdField.InitializedType<Options>,
@@ -2565,7 +2564,7 @@ declare class DocumentIdField<
2565
2564
  override nullable: boolean;
2566
2565
 
2567
2566
  /** @defaultValue `null` */
2568
- override initial: DataFieldOptions.InitialType<InitializedType>;
2567
+ override initial: DataField.Options.InitialType<InitializedType>;
2569
2568
 
2570
2569
  /** @defaultValue `true` */
2571
2570
  override readonly: boolean;
@@ -2573,7 +2572,7 @@ declare class DocumentIdField<
2573
2572
  /** @defaultValue `"is not a valid Document ID string"` */
2574
2573
  override validationError: string;
2575
2574
 
2576
- protected static override get _defaults(): StringFieldOptions;
2575
+ protected static override get _defaults(): StringField.Options;
2577
2576
 
2578
2577
  protected override _cast(value: AssignmentType): InitializedType;
2579
2578
 
@@ -2601,13 +2600,13 @@ declare namespace DocumentIdField {
2601
2600
  * A helper type for the given options type merged into the default options of the DocumentIdField class.
2602
2601
  * @typeParam Options - the options that override the default options
2603
2602
  */
2604
- type MergedOptions<Options extends StringFieldOptions> = SimpleMerge<DefaultOptions, Options>;
2603
+ type MergedOptions<Options extends StringField.Options> = SimpleMerge<DefaultOptions, Options>;
2605
2604
 
2606
2605
  /**
2607
2606
  * A shorthand for the assignment type of a StringField class.
2608
2607
  * @typeParam Options - the options that override the default options
2609
2608
  */
2610
- type AssignmentType<Options extends StringFieldOptions> = DataField.DerivedAssignmentType<
2609
+ type AssignmentType<Options extends StringField.Options> = DataField.DerivedAssignmentType<
2611
2610
  string | Document.Any,
2612
2611
  MergedOptions<Options>
2613
2612
  >;
@@ -2616,7 +2615,7 @@ declare namespace DocumentIdField {
2616
2615
  * A shorthand for the initialized type of a StringField class.
2617
2616
  * @typeParam Options - the options that override the default options
2618
2617
  */
2619
- type InitializedType<Options extends StringFieldOptions> = DataField.DerivedInitializedType<
2618
+ type InitializedType<Options extends StringField.Options> = DataField.DerivedInitializedType<
2620
2619
  string,
2621
2620
  MergedOptions<Options>
2622
2621
  >;
@@ -2681,14 +2680,13 @@ declare class DocumentUUIDField<
2681
2680
  }
2682
2681
 
2683
2682
  declare namespace DocumentUUIDField {
2684
- type Options = StringFieldOptions &
2685
- StringFieldOptions & {
2686
- /* A specific document type in CONST.ALL_DOCUMENT_TYPES required by this field */
2687
- type?: Document.Type | undefined;
2683
+ type Options = StringField.Options & {
2684
+ /* A specific document type in CONST.ALL_DOCUMENT_TYPES required by this field */
2685
+ type?: Document.Type | undefined;
2688
2686
 
2689
- /* Does this field require (or prohibit) embedded documents? */
2690
- embedded?: boolean | undefined;
2691
- };
2687
+ /* Does this field require (or prohibit) embedded documents? */
2688
+ embedded?: boolean | undefined;
2689
+ };
2692
2690
 
2693
2691
  type DefaultOptions = SimpleMerge<
2694
2692
  StringField.DefaultOptions,
@@ -2778,8 +2776,8 @@ declare class ForeignDocumentField<
2778
2776
 
2779
2777
  declare namespace ForeignDocumentField {
2780
2778
  /** The options for the ForeignDocumentField class. */
2781
- type Options = StringFieldOptions &
2782
- DataFieldOptions<string | Document.Any> & {
2779
+ type Options = StringField.Options &
2780
+ DataField.Options<string | Document.Any> & {
2783
2781
  // Making this ---------^ more concrete leads to excessively deep instantiation
2784
2782
  idOnly?: boolean;
2785
2783
  };
@@ -2807,7 +2805,7 @@ declare namespace ForeignDocumentField {
2807
2805
  type AssignmentType<
2808
2806
  ConcreteDocument extends Document.AnyConstructor,
2809
2807
  Opts extends Options,
2810
- > = DataField.DerivedAssignmentType<string | Document.ToConfiguredClass<ConcreteDocument>, MergedOptions<Opts>>;
2808
+ > = DataField.DerivedAssignmentType<string | Document.ToConfiguredInstance<ConcreteDocument>, MergedOptions<Opts>>;
2811
2809
 
2812
2810
  /**
2813
2811
  * A shorthand for the initialized type of a ForeignDocumentField class.
@@ -2842,7 +2840,7 @@ declare namespace ForeignDocumentField {
2842
2840
  * InitialValue: `null`
2843
2841
  */
2844
2842
  declare class ColorField<
2845
- Options extends StringFieldOptions = ColorField.DefaultOptions,
2843
+ Options extends StringField.Options = ColorField.DefaultOptions,
2846
2844
  AssignmentType = ColorField.AssignmentType<Options>,
2847
2845
  InitializedType = ColorField.InitializedType<Options>,
2848
2846
  PersistedType extends string | null | undefined = ColorField.PersistedType<Options>,
@@ -2851,7 +2849,7 @@ declare class ColorField<
2851
2849
  override nullable: boolean;
2852
2850
 
2853
2851
  /** @defaultValue `null` */
2854
- override initial: DataFieldOptions.InitialType<InitializedType>;
2852
+ override initial: DataField.Options.InitialType<InitializedType>;
2855
2853
 
2856
2854
  /** @defaultValue `false` */
2857
2855
  override blank: boolean;
@@ -2859,7 +2857,7 @@ declare class ColorField<
2859
2857
  /** @defaultValue `"is not a valid hexadecimal color string"` */
2860
2858
  override validationError: string;
2861
2859
 
2862
- protected static override get _defaults(): StringFieldOptions;
2860
+ protected static override get _defaults(): StringField.Options;
2863
2861
 
2864
2862
  override clean(value: AssignmentType, options?: DataField.CleanOptions): InitializedType;
2865
2863
 
@@ -2885,13 +2883,13 @@ declare namespace ColorField {
2885
2883
  * A helper type for the given options type merged into the default options of the ColorField class.
2886
2884
  * @typeParam Options - the options that override the default options
2887
2885
  */
2888
- type MergedOptions<Options extends StringFieldOptions> = SimpleMerge<DefaultOptions, Options>;
2886
+ type MergedOptions<Options extends StringField.Options> = SimpleMerge<DefaultOptions, Options>;
2889
2887
 
2890
2888
  /**
2891
2889
  * A shorthand for the assignment type of a ColorField class.
2892
2890
  * @typeParam Options - the options that override the default options
2893
2891
  */
2894
- type AssignmentType<Options extends StringFieldOptions> = DataField.DerivedAssignmentType<
2892
+ type AssignmentType<Options extends StringField.Options> = DataField.DerivedAssignmentType<
2895
2893
  string,
2896
2894
  MergedOptions<Options>
2897
2895
  >;
@@ -2900,7 +2898,7 @@ declare namespace ColorField {
2900
2898
  * A shorthand for the initialized type of a ColorField class.
2901
2899
  * @typeParam Options - the options that override the default options
2902
2900
  */
2903
- type InitializedType<Options extends StringFieldOptions> = DataField.DerivedInitializedType<
2901
+ type InitializedType<Options extends StringField.Options> = DataField.DerivedInitializedType<
2904
2902
  Color,
2905
2903
  MergedOptions<Options>
2906
2904
  >;
@@ -2909,37 +2907,12 @@ declare namespace ColorField {
2909
2907
  * A shorthand for the persisted type of a ColorField class.
2910
2908
  * @typeParam Options - the options that override the default options
2911
2909
  */
2912
- type PersistedType<Options extends StringFieldOptions> = DataField.DerivedInitializedType<
2910
+ type PersistedType<Options extends StringField.Options> = DataField.DerivedInitializedType<
2913
2911
  string,
2914
2912
  MergedOptions<Options>
2915
2913
  >;
2916
2914
  }
2917
2915
 
2918
- declare global {
2919
- /**
2920
- * @typeParam Value - the type of the value of the field
2921
- */
2922
- interface FilePathFieldOptions extends StringFieldOptions {
2923
- /**
2924
- * A set of categories in CONST.FILE_CATEGORIES which this field supports
2925
- * @defaultValue `[]`
2926
- */
2927
- categories?: (keyof typeof CONST.FILE_CATEGORIES)[];
2928
-
2929
- /**
2930
- * Is embedded base64 data supported in lieu of a file path?
2931
- * @defaultValue `false`
2932
- */
2933
- base64?: boolean;
2934
-
2935
- /**
2936
- * Does this file path field allow wildcard characters?
2937
- * @defaultValue `false`
2938
- */
2939
- wildcard?: boolean;
2940
- }
2941
- }
2942
-
2943
2916
  /**
2944
2917
  * A special [StringField]{@link StringField} which records a file path or inline base64 data.
2945
2918
  * @typeParam Options - the options of the FilePathField instance
@@ -2954,7 +2927,7 @@ declare global {
2954
2927
  * InitialValue: `null`
2955
2928
  */
2956
2929
  declare class FilePathField<
2957
- Options extends FilePathFieldOptions = FilePathField.DefaultOptions,
2930
+ Options extends FilePathField.Options = FilePathField.DefaultOptions,
2958
2931
  AssignmentType = FilePathField.AssignmentType<Options>,
2959
2932
  InitializedType = FilePathField.InitializedType<Options>,
2960
2933
  PersistedType extends string | null | undefined = FilePathField.InitializedType<Options>,
@@ -2989,9 +2962,9 @@ declare class FilePathField<
2989
2962
  override blank: boolean;
2990
2963
 
2991
2964
  /** @defaultValue `null` */
2992
- override initial: DataFieldOptions.InitialType<InitializedType>;
2965
+ override initial: DataField.Options.InitialType<InitializedType>;
2993
2966
 
2994
- protected static override get _defaults(): FilePathFieldOptions;
2967
+ protected static override get _defaults(): FilePathField.Options;
2995
2968
 
2996
2969
  override clean(value: AssignmentType, options?: DataField.CleanOptions): InitializedType;
2997
2970
 
@@ -3015,17 +2988,37 @@ declare namespace FilePathField {
3015
2988
  }
3016
2989
  >;
3017
2990
 
2991
+ interface Options extends StringField.Options {
2992
+ /**
2993
+ * A set of categories in CONST.FILE_CATEGORIES which this field supports
2994
+ * @defaultValue `[]`
2995
+ */
2996
+ categories?: (keyof typeof CONST.FILE_CATEGORIES)[];
2997
+
2998
+ /**
2999
+ * Is embedded base64 data supported in lieu of a file path?
3000
+ * @defaultValue `false`
3001
+ */
3002
+ base64?: boolean;
3003
+
3004
+ /**
3005
+ * Does this file path field allow wildcard characters?
3006
+ * @defaultValue `false`
3007
+ */
3008
+ wildcard?: boolean;
3009
+ }
3010
+
3018
3011
  /**
3019
3012
  * A helper type for the given options type merged into the default options of the FilePathField class.
3020
3013
  * @typeParam Options - the options that override the default options
3021
3014
  */
3022
- type MergedOptions<Options extends StringFieldOptions> = SimpleMerge<DefaultOptions, Options>;
3015
+ type MergedOptions<Options extends StringField.Options> = SimpleMerge<DefaultOptions, Options>;
3023
3016
 
3024
3017
  /**
3025
3018
  * A shorthand for the assignment type of a FilePathField class.
3026
3019
  * @typeParam Options - the options that override the default options
3027
3020
  */
3028
- type AssignmentType<Options extends StringFieldOptions> = DataField.DerivedAssignmentType<
3021
+ type AssignmentType<Options extends StringField.Options> = DataField.DerivedAssignmentType<
3029
3022
  string,
3030
3023
  MergedOptions<Options>
3031
3024
  >;
@@ -3034,7 +3027,7 @@ declare namespace FilePathField {
3034
3027
  * A shorthand for the initialized type of a FilePathField class.
3035
3028
  * @typeParam Options - the options that override the default options
3036
3029
  */
3037
- type InitializedType<Options extends StringFieldOptions> = DataField.DerivedInitializedType<
3030
+ type InitializedType<Options extends StringField.Options> = DataField.DerivedInitializedType<
3038
3031
  string,
3039
3032
  MergedOptions<Options>
3040
3033
  >;
@@ -3054,7 +3047,7 @@ declare namespace FilePathField {
3054
3047
  * InitialValue: `0`
3055
3048
  */
3056
3049
  declare class AngleField<
3057
- Options extends NumberFieldOptions = AngleField.DefaultOptions,
3050
+ Options extends NumberField.Options = AngleField.DefaultOptions,
3058
3051
  AssignmentType = AngleField.AssignmentType<Options>,
3059
3052
  InitializedType = AngleField.InitializedType<Options>,
3060
3053
  PersistedType extends number | null | undefined = AngleField.InitializedType<Options>,
@@ -3066,7 +3059,7 @@ declare class AngleField<
3066
3059
  override nullable: boolean;
3067
3060
 
3068
3061
  /** @defaultValue `0` */
3069
- override initial: DataFieldOptions.InitialType<InitializedType>;
3062
+ override initial: DataField.Options.InitialType<InitializedType>;
3070
3063
 
3071
3064
  /** @defaultValue `0` */
3072
3065
  base: number;
@@ -3080,7 +3073,7 @@ declare class AngleField<
3080
3073
  /** @defaultValue `"is not a number between 0 and 360"` */
3081
3074
  override validationError: string;
3082
3075
 
3083
- protected static override get _defaults(): NumberFieldOptions;
3076
+ protected static override get _defaults(): NumberField.Options;
3084
3077
 
3085
3078
  protected override _cast(value: AssignmentType): InitializedType;
3086
3079
  }
@@ -3104,13 +3097,13 @@ declare namespace AngleField {
3104
3097
  * A helper type for the given options type merged into the default options of the AngleField class.
3105
3098
  * @typeParam Options - the options that override the default options
3106
3099
  */
3107
- type MergedOptions<Options extends NumberFieldOptions> = SimpleMerge<DefaultOptions, Options>;
3100
+ type MergedOptions<Options extends NumberField.Options> = SimpleMerge<DefaultOptions, Options>;
3108
3101
 
3109
3102
  /**
3110
3103
  * A shorthand for the assignment type of a AngleField class.
3111
3104
  * @typeParam Options - the options that override the default options
3112
3105
  */
3113
- type AssignmentType<Options extends NumberFieldOptions> = DataField.DerivedAssignmentType<
3106
+ type AssignmentType<Options extends NumberField.Options> = DataField.DerivedAssignmentType<
3114
3107
  number,
3115
3108
  MergedOptions<Options>
3116
3109
  >;
@@ -3119,7 +3112,7 @@ declare namespace AngleField {
3119
3112
  * A shorthand for the initialized type of a AngleField class.
3120
3113
  * @typeParam Options - the options that override the default options
3121
3114
  */
3122
- type InitializedType<Options extends NumberFieldOptions> = DataField.DerivedInitializedType<
3115
+ type InitializedType<Options extends NumberField.Options> = DataField.DerivedInitializedType<
3123
3116
  number,
3124
3117
  MergedOptions<Options>
3125
3118
  >;
@@ -3139,7 +3132,7 @@ declare namespace AngleField {
3139
3132
  * InitialValue: `1`
3140
3133
  */
3141
3134
  declare class AlphaField<
3142
- Options extends NumberFieldOptions = AlphaField.DefaultOptions,
3135
+ Options extends NumberField.Options = AlphaField.DefaultOptions,
3143
3136
  AssignmentType = AlphaField.AssignmentType<Options>,
3144
3137
  InitializedType = AlphaField.InitializedType<Options>,
3145
3138
  PersistedType extends number | null | undefined = AlphaField.InitializedType<Options>,
@@ -3151,7 +3144,7 @@ declare class AlphaField<
3151
3144
  override nullable: boolean;
3152
3145
 
3153
3146
  /** @defaultValue `1` */
3154
- override initial: DataFieldOptions.InitialType<InitializedType>;
3147
+ override initial: DataField.Options.InitialType<InitializedType>;
3155
3148
 
3156
3149
  /** @defaultValue `0` */
3157
3150
  override min: number | undefined;
@@ -3162,7 +3155,7 @@ declare class AlphaField<
3162
3155
  /** @defaultValue `"is not a number between 0 and 1"` */
3163
3156
  override validationError: string;
3164
3157
 
3165
- protected static override get _defaults(): NumberFieldOptions;
3158
+ protected static override get _defaults(): NumberField.Options;
3166
3159
  }
3167
3160
 
3168
3161
  declare namespace AlphaField {
@@ -3183,13 +3176,13 @@ declare namespace AlphaField {
3183
3176
  * A helper type for the given options type merged into the default options of the AlphaField class.
3184
3177
  * @typeParam Options - the options that override the default options
3185
3178
  */
3186
- type MergedOptions<Options extends NumberFieldOptions> = SimpleMerge<DefaultOptions, Options>;
3179
+ type MergedOptions<Options extends NumberField.Options> = SimpleMerge<DefaultOptions, Options>;
3187
3180
 
3188
3181
  /**
3189
3182
  * A shorthand for the assignment type of a AlphaField class.
3190
3183
  * @typeParam Options - the options that override the default options
3191
3184
  */
3192
- type AssignmentType<Options extends NumberFieldOptions> = DataField.DerivedAssignmentType<
3185
+ type AssignmentType<Options extends NumberField.Options> = DataField.DerivedAssignmentType<
3193
3186
  number,
3194
3187
  MergedOptions<Options>
3195
3188
  >;
@@ -3198,7 +3191,7 @@ declare namespace AlphaField {
3198
3191
  * A shorthand for the initialized type of a AlphaField class.
3199
3192
  * @typeParam Options - the options that override the default options
3200
3193
  */
3201
- type InitializedType<Options extends NumberFieldOptions> = DataField.DerivedInitializedType<
3194
+ type InitializedType<Options extends NumberField.Options> = DataField.DerivedInitializedType<
3202
3195
  number,
3203
3196
  MergedOptions<Options>
3204
3197
  >;
@@ -3209,7 +3202,7 @@ declare namespace AlphaField {
3209
3202
  * Its values are normalized (modulo 1) to the range [0, 1) instead of being clamped.
3210
3203
  */
3211
3204
  declare class HueField<
3212
- const Options extends NumberFieldOptions = NumberField.DefaultOptions,
3205
+ const Options extends NumberField.Options = NumberField.DefaultOptions,
3213
3206
  const AssignmentType = NumberField.AssignmentType<Options>,
3214
3207
  const InitializedType = NumberField.InitializedType<Options>,
3215
3208
  const PersistedType extends number | null | undefined = NumberField.InitializedType<Options>,
@@ -3220,7 +3213,7 @@ declare class HueField<
3220
3213
  }
3221
3214
 
3222
3215
  declare namespace HueField {
3223
- type Options = NumberFieldOptions;
3216
+ type Options = NumberField.Options;
3224
3217
 
3225
3218
  type DefaultOptions = SimpleMerge<
3226
3219
  NumberField.DefaultOptions,
@@ -3258,7 +3251,7 @@ declare class DocumentOwnershipField<
3258
3251
  | undefined = DocumentOwnershipField.InitializedType<Options>,
3259
3252
  > extends ObjectField<Options, AssignmentType, InitializedType, PersistedType> {
3260
3253
  /** @defaultValue `{"default": DOCUMENT_OWNERSHIP_LEVELS.NONE}` */
3261
- override initial: DataFieldOptions.InitialType<InitializedType>;
3254
+ override initial: DataField.Options.InitialType<InitializedType>;
3262
3255
 
3263
3256
  /** @defaultValue `"is not a mapping of user IDs and document permission levels"` */
3264
3257
  override validationError: string;
@@ -3273,7 +3266,7 @@ declare class DocumentOwnershipField<
3273
3266
 
3274
3267
  declare namespace DocumentOwnershipField {
3275
3268
  /** A shorthand for the options of a DocumentOwnershipField class. */
3276
- type Options = DataFieldOptions<Record<string, DOCUMENT_OWNERSHIP_LEVELS>>;
3269
+ type Options = DataField.Options<Record<string, DOCUMENT_OWNERSHIP_LEVELS>>;
3277
3270
 
3278
3271
  /** The type of the default options for the {@link DocumentOwnershipField} class. */
3279
3272
  type DefaultOptions = SimpleMerge<
@@ -3324,7 +3317,7 @@ declare namespace DocumentOwnershipField {
3324
3317
  */
3325
3318
  declare class JSONField<
3326
3319
  // TODO(LukeAbby): Due to the unconditional setting of `blank`, `trim`, and `choices` setting them is meaningless which basically means they're removed from the options.
3327
- Options extends StringFieldOptions = JSONField.DefaultOptions,
3320
+ Options extends StringField.Options = JSONField.DefaultOptions,
3328
3321
  AssignmentType = JSONField.AssignmentType<Options>,
3329
3322
  InitializedType = JSONField.InitializedType<Options>,
3330
3323
  PersistedType extends string | null | undefined = JSONField.PersistedType<Options>,
@@ -3335,12 +3328,12 @@ declare class JSONField<
3335
3328
  override blank: boolean;
3336
3329
 
3337
3330
  /** @defaultValue `undefined` */
3338
- override initial: DataFieldOptions.InitialType<InitializedType>;
3331
+ override initial: DataField.Options.InitialType<InitializedType>;
3339
3332
 
3340
3333
  /** @defaultValue `"is not a valid JSON string"` */
3341
3334
  override validationError: string;
3342
3335
 
3343
- protected static override get _defaults(): StringFieldOptions;
3336
+ protected static override get _defaults(): StringField.Options;
3344
3337
 
3345
3338
  override clean(value: AssignmentType, options?: DataField.CleanOptions): InitializedType;
3346
3339
 
@@ -3397,13 +3390,13 @@ declare namespace JSONField {
3397
3390
  * A helper type for the given options type merged into the default options of the JSONField class.
3398
3391
  * @typeParam Options - the options that override the default options
3399
3392
  */
3400
- type MergedOptions<Options extends StringFieldOptions> = SimpleMerge<DefaultOptions, Options>;
3393
+ type MergedOptions<Options extends StringField.Options> = SimpleMerge<DefaultOptions, Options>;
3401
3394
 
3402
3395
  /**
3403
3396
  * A shorthand for the assignment type of a JSONField class.
3404
3397
  * @typeParam Options - the options that override the default options
3405
3398
  */
3406
- type AssignmentType<Options extends StringFieldOptions> = DataField.DerivedAssignmentType<
3399
+ type AssignmentType<Options extends StringField.Options> = DataField.DerivedAssignmentType<
3407
3400
  string,
3408
3401
  MergedOptions<Options>
3409
3402
  >;
@@ -3412,7 +3405,7 @@ declare namespace JSONField {
3412
3405
  * A shorthand for the initialized type of a JSONField class.
3413
3406
  * @typeParam Options - the options that override the default options
3414
3407
  */
3415
- type InitializedType<Options extends StringFieldOptions> = DataField.DerivedInitializedType<
3408
+ type InitializedType<Options extends StringField.Options> = DataField.DerivedInitializedType<
3416
3409
  AnyObject,
3417
3410
  MergedOptions<Options>
3418
3411
  >;
@@ -3421,7 +3414,7 @@ declare namespace JSONField {
3421
3414
  * A shorthand for the persisted type of a JSONField class.
3422
3415
  * @typeParam Options - the options that override the default options
3423
3416
  */
3424
- type PersistedType<Options extends StringFieldOptions> = DataField.DerivedInitializedType<
3417
+ type PersistedType<Options extends StringField.Options> = DataField.DerivedInitializedType<
3425
3418
  string,
3426
3419
  MergedOptions<Options>
3427
3420
  >;
@@ -3433,7 +3426,7 @@ declare namespace JSONField {
3433
3426
  * It is not recommended to use this class except for very specific circumstances.
3434
3427
  */
3435
3428
  // TODO(LukeAbby): This field effectively removes all options because there's no point asking for an options when none of them do anything.
3436
- declare class AnyField extends DataField<DataFieldOptions.Any, unknown, unknown, unknown> {
3429
+ declare class AnyField extends DataField<DataField.Options.Any, unknown, unknown, unknown> {
3437
3430
  override _cast(value: unknown): unknown;
3438
3431
 
3439
3432
  protected override _validateType(
@@ -3458,7 +3451,7 @@ declare class AnyField extends DataField<DataFieldOptions.Any, unknown, unknown,
3458
3451
  * InitialValue: `""`
3459
3452
  */
3460
3453
  declare class HTMLField<
3461
- Options extends StringFieldOptions = HTMLField.DefaultOptions,
3454
+ Options extends StringField.Options = HTMLField.DefaultOptions,
3462
3455
  AssignmentType = HTMLField.AssignmentType<Options>,
3463
3456
  InitializedType = HTMLField.InitializedType<Options>,
3464
3457
  PersistedType extends string | null | undefined = HTMLField.InitializedType<Options>,
@@ -3469,7 +3462,7 @@ declare class HTMLField<
3469
3462
  /** @defaultValue `true` */
3470
3463
  override blank: boolean;
3471
3464
 
3472
- protected static override get _defaults(): StringFieldOptions;
3465
+ protected static override get _defaults(): StringField.Options;
3473
3466
 
3474
3467
  // These verbose overloads are because otherwise there would be a misleading errors about `choices` being required without mentioning `options` or vice versa.
3475
3468
  toFormGroup(
@@ -3510,13 +3503,13 @@ declare namespace HTMLField {
3510
3503
  * A helper type for the given options type merged into the default options of the HTMLField class.
3511
3504
  * @typeParam Options - the options that override the default options
3512
3505
  */
3513
- type MergedOptions<Options extends StringFieldOptions> = SimpleMerge<DefaultOptions, Options>;
3506
+ type MergedOptions<Options extends StringField.Options> = SimpleMerge<DefaultOptions, Options>;
3514
3507
 
3515
3508
  /**
3516
3509
  * A shorthand for the assignment type of a HTMLField class.
3517
3510
  * @typeParam Options - the options that override the default options
3518
3511
  */
3519
- type AssignmentType<Options extends StringFieldOptions> = DataField.DerivedAssignmentType<
3512
+ type AssignmentType<Options extends StringField.Options> = DataField.DerivedAssignmentType<
3520
3513
  string,
3521
3514
  MergedOptions<Options>
3522
3515
  >;
@@ -3525,7 +3518,7 @@ declare namespace HTMLField {
3525
3518
  * A shorthand for the initialized type of a HTMLField class.
3526
3519
  * @typeParam Options - the options that override the default options
3527
3520
  */
3528
- type InitializedType<Options extends StringFieldOptions> = DataField.DerivedInitializedType<
3521
+ type InitializedType<Options extends StringField.Options> = DataField.DerivedInitializedType<
3529
3522
  string,
3530
3523
  MergedOptions<Options>
3531
3524
  >;
@@ -3548,7 +3541,7 @@ declare namespace HTMLField {
3548
3541
  * InitialValue: `0`
3549
3542
  */
3550
3543
  declare class IntegerSortField<
3551
- Options extends NumberFieldOptions = IntegerSortField.DefaultOptions,
3544
+ Options extends NumberField.Options = IntegerSortField.DefaultOptions,
3552
3545
  AssignmentType = IntegerSortField.AssignmentType<Options>,
3553
3546
  InitializedType = IntegerSortField.InitializedType<Options>,
3554
3547
  PersistedType extends number | null | undefined = IntegerSortField.InitializedType<Options>,
@@ -3563,7 +3556,7 @@ declare class IntegerSortField<
3563
3556
  override integer: boolean;
3564
3557
 
3565
3558
  /** @defaultValue `0` */
3566
- override initial: DataFieldOptions.InitialType<InitializedType>;
3559
+ override initial: DataField.Options.InitialType<InitializedType>;
3567
3560
 
3568
3561
  /** @defaultValue `"FOLDER.DocumentSort"` */
3569
3562
  override label: string;
@@ -3590,13 +3583,13 @@ declare namespace IntegerSortField {
3590
3583
  * A helper type for the given options type merged into the default options of the IntegerSortField class.
3591
3584
  * @typeParam Options - the options that override the default options
3592
3585
  */
3593
- type MergedOptions<Options extends NumberFieldOptions> = SimpleMerge<DefaultOptions, Options>;
3586
+ type MergedOptions<Options extends NumberField.Options> = SimpleMerge<DefaultOptions, Options>;
3594
3587
 
3595
3588
  /**
3596
3589
  * A shorthand for the assignment type of a IntegerSortField class.
3597
3590
  * @typeParam Options - the options that override the default options
3598
3591
  */
3599
- type AssignmentType<Options extends NumberFieldOptions> = DataField.DerivedAssignmentType<
3592
+ type AssignmentType<Options extends NumberField.Options> = DataField.DerivedAssignmentType<
3600
3593
  number,
3601
3594
  MergedOptions<Options>
3602
3595
  >;
@@ -3605,16 +3598,12 @@ declare namespace IntegerSortField {
3605
3598
  * A shorthand for the initialized type of a IntegerSortField class.
3606
3599
  * @typeParam Options - the options that override the default options
3607
3600
  */
3608
- type InitializedType<Options extends NumberFieldOptions> = DataField.DerivedInitializedType<
3601
+ type InitializedType<Options extends NumberField.Options> = DataField.DerivedInitializedType<
3609
3602
  number,
3610
3603
  MergedOptions<Options>
3611
3604
  >;
3612
3605
  }
3613
3606
 
3614
- declare global {
3615
- type DocumentStats = DocumentStatsField.Properties;
3616
- }
3617
-
3618
3607
  /**
3619
3608
  * A subclass of {@link SchemaField} which stores document metadata in the _stats field.
3620
3609
  * @typeParam Options - the options of the DocumentStatsField instance
@@ -3649,7 +3638,7 @@ declare class DocumentStatsField<
3649
3638
 
3650
3639
  declare namespace DocumentStatsField {
3651
3640
  /** A shorthand for the options of a DocumentStatsField class. */
3652
- type Options = DataFieldOptions<SchemaField.InnerAssignmentType<Schema>>;
3641
+ type Options = DataField.Options<SchemaField.InnerAssignmentType<Schema>>;
3653
3642
 
3654
3643
  /** The type of the default options for the {@link DocumentStatsField} class. */
3655
3644
  type DefaultOptions = SimpleMerge<SchemaField.DefaultOptions, { initial: SchemaField.InnerAssignmentType<Schema> }>;
@@ -3756,7 +3745,7 @@ declare class DocumentTypeField<
3756
3745
  * @param options - Options which configure the behavior of the field
3757
3746
  * @param context - Additional context which describes the field
3758
3747
  */
3759
- constructor(documentClass: ConcreteDocumentClass, options: DocumentTypeField.Options, context?: DataField.Context);
3748
+ constructor(documentClass: ConcreteDocumentClass, options?: DocumentTypeField.Options, context?: DataField.Context);
3760
3749
 
3761
3750
  static override get _defaults(): DocumentTypeField.Options;
3762
3751
 
@@ -3777,12 +3766,12 @@ declare namespace DocumentTypeField {
3777
3766
  }
3778
3767
  >;
3779
3768
 
3780
- interface Options extends StringFieldOptions {}
3769
+ interface Options extends StringField.Options {}
3781
3770
 
3782
3771
  // TODO(LukeAbby): This class has effectively removed `choices` and `validationError` since they're unconditionally set in the constructor.
3783
3772
  type MergedOptions<
3784
3773
  ConcreteDocumentClass extends Document.AnyConstructor,
3785
- Options extends StringFieldOptions,
3774
+ Options extends StringField.Options,
3786
3775
  > = SimpleMerge<
3787
3776
  SimpleMerge<DefaultOptions, Options>,
3788
3777
  {
@@ -3793,15 +3782,15 @@ declare namespace DocumentTypeField {
3793
3782
 
3794
3783
  type AssignmentType<
3795
3784
  ConcreteDocumentClass extends Document.AnyConstructor,
3796
- Options extends StringFieldOptions,
3785
+ Options extends StringField.Options,
3797
3786
  > = StringField.AssignmentType<MergedOptions<ConcreteDocumentClass, Options>>;
3798
3787
  type InitializedType<
3799
3788
  ConcreteDocumentClass extends Document.AnyConstructor,
3800
- Options extends StringFieldOptions,
3789
+ Options extends StringField.Options,
3801
3790
  > = StringField.InitializedType<MergedOptions<ConcreteDocumentClass, Options>>;
3802
3791
  type PersistedType<
3803
3792
  ConcreteDocumentClass extends Document.AnyConstructor,
3804
- Options extends StringFieldOptions,
3793
+ Options extends StringField.Options,
3805
3794
  > = StringField.InitializedType<MergedOptions<ConcreteDocumentClass, Options>>;
3806
3795
  }
3807
3796
 
@@ -3895,7 +3884,7 @@ declare namespace TypeDataField {
3895
3884
  * A shorthand for the options of a TypeDataField class.
3896
3885
  * @typeParam DocumentType - the type of the embedded Document
3897
3886
  */
3898
- type Options<DocumentType extends Document.SystemConstructor> = DataFieldOptions<
3887
+ type Options<DocumentType extends Document.SystemConstructor> = DataField.Options<
3899
3888
  SchemaField.InnerAssignmentType<DataModel.SchemaOfClass<DocumentType>>
3900
3889
  >;
3901
3890
 
@@ -3917,73 +3906,10 @@ declare namespace TypeDataField {
3917
3906
  Opts
3918
3907
  >;
3919
3908
 
3920
- /**
3921
- * Get the system DataModel configuration for a specific document type.
3922
- * @typeParam DocumentType - the type of the Document this system data is for
3923
- *
3924
- * @deprecated - This helper is from a time where {@link DataModelConfig | `DataModelConfig`}
3925
- * was still recommended to use instances. This will always return instances but
3926
- * its name is now misleading. For a replacement see {@link DataModelInstances | `DataModelInstances`}.
3927
- * If you want to get the class see {@link DataModelClasses | `DataModelClasses`}.
3928
- */
3929
- type Config<DocumentType extends Document.SystemConstructor> = DataModelInstances<DocumentType["metadata"]["name"]>;
3930
-
3931
- type DataModelInstances<DocumentType extends Document.Type> = DocumentType extends keyof DataModelConfig
3932
- ? _ToInstances<DataModelConfig[DocumentType]>
3909
+ type DataModelsFor<DocumentType extends Document.Type> = DocumentType extends keyof DataModelConfig
3910
+ ? DataModelConfig[DocumentType]
3933
3911
  : EmptyObject;
3934
3912
 
3935
- /**
3936
- * @internal
3937
- */
3938
- type _ToInstances<T extends AnyObject> = {
3939
- [K in keyof T]: T[K] extends AnyConstructor ? InstanceType<T[K]> : T[K];
3940
- };
3941
-
3942
- type DataModelClasses<DocumentType extends Document.Type> = DocumentType extends keyof DataModelConfig
3943
- ? _ToClasses<DataModelConfig[DocumentType]>
3944
- : EmptyObject;
3945
-
3946
- /**
3947
- * @internal
3948
- */
3949
- type _ToClasses<T extends AnyObject> = {
3950
- [K in keyof T]: _ToClass<T[K]>;
3951
- };
3952
-
3953
- /**
3954
- * @internal
3955
- * This method must go from an instance to a static side we know nothing about.
3956
- * This means its inherently lossy and full of assumptions.
3957
- * This is to support old configuration styles relatively gracefully.
3958
- */
3959
- type _ToClass<T> = T extends AnyConstructor
3960
- ? T
3961
- : T extends TypeDataModel<infer Schema, infer Parent, infer BaseData, infer DerivedData>
3962
- ? TypeDataModel.ConfigurationFailureClass &
3963
- (abstract new (...args: any[]) => T) &
3964
- typeof TypeDataModel<Schema, Parent, BaseData, DerivedData>
3965
- : T extends DataModel<infer Schema, infer Parent, infer ExtraConstructorOptions>
3966
- ? TypeDataModel.ConfigurationFailureClass &
3967
- (abstract new (...args: any[]) => T) &
3968
- typeof DataModel<Schema, Parent, ExtraConstructorOptions>
3969
- : TypeDataModel.ConfigurationFailureClass;
3970
-
3971
- /**
3972
- * Get the configured core and system type names for a specific document type.
3973
- * @typeParam ConcreteDocument - the type of the Document this data is for
3974
- * @deprecated Use the Game.Model namespace instead of TypeDataField
3975
- */
3976
- type TypeNames<ConcreteDocument extends Document.SystemConstructor> = Game.Model.TypeNames<
3977
- ConcreteDocument["metadata"]["name"]
3978
- >;
3979
-
3980
- /**
3981
- * Get the core type names for a specific document type.
3982
- * @typeParam DocumentType - the type of the Document this data is for
3983
- * @deprecated Use `DocumentType["metadata"]["coreTypes"][number]`
3984
- */
3985
- type CoreTypeNames<DocumentType extends Document.SystemConstructor> = DocumentType["metadata"]["coreTypes"][number];
3986
-
3987
3913
  /**
3988
3914
  * A shorthand for the assignment type of a TypeDataField class.
3989
3915
  * @typeParam DocumentType - the type of the embedded Document
@@ -3991,8 +3917,8 @@ declare namespace TypeDataField {
3991
3917
  */
3992
3918
  type AssignmentType<
3993
3919
  SystemDocumentConstructor extends Document.SystemConstructor,
3994
- Opts extends Options<InstanceType<SystemDocumentConstructor>>,
3995
- > = DataField.DerivedAssignmentType<AnyObject, MergedOptions<InstanceType<SystemDocumentConstructor>, Opts>>;
3920
+ Opts extends Options<SystemDocumentConstructor>,
3921
+ > = DataField.DerivedAssignmentType<AnyObject, MergedOptions<SystemDocumentConstructor, Opts>>;
3996
3922
 
3997
3923
  /**
3998
3924
  * A shorthand for the initialized type of a TypeDataField class.
@@ -4001,12 +3927,18 @@ declare namespace TypeDataField {
4001
3927
  */
4002
3928
  type InitializedType<
4003
3929
  SystemDocumentConstructor extends Document.SystemConstructor,
4004
- Opts extends Options<InstanceType<SystemDocumentConstructor>>,
3930
+ Opts extends Options<SystemDocumentConstructor>,
4005
3931
  > = DataField.DerivedInitializedType<
4006
- ValueOf<DataModelInstances<SystemDocumentConstructor["metadata"]["name"]>> | UnknownSystem,
4007
- MergedOptions<InstanceType<SystemDocumentConstructor>, Opts>
3932
+ _Instances<DataModelsFor<SystemDocumentConstructor["metadata"]["name"]>> | UnknownSystem,
3933
+ MergedOptions<SystemDocumentConstructor, Opts>
4008
3934
  >;
4009
3935
 
3936
+ type _Instances<T> = {
3937
+ [K in keyof T]: T[K] extends (abstract new (arg0: never, ...args: never[]) => infer U extends DataModel.Any)
3938
+ ? U
3939
+ : never;
3940
+ };
3941
+
4010
3942
  /**
4011
3943
  * With the existence of custom module subtypes a system can no longer rely on their configured types being the only ones.
4012
3944
  * A module can provide its own custom type though it is always of the form `${moduleName}.${subType}` so the `.` is a pretty
@@ -4050,9 +3982,9 @@ declare namespace TypeDataField {
4050
3982
  * @typeParam Opts - the options that override the default options
4051
3983
  */
4052
3984
  type PersistedType<
4053
- SystemDocumentConstructor extends Document.SystemConstructor,
4054
- Opts extends Options<InstanceType<SystemDocumentConstructor>>,
4055
- > = DataField.DerivedInitializedType<AnyObject, MergedOptions<InstanceType<SystemDocumentConstructor>, Opts>>;
3985
+ ConcreteDocument extends Document.SystemConstructor,
3986
+ Opts extends Options<ConcreteDocument>,
3987
+ > = DataField.DerivedInitializedType<AnyObject, MergedOptions<ConcreteDocument, Opts>>;
4056
3988
  }
4057
3989
 
4058
3990
  /**
@@ -4060,19 +3992,19 @@ declare namespace TypeDataField {
4060
3992
  */
4061
3993
  declare class TypedSchemaField<
4062
3994
  const Types extends TypedSchemaField.Types,
4063
- const Options extends TypedSchemaField.DefaultOptions = TypedSchemaField.DefaultOptions,
3995
+ const Options extends TypedSchemaField.Options<Types> = TypedSchemaField.DefaultOptions,
4064
3996
  const AssignmentType = TypedSchemaField.AssignmentType<Types, Options>,
4065
3997
  const InitializedType = TypedSchemaField.InitializedType<Types, Options>,
4066
- const PersistedType extends unknown | null | undefined = TypedSchemaField.PersistedType<Types, Options>,
3998
+ const PersistedType = TypedSchemaField.PersistedType<Types, Options>,
4067
3999
  > extends DataField<Options, AssignmentType, InitializedType, PersistedType> {
4068
4000
  /**
4069
4001
  * @param types - The different types this field can represent.
4070
4002
  * @param options - Options which configure the behavior of the field
4071
4003
  * @param context - Additional context which describes the field
4072
4004
  */
4073
- constructor(types: Types, options: Options, context?: DataField.Context);
4005
+ constructor(types: Types, options?: Options, context?: DataField.Context);
4074
4006
 
4075
- static get _defaults(): DataFieldOptions.Any;
4007
+ static get _defaults(): DataField.Options.Any;
4076
4008
 
4077
4009
  /**
4078
4010
  * The types of this field.
@@ -4106,6 +4038,8 @@ declare class TypedSchemaField<
4106
4038
  }
4107
4039
 
4108
4040
  declare namespace TypedSchemaField {
4041
+ interface Options<T extends Types> extends DataField.Options<_AssignmentType<ToConfiguredTypes<T>>> {}
4042
+
4109
4043
  type DefaultOptions = SimpleMerge<
4110
4044
  DataField.DefaultOptions,
4111
4045
  {
@@ -4113,31 +4047,36 @@ declare namespace TypedSchemaField {
4113
4047
  }
4114
4048
  >;
4115
4049
 
4116
- type ValidField = DataField<
4117
- {
4118
- required: true;
4119
- nullable: false;
4120
- },
4121
- any,
4122
- any,
4123
- any
4124
- >;
4125
-
4050
+ /**
4051
+ * A `ValidDataSchema` must pass the checks in `#configureTypes`. Namely:
4052
+ * - No `name` property.
4053
+ * - No `parent`.
4054
+ *
4055
+ * Additionally the `type` property (if any):
4056
+ * - Must be a `StringField`.
4057
+ * - Must be `required`
4058
+ * - Must not be `nullable`.
4059
+ * - Must not be `blank`.
4060
+ * - Must allow the corresponding type as a valid value.
4061
+ */
4126
4062
  // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
4127
4063
  type ValidDataSchema = {
4128
- readonly [field: string]: ValidField;
4064
+ readonly [field: string]: DataField.Any;
4129
4065
  };
4130
4066
 
4131
4067
  // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
4132
4068
  type Types = {
4133
4069
  [type: string]:
4134
4070
  | ValidDataSchema
4135
- | SchemaField<ValidDataSchema, any, any, any, any>
4136
- | typeof DataModel<ValidDataSchema, any>;
4071
+ | SchemaField<DataSchema, { required: true; nullable: false }, any, any, any>
4072
+ | typeof DataModel<DataSchema, null>;
4137
4073
  };
4138
4074
 
4139
4075
  type ToConfiguredTypes<Types extends TypedSchemaField.Types> = {
4140
- [K in keyof Types]: Types[K] extends DataModel.AnyConstructor ? EmbeddedDataField<Types[K]> : never;
4076
+ [K in keyof Types]:
4077
+ | (Types[K] extends ValidDataSchema ? SchemaField<Types[K]> : never)
4078
+ | (Types[K] extends SchemaField.Any ? Types[K] : never)
4079
+ | (Types[K] extends DataModel.AnyConstructor ? EmbeddedDataField<Types[K]> : never);
4141
4080
  };
4142
4081
 
4143
4082
  // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
@@ -4149,37 +4088,37 @@ declare namespace TypedSchemaField {
4149
4088
  * @internal
4150
4089
  */
4151
4090
  type _AssignmentType<Types extends ConfiguredTypes> = {
4152
- [K in keyof Types]: DataField.AssignmentTypeFor<Types[K]>;
4091
+ [K in keyof Types]: DataField.AssignmentTypeFor<Types[K]> & { type: K };
4153
4092
  }[keyof Types];
4154
4093
 
4155
4094
  type AssignmentType<
4156
4095
  Types extends TypedSchemaField.Types,
4157
- Options extends TypedSchemaField.DefaultOptions,
4096
+ Options extends TypedSchemaField.Options<Types>,
4158
4097
  > = DataField.DerivedAssignmentType<_AssignmentType<ToConfiguredTypes<Types>>, Options>;
4159
4098
 
4160
4099
  /**
4161
4100
  * @internal
4162
4101
  */
4163
4102
  type _InitializedType<Types extends ConfiguredTypes> = {
4164
- [K in keyof Types]: DataField.InitializedTypeFor<Types[K]>;
4103
+ [K in keyof Types]: DataField.InitializedTypeFor<Types[K]> & { type: K };
4165
4104
  }[keyof Types];
4166
4105
 
4167
4106
  type InitializedType<
4168
4107
  Types extends TypedSchemaField.Types,
4169
- Options extends TypedSchemaField.DefaultOptions,
4108
+ Options extends TypedSchemaField.Options<Types>,
4170
4109
  > = DataField.DerivedInitializedType<_InitializedType<ToConfiguredTypes<Types>>, Options>;
4171
4110
 
4172
4111
  /**
4173
4112
  * @internal
4174
4113
  */
4175
4114
  type _PersistedType<Types extends ConfiguredTypes> = {
4176
- [K in keyof Types]: DataField.PersistedTypeFor<Types[K]>;
4115
+ [K in keyof Types]: DataField.PersistedTypeFor<Types[K]> & { type: K };
4177
4116
  }[keyof Types];
4178
4117
 
4179
4118
  type PersistedType<
4180
4119
  Types extends TypedSchemaField.Types,
4181
- _Options extends TypedSchemaField.DefaultOptions,
4182
- > = DataField.DerivedInitializedType<_PersistedType<ToConfiguredTypes<Types>>, _Options>;
4120
+ Options extends TypedSchemaField.Options<Types>,
4121
+ > = DataField.DerivedInitializedType<_PersistedType<ToConfiguredTypes<Types>>, Options>;
4183
4122
  }
4184
4123
 
4185
4124
  /**
@@ -4187,6 +4126,7 @@ declare namespace TypedSchemaField {
4187
4126
  * @typeParam Errors - the type of the errors contained in this error
4188
4127
  */
4189
4128
  declare class ModelValidationError<
4129
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
4190
4130
  Errors extends ModelValidationError.Errors = ModelValidationError.Errors,
4191
4131
  > extends Error {
4192
4132
  /**
@@ -4202,6 +4142,7 @@ declare class ModelValidationError<
4202
4142
  * @param errors - The raw error structure
4203
4143
  * @returns A formatted error message
4204
4144
  */
4145
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
4205
4146
  static formatErrors(errors: ModelValidationError.Errors): string;
4206
4147
  }
4207
4148
 
@@ -4255,7 +4196,7 @@ declare class JavaScriptField<
4255
4196
 
4256
4197
  declare namespace JavaScriptField {
4257
4198
  // TODO(LukeAbby): `choices` is effectively deleted due to being unconditionally set to `undefined` in the constructor.
4258
- type Options = StringFieldOptions & {
4199
+ type Options = StringField.Options & {
4259
4200
  /**
4260
4201
  * Does the field allow async code?
4261
4202
  * @defaultValue `false`
@@ -4264,7 +4205,7 @@ declare namespace JavaScriptField {
4264
4205
  };
4265
4206
 
4266
4207
  type DefaultOptions = SimpleMerge<
4267
- StringFieldOptions,
4208
+ StringField.Options,
4268
4209
  {
4269
4210
  async: false;
4270
4211
  }