Repository: League-of-Foundry-Developers/foundry-vtt-types
Pull request #2584 (2024-07-04 16:13:47)

v12 common.constants
I think this is #2571 .


Patch:
diff --git a/src/foundry/common/constants.d.mts b/src/foundry/common/constants.d.mts
index 5998f0ae9..67654850a 100644
--- a/src/foundry/common/constants.d.mts
+++ b/src/foundry/common/constants.d.mts
@@ -137,9 +137,9 @@ export declare const CANVAS_PERFORMANCE_MODES: Readonly<{
 export type CANVAS_PERFORMANCE_MODES = ValueOf<typeof CANVAS_PERFORMANCE_MODES>;
 
 /**
- * Valid Chat Message types
+ * Valid Chat Message styles which affect how the message is presented in the chat log.
  */
-export declare const CHAT_MESSAGE_TYPES: Readonly<{
+export declare const CHAT_MESSAGE_STYLES: Readonly<{
   /**
    * An uncategorized chat message
    */
@@ -163,18 +163,20 @@ export declare const CHAT_MESSAGE_TYPES: Readonly<{
   EMOTE: 3;
 
   /**
-   * A message whispered to the target.
-   * If the user sending the message does not have the "Private Messages" permission, Gamemasters will be able to see the content of the message even if they were not a recipient.
-   * If the whisper's target is a character, the whisper will be sent to whoever controls the token.
+   * @deprecated since v12
+   *
+   * @remarks Define rolls directly in ChatMessage#rolls instead.
    */
-  WHISPER: 4;
+  ROLL: 0;
 
   /**
-   * A message that is a dice roll.
+   * @deprecated since v12
+   *
+   * @remarks Define whispers directly in ChatMessage#whisper instead.
    */
-  ROLL: 5;
+  WHISPER: 0;
 }>;
-export type CHAT_MESSAGE_TYPES = ValueOf<typeof CHAT_MESSAGE_TYPES>;
+export type CHAT_MESSAGE_STYLES = ValueOf<typeof CHAT_MESSAGE_STYLES>;
 
 /**
  * Define the set of languages which have built-in support in the core software
@@ -207,6 +209,19 @@ export declare const COMPATIBILITY_MODES: Readonly<{
 }>;
 export type COMPATIBILITY_MODES = ValueOf<typeof COMPATIBILITY_MODES>;
 
+/**
+ * The lighting illumination levels which are supported.
+ */
+export declare const LIGHTING_LEVELS: Readonly<{
+  DARKNESS: -2;
+  HALFDARK: -1;
+  UNLIT: 0;
+  DIM: 1;
+  BRIGHT: 2;
+  BRIGHTEST: 3;
+}>;
+export type LIGHTING_LEVELS = ValueOf<typeof LIGHTING_LEVELS>;
+
 /**
  * The CSS themes which are currently supported for the V11 Setup menu.
  */
@@ -225,27 +240,82 @@ export declare const DEFAULT_TOKEN: "icons/svg/mystery-man.svg";
 /**
  * Define the allowed Document class types.
  */
-export declare const DOCUMENT_TYPES: readonly [
+export declare const PRIMARY_DOCUMENT_TYPES: readonly [
   "Actor",
+  "Adventure",
   "Cards",
   "ChatMessage",
   "Combat",
+  "FogExploration",
+  "Folder",
   "Item",
+  "JournalEntry",
+  "Macro",
+  "Playlist",
+  "RollTable",
+  "Scene",
+  "Setting",
+  "User",
+];
+export type PRIMARY_DOCUMENT_TYPES = ValueOf<typeof PRIMARY_DOCUMENT_TYPES>;
+
+/**
+ * The embedded Document types.
+ */
+export const EMBEDDED_DOCUMENT_TYPES: readonly [
+  "ActiveEffect",
+  "ActorDelta",
+  "AmbientLight",
+  "AmbientSound",
+  "Card",
+  "Combatant",
+  "Drawing",
+  "Item",
+  "JournalEntryPage",
+  "MeasuredTemplate",
+  "Note",
+  "PlaylistSound",
+  "Region",
+  "RegionBehavior",
+  "TableResult",
+  "Tile",
+  "Token",
+  "Wall",
+];
+export type EMBEDDED_DOCUMENT_TYPES = ValueOf<typeof EMBEDDED_DOCUMENT_TYPES>;
+
+/**
+ * A listing of all valid Document types, both primary and embedded.
+ */
+export type ALL_DOCUMENT_TYPES = PRIMARY_DOCUMENT_TYPES | EMBEDDED_DOCUMENT_TYPES;
+
+/**
+ * The allowed primary Document types which may exist within a World.
+ */
+export declare const WORLD_DOCUMENT_TYPES: readonly [
+  "Actor",
+  "Cards",
+  "ChatMessage",
+  "Combat",
+  "FogExploration",
   "Folder",
+  "Item",
   "JournalEntry",
   "Macro",
   "Playlist",
   "RollTable",
   "Scene",
+  "Setting",
   "User",
 ];
-export type DOCUMENT_TYPES = ValueOf<typeof DOCUMENT_TYPES>;
+export type WORLD_DOCUMENT_TYPES = ValueOf<typeof WORLD_DOCUMENT_TYPES>;
 
 /**
- * The allowed Document types which may exist within a Compendium pack.
+ * The allowed primary Document types which may exist within a Compendium pack.
  */
 export declare const COMPENDIUM_DOCUMENT_TYPES: readonly [
   "Actor",
+  "Adventure",
   "Cards",
   "Item",
   "JournalEntry",
@@ -253,7 +323,6 @@ export declare const COMPENDIUM_DOCUMENT_TYPES: readonly [
   "Playlist",
   "RollTable",
   "Scene",
-  "Adventure",
 ];
 export type COMPENDIUM_DOCUMENT_TYPES = ValueOf<typeof COMPENDIUM_DOCUMENT_TYPES>;
 
@@ -300,13 +369,6 @@ export declare const DOCUMENT_META_OWNERSHIP_LEVELS: Readonly<{
 }>;
 export type DOCUMENT_META_OWNERSHIP_LEVELS = ValueOf<typeof DOCUMENT_META_OWNERSHIP_LEVELS>;
 
-/**
- * @deprecated since v10, will be removed in v12
- * @see CONST.DOCUMENT_OWNERSHIP_LEVELS
- */
-export declare const DOCUMENT_PERMISSION_LEVELS: typeof DOCUMENT_OWNERSHIP_LEVELS;
-export type DOCUMENT_PERMISSION_LEVELS = DOCUMENT_OWNERSHIP_LEVELS;
-
 /**
  * Define the allowed Document types which may be dynamically linked in chat
  */
@@ -398,10 +460,25 @@ export declare const FOLDER_MAX_DEPTH: 4;
  */
 export declare const GAME_VIEWS: readonly ["game", "stream"];
 
+/**
+ * The directions of movement.
+ */
+export declare const MOVEMENT_DIRECTIONS: Readonly<{
+  UP: 0x1;
+  DOWN: 0x2;
+  LEFT: 0x4;
+  RIGHT: 0x8;
+  UP_LEFT: 0x1 | 0x4;
+  UP_RIGHT: 0x1 | 0x8;
+  DOWN_LEFT: 0x2 | 0x4;
+  DOWN_RIGHT: 0x2 | 0x8;
+}>;
+export type MOVEMENT_DIRECTIONS = ValueOf<typeof MOVEMENT_DIRECTIONS>;
+
 /**
  * The minimum allowed grid size which is supported by the software
  */
-export declare const GRID_MIN_SIZE: 50;
+export declare const GRID_MIN_SIZE: 20;
 
 /**
  * The allowed Grid types which are supported by the software
@@ -419,27 +496,169 @@ export declare const GRID_TYPES: Readonly<{
   SQUARE: 1;
 
   /**
-   * A column-wise hexagon grid (flat-topped) where odd-numbered rows are offset.
+   * A row-wise hexagon grid (pointy-topped) where odd-numbered rows are offset.
    */
   HEXODDR: 2;
 
   /**
-   * A column-wise hexagon grid (flat-topped) where even-numbered rows are offset.
+   * A row-wise hexagon grid (pointy-topped) where even-numbered rows are offset.
    */
   HEXEVENR: 3;
 
   /**
-   * A row-wise hexagon grid (pointy-topped) where odd-numbered columns are offset.
+   * A column-wise hexagon grid (flat-topped) where odd-numbered columns are offset.
    */
   HEXODDQ: 4;
 
   /**
-   * A row-wise hexagon grid (pointy-topped) where even-numbered columns are offset.
+   * A column-wise hexagon grid (flat-topped) where even-numbered columns are offset.
    */
   HEXEVENQ: 5;
 }>;
 export type GRID_TYPES = ValueOf<typeof GRID_TYPES>;
 
+/**
+ * The different rules to define and measure diagonal distance/cost in a square grid.
+ * The description of each option refers to the distance/cost of moving diagonally relative to the distance/cost of a horizontal or vertical move.
+ */
+export declare const GRID_DIAGONALS: Readonly<{
+  /**
+   * The diagonal distance is 1. Diagonal movement costs the same as horizontal/vertical movement.
+   */
+  EQUIDISTANT: 0;
+
+  /**
+   * The diagonal distance is √2. Diagonal movement costs √2 times as much as horizontal/vertical movement.
+   */
+  EXACT: 1;
+
+  /**
+   * The diagonal distance is 1.5. Diagonal movement costs 1.5 times as much as horizontal/vertical movement.
+   */
+  APPROXIMATE: 2;
+
+  /**
+   * The diagonal distance is 2. Diagonal movement costs 2 times as much as horizontal/vertical movement.
+   */
+  RECTILINEAR: 3;
+
+  /**
+   * The diagonal distance alternates between 1 and 2 starting at 1.
+   * The first diagonal movement costs the same as horizontal/vertical movement
+   * The second diagonal movement costs 2 times as much as horizontal/vertical movement.
+   * And so on...
+   */
+  ALTERNATING_1: 4;
+
+  /**
+   * The diagonal distance alternates between 2 and 1 starting at 2.
+   * The first diagonal movement costs 2 times as much as horizontal/vertical movement.
+   * The second diagonal movement costs the same as horizontal/vertical movement.
+   * And so on...
+   */
+  ALTERNATING_2: 5;
+
+  /**
+   * The diagonal distance is ∞. Diagonal movement is not allowed/possible.
+   */
+  ILLEGAL: 6;
+}>;
+export type GRID_DIAGONALS = ValueOf<typeof GRID_DIAGONALS>;
+
+/**
+ * The grid snapping modes.
+ */
+export declare const GRID_SNAPPING_MODES: Readonly<{
+  /**
+   * Nearest center point.
+   */
+  CENTER: 0x1;
+
+  /**
+   * Nearest edge midpoint.
+   */
+  EDGE_MIDPOINT: 0x2;
+
+  /**
+   * Nearest top-left vertex.
+   */
+  TOP_LEFT_VERTEX: 0x10;
+
+  /**
+   * Nearest top-right vertex.
+   */
+  TOP_RIGHT_VERTEX: 0x20;
+
+  /**
+   * Nearest bottom-left vertex.
+   */
+  BOTTOM_LEFT_VERTEX: 0x40;
+
+  /**
+   * Nearest bottom-right vertex.
+   */
+  BOTTOM_RIGHT_VERTEX: 0x80;
+
+  /**
+   * Nearest vertex.
+   * Alias for `TOP_LEFT_VERTEX | TOP_RIGHT_VERTEX | BOTTOM_LEFT_VERTEX | BOTTOM_RIGHT_VERTEX`.
+   */
+  VERTEX: 0xf0;
+
+  /**
+   * Nearest top-left corner.
+   */
+  TOP_LEFT_CORNER: 0x100;
+
+  /**
+   * Nearest top-right corner.
+   */
+  TOP_RIGHT_CORNER: 0x200;
+
+  /**
+   * Nearest bottom-left corner.
+   */
+  BOTTOM_LEFT_CORNER: 0x400;
+
+  /**
+   * Nearest bottom-right corner.
+   */
+  BOTTOM_RIGHT_CORNER: 0x800;
+
+  /**
+   * Nearest corner.
+   * Alias for `TOP_LEFT_CORNER | TOP_RIGHT_CORNER | BOTTOM_LEFT_CORNER | BOTTOM_RIGHT_CORNER`.
+   */
+  CORNER: 0xf00;
+
+  /**
+   * Nearest top side midpoint.
+   */
+  TOP_SIDE_MIDPOINT: 0x1000;
+
+  /**
+   * Nearest bottom side midpoint.
+   */
+  BOTTOM_SIDE_MIDPOINT: 0x2000;
+
+  /**
+   * Nearest left side midpoint.
+   */
+  LEFT_SIDE_MIDPOINT: 0x4000;
+
+  /**
+   * Nearest right side midpoint.
+   */
+  RIGHT_SIDE_MIDPOINT: 0x8000;
+
+  /**
+   * Nearest side midpoint.
+   * Alias for `TOP_SIDE_MIDPOINT | BOTTOM_SIDE_MIDPOINT | LEFT_SIDE_MIDPOINT | RIGHT_SIDE_MIDPOINT`.
+   */
+  SIDE_MIDPOINT: 0xf000;
+}>;
+export type GRID_SNAPPING_MODES = ValueOf<typeof GRID_SNAPPING_MODES>;
+
 /**
  * A list of supported setup URL names
  */
@@ -468,6 +687,16 @@ export declare const MACRO_TYPES: Readonly<{
 }>;
 export type MACRO_TYPES = ValueOf<typeof MACRO_TYPES>;
 
+/**
+ * The allowed channels for audio playback.
+ */
+export declare const AUDIO_CHANNELS: Readonly<{
+  music: "AUDIO.CHANNELS.MUSIC.label";
+  environment: "AUDIO.CHANNELS.ENVIRONMENT.label";
+  interface: "AUDIO.CHANNELS.INTERFACE.label";
+}>;
+export type AUDIO_CHANNELS = ValueOf<typeof AUDIO_CHANNELS>;
+
 /**
  * The allowed playback modes for an audio Playlist
  * @see https://foundryvtt.com/article/playlists/
@@ -634,17 +863,17 @@ export declare const TABLE_RESULT_TYPES: Readonly<{
   /**
    *  Plain text or HTML scripted entries which will be output to Chat.
    */
-  TEXT: 0;
+  TEXT: "text";
 
   /**
    * An in-World Document reference which will be linked to in the chat message.
    */
-  DOCUMENT: 1;
+  DOCUMENT: "document";
 
   /**
    * A Compendium Pack reference which will be linked to in the chat message.
    */
-  COMPENDIUM: 2;
+  COMPENDIUM: "pack";
 }>;
 export type TABLE_RESULT_TYPES = ValueOf<typeof TABLE_RESULT_TYPES>;
 
@@ -698,7 +927,7 @@ export declare const TEXT_ANCHOR_POINTS: Readonly<{
 export type TEXT_ANCHOR_POINTS = ValueOf<typeof TEXT_ANCHOR_POINTS>;
 
 /**
- * Define the valid occlusion modes which an overhead tile can use
+ * Define the valid occlusion modes which a tile can use
  * @defaultValue `1`
  * @see https://foundryvtt.com/article/tiles/
  */
@@ -735,6 +964,37 @@ export type OCCLUSION_MODES = ValueOf<typeof OCCLUSION_MODES>;
 export declare const TILE_OCCLUSION_MODES: typeof OCCLUSION_MODES;
 export type TILE_OCCLUSION_MODES = ValueOf<typeof TILE_OCCLUSION_MODES>;
 
+/**
+ * The occlusion modes that define the set of tokens that trigger occlusion.
+ */
+export declare const TOKEN_OCCLUSION_MODES: Readonly<{
+  /**
+   * Owned tokens that aren't hidden.
+   */
+  OWNED: 0x1;
+
+  /**
+   * Controlled tokens.
+   */
+  CONTROLLED: 0x2;
+
+  /**
+   * Hovered tokens that are visible.
+   */
+  HOVERED: 0x4;
+
+  /**
+   * Highlighted tokens that are visible.
+   */
+  HIGHLIGHTED: 0x8;
+
+  /**
+   * All visible tokens.
+   */
+  VISIBLE: 0x10;
+}>;
+export type TOKEN_OCCLUSION_MODES = ValueOf<typeof TOKEN_OCCLUSION_MODES>;
+
 /**
  * Describe the various thresholds of token control upon which to show certain pieces of information
  * @see https://foundryvtt.com/article/tokens/
@@ -799,6 +1059,42 @@ export declare const TOKEN_DISPOSITIONS: Readonly<{
 }>;
 export type TOKEN_DISPOSITIONS = ValueOf<typeof TOKEN_DISPOSITIONS>;
 
+/**
+ * The possible shapes of Tokens in hexagonal grids.
+ */
+export declare const TOKEN_HEXAGONAL_SHAPES: Readonly<{
+  /**
+   * Ellipse (Variant 1)
+   */
+  ELLIPSE_1: 0;
+
+  /**
+   * Ellipse (Variant 2)
+   */
+  ELLIPSE_2: 1;
+
+  /**
+   * Trapezoid (Variant 1)
+   */
+  TRAPEZOID_1: 2;
+
+  /**
+   * Trapezoid (Variant 2)
+   */
+  TRAPEZOID_2: 3;
+
+  /**
+   * Rectangle (Variant 1)
+   */
+  RECTANGLE_1: 4;
+
+  /**
+   * Rectangle (Variant 2)
+   */
+  RECTANGLE_2: 5;
+}>;
+export type TOKEN_HEXAGONAL_SHAPES = ValueOf<typeof TOKEN_HEXAGONAL_SHAPES>;
+
 /**
  * Define the allowed User permission levels.
  * Each level is assigned a value in ascending order. Higher levels grant more permissions.
@@ -1010,6 +1306,19 @@ export declare const USER_PERMISSIONS: Readonly<{
    */
   MACRO_SCRIPT: UserPermission;
 
+  /**
+   * @defaultValue
+   * ```typescript
+   * {
+   *    label: "PERMISSION.ManualRolls",
+   *    hint: "PERMISSION.ManualRollsHint",
+   *    disableGM: true,
+   *    defaultRole: USER_ROLES.TRUSTED
+   * }
+   * ```
+   */
+  MANUAL_ROLLS: UserPermission;
+
   /**
    * @defaultValue
    * ```typescript
@@ -1049,6 +1358,19 @@ export declare const USER_PERMISSIONS: Readonly<{
    */
   PING_CANVAS: UserPermission;
 
+  /**
+   * @defaultValue
+   * ```typescript
+   * {
+   *   label: "PERMISSION.PlaylistCreate",
+   *   hint: "PERMISSION.PlaylistCreateHint",
+   *   disableGM: false,
+   *   defaultRole: USER_ROLES.ASSISTANT
+   * }
+   * ```
+   */
+  PLAYLIST_CREATE: UserPermission;
+
   /**
    * @defaultValue
    * ```typescript
@@ -1494,7 +1816,23 @@ export type SHOWDOWN_OPTIONS = ValueOf<typeof SHOWDOWN_OPTIONS>;
  * The list of allowed attributes in HTML elements.
  */
 export const ALLOWED_HTML_ATTRIBUTES: Readonly<{
-  "*": ["class", "data-*", "id", "title", "style", "draggable", "aria-*", "tabindex", "dir"];
+  "*": [
+    "class",
+    "data-*",
+    "id",
+    "title",
+    "style",
+    "draggable",
+    "aria-*",
+    "tabindex",
+    "dir",
+    "hidden",
+    "inert",
+    "role",
+    "is",
+    "lang",
+    "popover",
+  ];
   a: ["href", "name", "target", "rel"];
   area: ["alt", "coords", "href", "rel", "shape", "target"];
   audio: ["controls", "loop", "muted", "src", "autoplay"];
@@ -1575,13 +1913,16 @@ export declare const SETUP_PACKAGE_PROGRESS: Readonly<{
     INSTALL_PKG: "installPackage";
     LAUNCH_WORLD: "launchWorld";
     UPDATE_CORE: "updateCore";
+    UPDATE_DOWNLOAD: "updateDownload";
   };
 
   STEPS: {
     ARCHIVE: "archive";
     CHECK_DISK_SPACE: "checkDiskSpace";
     CONNECT_WORLD: "connectWorld";
+    MIGRATE_WORLD: "migrateWorld";
     CONNECT_PKG: "connectPackage";
+    MIGRATE_PKG: "migratePackage";
     MIGRATE_CORE: "migrateCore";
     MIGRATE_SYSTEM: "migrateSystem";
     DOWNLOAD: "download";
@@ -1603,23 +1944,110 @@ export namespace SETUP_PACKAGE_PROGRESS {
 }
 
 /**
- * @deprecated since v10, will be removed in v12
- * @see {@link foundry.data.ShapeData.TYPES}
+ * The combat announcements.
+ */
+export declare const COMBAT_ANNOUNCEMENTS: readonly ["startEncounter", "nextUp", "yourTurn"];
+export type COMBAT_ANNOUNCEMENTS = ValueOf<typeof COMBAT_ANNOUNCEMENTS>;
+
+/**
+ * The fit modes of {@link foundry.data.TextureData#fit}.
  */
-export declare const DRAWING_TYPES: Readonly<{
-  RECTANGLE: "r";
-  ELLIPSE: "e";
-  TEXT: "t";
-  POLYGON: "p";
-  FREEHAND: "f";
+export declare const TEXTURE_DATA_FIT_MODES: readonly ["fill", "contain", "cover", "width", "height"];
+export type TEXTURE_DATA_FIT_MODES = ValueOf<typeof TEXTURE_DATA_FIT_MODES>;
+
+/**
+ * The maximum depth to recurse to when embedding enriched text.
+ */
+export const TEXT_ENRICH_EMBED_MAX_DEPTH = 5;
+
+/**
+ * The Region events that are supported by core.
+ */
+export declare const REGION_EVENTS: Readonly<{
+  /**
+   * Triggered when the shapes or bottom/top elevation of the Region are changed.
+   */
+  REGION_BOUNDARY: "regionBoundary";
+
+  /**
+   * Triggered when the behavior is enabled/disabled or the Scene its Region is in is viewed/unviewed.
+   */
+  BEHAVIOR_STATUS: "behaviorStatus";
+
+  /**
+   * Triggered when a Token enters a Region.
+   */
+  TOKEN_ENTER: "tokenEnter";
+
+  /**
+   * Triggered when a Token exists a Region.
+   */
+  TOKEN_EXIT: "tokenExit";
+
+  /**
+   * Triggered when a Token is about to move into, out of, through, or within a Region.
+   */
+  TOKEN_PRE_MOVE: "tokenPreMove";
+
+  /**
+   * Triggered when a Token moves into, out of, through, or within a Region.
+   */
+  TOKEN_MOVE: "tokenMove";
+
+  /**
+   * Triggered when a Token moves into a Region.
+   */
+  TOKEN_MOVE_IN: "tokenMoveIn";
+
+  /**
+   * Triggered when a Token moves out of a Region.
+   */
+  TOKEN_MOVE_OUT: "tokenMoveOut";
+
+  /**
+   * Triggered when a Token starts its Combat turn in a Region.
+   */
+  TOKEN_TURN_START: "tokenTurnStart";
+
+  /**
+   * Triggered when a Token ends its Combat turn in a Region.
+   */
+  TOKEN_TURN_END: "tokenTurnEnd";
+
+  /**
+   * Triggered when a Token starts the Combat round in a Region.
+   */
+  TOKEN_ROUND_START: "tokenRoundStart";
+
+  /**
+   * Triggered when a Token ends the Combat round in a Region.
+   */
+  TOKEN_ROUND_END: "tokenRoundEnd";
 }>;
+export type REGION_EVENTS = ValueOf<typeof REGION_EVENTS>;
+
 /**
- * @deprecated since v10, will be removed in v12
+ * The possible visibility state of Region.
  */
-export type DRAWING_TYPES = ValueOf<typeof DRAWING_TYPES>;
+export declare const REGION_VISIBILITY: Readonly<{
+  /**
+   * Only visible on the RegionLayer.
+   */
+  LAYER: 0;
+
+  /**
+   * Only visible to Gamemasters.
+   */
+  GAMEMASTER: 1;
+
+  /**
+   * Visible to anyone.
+   */
+  ALWAYS: 2;
+}>;
+export type REGION_VISIBILITY = ValueOf<typeof REGION_VISIBILITY>;
 
 /**
- * The combat announcements.
+ * @deprecated since v12
  */
-export declare const COMBAT_ANNOUNCEMENTS: readonly ["startEncounter", "nextUp", "yourTurn"];
-export type COMBAT_ANNOUNCEMENTS = ValueOf<typeof COMBAT_ANNOUNCEMENTS>;
+export type DOCUMENT_TYPES = Exclude<WORLD_DOCUMENT_TYPES, "FogExploration" | "Setting">;
diff --git a/src/foundry/common/documents/chat-message.d.mts b/src/foundry/common/documents/chat-message.d.mts
index a27b59523..326d646aa 100644
--- a/src/foundry/common/documents/chat-message.d.mts
+++ b/src/foundry/common/documents/chat-message.d.mts
@@ -101,8 +101,8 @@ declare namespace BaseChatMessage {
      */
     type: fields.NumberField<{
       required: true;
-      choices: CONST.CHAT_MESSAGE_TYPES[];
-      initial: typeof CONST.CHAT_MESSAGE_TYPES.OTHER;
+      choices: CONST.CHAT_MESSAGE_STYLES[];
+      initial: typeof CONST.CHAT_MESSAGE_STYLES.OTHER;
       validationError: "must be a value in CONST.CHAT_MESSAGE_TYPES";
     }>;
 


Test patch:
diff --git a/tests/foundry/common/constants.test-d.ts b/tests/foundry/common/constants.test-d.ts
index 8cfd768b6..d6891476b 100644
--- a/tests/foundry/common/constants.test-d.ts
+++ b/tests/foundry/common/constants.test-d.ts
@@ -4,26 +4,40 @@ import type { ValueOf } from "../../../src/types/utils.d.mts";
 expectTypeOf<foundry.CONST.ACTIVE_EFFECT_MODES>().toMatchTypeOf<number>();
 expectTypeOf<foundry.CONST.CARD_DRAW_MODES>().toMatchTypeOf<number>();
 expectTypeOf<foundry.CONST.CANVAS_PERFORMANCE_MODES>().toMatchTypeOf<number>();
+expectTypeOf<foundry.CONST.CHAT_MESSAGE_STYLES>().toMatchTypeOf<number>();
 expectTypeOf<foundry.CONST.COMPATIBILITY_MODES>().toMatchTypeOf<number>();
+expectTypeOf<foundry.CONST.LIGHTING_LEVELS>().toMatchTypeOf<number>();
 expectTypeOf<foundry.CONST.CSS_THEMES>().toMatchTypeOf<string>();
+expectTypeOf<foundry.CONST.PRIMARY_DOCUMENT_TYPES>().toMatchTypeOf<string>();
+expectTypeOf<foundry.CONST.EMBEDDED_DOCUMENT_TYPES>().toMatchTypeOf<string>();
+expectTypeOf<foundry.CONST.ALL_DOCUMENT_TYPES>().toMatchTypeOf<string>();
+expectTypeOf<foundry.CONST.WORLD_DOCUMENT_TYPES>().toMatchTypeOf<string>();
+expectTypeOf<foundry.CONST.COMPENDIUM_DOCUMENT_TYPES>().toMatchTypeOf<string>();
 expectTypeOf<foundry.CONST.DOCUMENT_OWNERSHIP_LEVELS>().toMatchTypeOf<number>();
 expectTypeOf<foundry.CONST.DOCUMENT_META_OWNERSHIP_LEVELS>().toMatchTypeOf<number>();
 expectTypeOf<foundry.CONST.DICE_ROLL_MODES>().toMatchTypeOf<string>();
 expectTypeOf<foundry.CONST.DRAWING_FILL_TYPES>().toMatchTypeOf<number>();
+expectTypeOf<foundry.CONST.FOLDER_DOCUMENT_TYPES>().toMatchTypeOf<string>();
+expectTypeOf<foundry.CONST.MOVEMENT_DIRECTIONS>().toMatchTypeOf<number>();
 expectTypeOf<foundry.CONST.GRID_TYPES>().toMatchTypeOf<number>();
+expectTypeOf<foundry.CONST.GRID_DIAGONALS>().toMatchTypeOf<number>();
+expectTypeOf<foundry.CONST.GRID_SNAPPING_MODES>().toMatchTypeOf<number>();
 expectTypeOf<foundry.CONST.MACRO_TYPES>().toMatchTypeOf<string>();
+expectTypeOf<foundry.CONST.AUDIO_CHANNELS>().toMatchTypeOf<string>();
 expectTypeOf<foundry.CONST.PLAYLIST_MODES>().toMatchTypeOf<number>();
 expectTypeOf<foundry.CONST.PLAYLIST_SORT_MODES>().toMatchTypeOf<string>();
 expectTypeOf<foundry.CONST.DIRECTORY_SEARCH_MODES>().toMatchTypeOf<string>();
 expectTypeOf<foundry.CONST.PACKAGE_AVAILABILITY_CODES>().toMatchTypeOf<number>();
 expectTypeOf<foundry.CONST.SOFTWARE_UPDATE_CHANNELS>().toMatchTypeOf<string>();
-expectTypeOf<foundry.CONST.TABLE_RESULT_TYPES>().toMatchTypeOf<number>();
+expectTypeOf<foundry.CONST.TABLE_RESULT_TYPES>().toMatchTypeOf<string>();
 expectTypeOf<foundry.CONST.JOURNAL_ENTRY_PAGE_FORMATS>().toMatchTypeOf<number>();
 expectTypeOf<foundry.CONST.TEXT_ANCHOR_POINTS>().toMatchTypeOf<number>();
 expectTypeOf<foundry.CONST.OCCLUSION_MODES>().toMatchTypeOf<number>();
 expectTypeOf<foundry.CONST.TILE_OCCLUSION_MODES>().toMatchTypeOf<foundry.CONST.OCCLUSION_MODES>();
+expectTypeOf<foundry.CONST.TOKEN_OCCLUSION_MODES>().toMatchTypeOf<number>();
 expectTypeOf<foundry.CONST.TOKEN_DISPLAY_MODES>().toMatchTypeOf<number>();
 expectTypeOf<foundry.CONST.TOKEN_DISPOSITIONS>().toMatchTypeOf<number>();
+expectTypeOf<foundry.CONST.TOKEN_HEXAGONAL_SHAPES>().toMatchTypeOf<number>();
 expectTypeOf<foundry.CONST.USER_ROLES>().toMatchTypeOf<number>();
 expectTypeOf<foundry.CONST.USER_ROLE_NAMES>().toMatchTypeOf<string>();
 expectTypeOf<foundry.CONST.MEASURED_TEMPLATE_TYPES>().toMatchTypeOf<string>();
@@ -49,3 +63,8 @@ expectTypeOf<foundry.CONST.ALLOWED_HTML_ATTRIBUTES>().toMatchTypeOf<string[]>();
 
 expectTypeOf<foundry.CONST.SETUP_PACKAGE_PROGRESS.ACTIONS>().toMatchTypeOf<string>();
 expectTypeOf<foundry.CONST.SETUP_PACKAGE_PROGRESS.STEPS>().toMatchTypeOf<string>();
+
+expectTypeOf<foundry.CONST.COMBAT_ANNOUNCEMENTS>().toMatchTypeOf<string>();
+expectTypeOf<foundry.CONST.TEXTURE_DATA_FIT_MODES>().toMatchTypeOf<string>();
+expectTypeOf<foundry.CONST.REGION_EVENTS>().toMatchTypeOf<string>();
+expectTypeOf<foundry.CONST.REGION_VISIBILITY>().toMatchTypeOf<number>();