isaacscript-common 81.0.0 → 81.0.2

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 (106) hide show
  1. package/dist/classes/features/other/CharacterStats.d.ts +1 -1
  2. package/dist/classes/features/other/CharacterStats.d.ts.map +1 -1
  3. package/dist/classes/features/other/DeployJSONRoom.d.ts +1 -1
  4. package/dist/classes/features/other/DeployJSONRoom.d.ts.map +1 -1
  5. package/dist/classes/features/other/DeployJSONRoom.lua +1 -1
  6. package/dist/classes/features/other/DisableInputs.d.ts +2 -2
  7. package/dist/classes/features/other/DisableInputs.d.ts.map +1 -1
  8. package/dist/classes/features/other/ModdedElementSets.d.ts +2 -2
  9. package/dist/classes/features/other/ModdedElementSets.d.ts.map +1 -1
  10. package/dist/functions/array.d.ts +17 -17
  11. package/dist/functions/array.d.ts.map +1 -1
  12. package/dist/functions/bitwise.d.ts +2 -2
  13. package/dist/functions/bitwise.d.ts.map +1 -1
  14. package/dist/functions/bitwise.lua +1 -1
  15. package/dist/functions/doors.d.ts +1 -1
  16. package/dist/functions/doors.d.ts.map +1 -1
  17. package/dist/functions/doors.lua +2 -1
  18. package/dist/functions/entities.d.ts +4 -4
  19. package/dist/functions/entities.d.ts.map +1 -1
  20. package/dist/functions/entities.lua +2 -1
  21. package/dist/functions/enums.d.ts +1 -1
  22. package/dist/functions/enums.d.ts.map +1 -1
  23. package/dist/functions/gridEntities.d.ts +3 -3
  24. package/dist/functions/gridEntities.d.ts.map +1 -1
  25. package/dist/functions/isaacAPIClass.d.ts +1 -1
  26. package/dist/functions/isaacAPIClass.d.ts.map +1 -1
  27. package/dist/functions/itemPool.d.ts +1 -1
  28. package/dist/functions/itemPool.d.ts.map +1 -1
  29. package/dist/functions/itemPool.lua +0 -1
  30. package/dist/functions/jsonRoom.d.ts +2 -2
  31. package/dist/functions/jsonRoom.d.ts.map +1 -1
  32. package/dist/functions/logMisc.d.ts +5 -5
  33. package/dist/functions/logMisc.d.ts.map +1 -1
  34. package/dist/functions/map.d.ts +2 -3
  35. package/dist/functions/map.d.ts.map +1 -1
  36. package/dist/functions/map.lua +1 -1
  37. package/dist/functions/minimap.d.ts +1 -1
  38. package/dist/functions/minimap.d.ts.map +1 -1
  39. package/dist/functions/npcDataStructures.d.ts +1 -1
  40. package/dist/functions/npcDataStructures.d.ts.map +1 -1
  41. package/dist/functions/npcDataStructures.lua +1 -1
  42. package/dist/functions/playerDataStructures.d.ts +1 -1
  43. package/dist/functions/playerDataStructures.d.ts.map +1 -1
  44. package/dist/functions/playerDataStructures.lua +1 -1
  45. package/dist/functions/pocketItems.d.ts +1 -1
  46. package/dist/functions/pocketItems.d.ts.map +1 -1
  47. package/dist/functions/positionVelocity.d.ts +5 -5
  48. package/dist/functions/positionVelocity.d.ts.map +1 -1
  49. package/dist/functions/random.d.ts +1 -1
  50. package/dist/functions/random.d.ts.map +1 -1
  51. package/dist/functions/roomData.d.ts +1 -1
  52. package/dist/functions/roomData.d.ts.map +1 -1
  53. package/dist/functions/rooms.d.ts +1 -1
  54. package/dist/functions/rooms.d.ts.map +1 -1
  55. package/dist/functions/set.d.ts +10 -10
  56. package/dist/functions/set.d.ts.map +1 -1
  57. package/dist/functions/string.d.ts +1 -1
  58. package/dist/functions/string.d.ts.map +1 -1
  59. package/dist/functions/string.lua +4 -3
  60. package/dist/functions/table.d.ts +1 -1
  61. package/dist/functions/table.d.ts.map +1 -1
  62. package/dist/functions/transformations.d.ts +2 -2
  63. package/dist/functions/transformations.d.ts.map +1 -1
  64. package/dist/index.rollup.d.ts +73 -75
  65. package/dist/isaacscript-common.lua +14 -12
  66. package/dist/objects/itemPoolTypeToCollectibleTypesSet.d.ts +1 -1
  67. package/dist/objects/itemPoolTypeToCollectibleTypesSet.d.ts.map +1 -1
  68. package/dist/types/TupleWithLengthBetween.d.ts +1 -1
  69. package/dist/types/TupleWithLengthBetween.d.ts.map +1 -1
  70. package/dist/types/TupleWithMaxLength.d.ts +1 -1
  71. package/dist/types/TupleWithMaxLength.d.ts.map +1 -1
  72. package/package.json +1 -1
  73. package/src/classes/features/callbackLogic/GridEntityUpdateDetection.ts +1 -1
  74. package/src/classes/features/other/CharacterStats.ts +2 -2
  75. package/src/classes/features/other/DeployJSONRoom.ts +3 -3
  76. package/src/classes/features/other/DisableInputs.ts +2 -2
  77. package/src/classes/features/other/ModdedElementSets.ts +2 -2
  78. package/src/functions/array.ts +38 -40
  79. package/src/functions/bitwise.ts +3 -3
  80. package/src/functions/deepCopy.ts +3 -3
  81. package/src/functions/doors.ts +7 -8
  82. package/src/functions/entities.ts +10 -12
  83. package/src/functions/enums.ts +1 -1
  84. package/src/functions/gridEntities.ts +3 -3
  85. package/src/functions/isaacAPIClass.ts +1 -1
  86. package/src/functions/itemPool.ts +1 -1
  87. package/src/functions/jsonRoom.ts +2 -2
  88. package/src/functions/logMisc.ts +5 -5
  89. package/src/functions/map.ts +7 -11
  90. package/src/functions/minimap.ts +1 -1
  91. package/src/functions/newArray.ts +1 -1
  92. package/src/functions/npcDataStructures.ts +2 -2
  93. package/src/functions/playerDataStructures.ts +2 -2
  94. package/src/functions/pocketItems.ts +2 -2
  95. package/src/functions/positionVelocity.ts +9 -9
  96. package/src/functions/random.ts +1 -1
  97. package/src/functions/roomData.ts +3 -1
  98. package/src/functions/rooms.ts +1 -1
  99. package/src/functions/set.ts +17 -15
  100. package/src/functions/sort.ts +1 -1
  101. package/src/functions/string.ts +3 -3
  102. package/src/functions/table.ts +1 -1
  103. package/src/functions/transformations.ts +2 -2
  104. package/src/objects/itemPoolTypeToCollectibleTypesSet.ts +3 -3
  105. package/src/types/TupleWithLengthBetween.ts +1 -1
  106. package/src/types/TupleWithMaxLength.ts +1 -4
@@ -919,7 +919,7 @@ export declare function addRoomDisplayFlag(roomGridIndex: int | undefined, displ
919
919
  *
920
920
  * This function is variadic, meaning that you can specify N sets to add to the first set.
921
921
  */
922
- export declare function addSetsToSet<T>(mainSet: Set<T>, ...setsToAdd: Array<Set<T> | ReadonlySet<T>>): void;
922
+ export declare function addSetsToSet<T>(mainSet: Set<T>, ...setsToAdd: ReadonlyArray<ReadonlySet<T>>): void;
923
923
 
924
924
  /**
925
925
  * - Converts the specified amount of tears stat into the format of `EntityPlayer.MaxFireDelay` and
@@ -990,7 +990,7 @@ export declare function anyEasterEggEnabled(exceptions?: SeedEffect[]): boolean;
990
990
  */
991
991
  export declare type AnyEntity = Entity | EntityBomb | EntityEffect | EntityFamiliar | EntityKnife | EntityLaser | EntityNPC | EntityPickup | EntityPlayer | EntityProjectile | EntityTear;
992
992
 
993
- export declare function anyEntityCloserThan(entities: Entity[] | readonly Entity[], position: Vector, distance: int): boolean;
993
+ export declare function anyEntityCloserThan(entities: readonly Entity[], position: Vector, distance: int): boolean;
994
994
 
995
995
  /**
996
996
  * Helper type to represent any function. This is safer than using the built-in `Function` type, as
@@ -1070,7 +1070,7 @@ declare type Arr_2<N extends number, T extends unknown[] = []> = T["length"] ext
1070
1070
  * Helper function for determining if two arrays contain the exact same elements. Note that this
1071
1071
  * only performs a shallow comparison.
1072
1072
  */
1073
- export declare function arrayEquals<T>(array1: T[] | readonly T[], array2: T[] | readonly T[]): boolean;
1073
+ export declare function arrayEquals<T>(array1: readonly T[], array2: readonly T[]): boolean;
1074
1074
 
1075
1075
  /**
1076
1076
  * Builds a new array based on the original array without the specified element(s). Returns the new
@@ -1083,7 +1083,7 @@ export declare function arrayEquals<T>(array1: T[] | readonly T[], array2: T[] |
1083
1083
  * matching element. If you want to remove all of the elements, use the `arrayRemoveAll` function
1084
1084
  * instead.
1085
1085
  */
1086
- export declare function arrayRemove<T>(originalArray: T[] | readonly T[], ...elementsToRemove: T[]): T[];
1086
+ export declare function arrayRemove<T>(originalArray: readonly T[], ...elementsToRemove: readonly T[]): T[];
1087
1087
 
1088
1088
  /**
1089
1089
  * Shallow copies and removes the specified element(s) from the array. Returns the copied array. If
@@ -1096,7 +1096,7 @@ export declare function arrayRemove<T>(originalArray: T[] | readonly T[], ...ele
1096
1096
  * element. If you want to only remove the first matching element, use the `arrayRemove` function
1097
1097
  * instead.
1098
1098
  */
1099
- export declare function arrayRemoveAll<T>(originalArray: T[] | readonly T[], ...elementsToRemove: T[]): T[];
1099
+ export declare function arrayRemoveAll<T>(originalArray: readonly T[], ...elementsToRemove: readonly T[]): T[];
1100
1100
 
1101
1101
  /**
1102
1102
  * Removes all of the specified element(s) from the array. If the specified element(s) are not found
@@ -1110,7 +1110,7 @@ export declare function arrayRemoveAll<T>(originalArray: T[] | readonly T[], ...
1110
1110
  *
1111
1111
  * @returns True if one or more elements were removed, false otherwise.
1112
1112
  */
1113
- export declare function arrayRemoveAllInPlace<T>(array: T[], ...elementsToRemove: T[]): boolean;
1113
+ export declare function arrayRemoveAllInPlace<T>(array: T[], ...elementsToRemove: readonly T[]): boolean;
1114
1114
 
1115
1115
  /**
1116
1116
  * Shallow copies and removes the elements at the specified indexes from the array. Returns the
@@ -1119,7 +1119,7 @@ export declare function arrayRemoveAllInPlace<T>(array: T[], ...elementsToRemove
1119
1119
  *
1120
1120
  * This function is variadic, meaning that you can specify N arguments to remove N elements.
1121
1121
  */
1122
- export declare function arrayRemoveIndex<T>(originalArray: T[] | readonly T[], ...indexesToRemove: int[]): T[];
1122
+ export declare function arrayRemoveIndex<T>(originalArray: readonly T[], ...indexesToRemove: readonly int[]): T[];
1123
1123
 
1124
1124
  /**
1125
1125
  * Removes the elements at the specified indexes from the array. If the specified indexes are not
@@ -1143,10 +1143,10 @@ export declare function arrayRemoveIndexInPlace<T>(array: T[], ...indexesToRemov
1143
1143
  *
1144
1144
  * @returns The removed elements. This will be an empty array if no elements were removed.
1145
1145
  */
1146
- export declare function arrayRemoveInPlace<T>(array: T[], ...elementsToRemove: T[]): T[];
1146
+ export declare function arrayRemoveInPlace<T>(array: T[], ...elementsToRemove: readonly T[]): T[];
1147
1147
 
1148
1148
  /** Helper function to convert a set of flags to a single `BitFlags` object. */
1149
- export declare function arrayToBitFlags<T extends BitFlag | BitFlag128>(array: T[] | readonly T[]): BitFlags<T>;
1149
+ export declare function arrayToBitFlags<T extends BitFlag | BitFlag128>(array: readonly T[]): BitFlags<T>;
1150
1150
 
1151
1151
  export declare function arrayToString(array: unknown[]): string;
1152
1152
 
@@ -1467,7 +1467,7 @@ declare class CharacterStats extends Feature {
1467
1467
  *
1468
1468
  * @public
1469
1469
  */
1470
- registerCharacterStats(playerType: PlayerType, statMap: Map<CacheFlag, number> | ReadonlyMap<CacheFlag, number>): void;
1470
+ registerCharacterStats(playerType: PlayerType, statMap: ReadonlyMap<CacheFlag, number>): void;
1471
1471
  }
1472
1472
 
1473
1473
  /**
@@ -1705,14 +1705,14 @@ export declare const COLORS: {
1705
1705
  * This function is variadic, meaning that you can specify N arguments to combine N arrays. Note
1706
1706
  * that this will only perform a shallow copy of the array elements.
1707
1707
  */
1708
- export declare function combineArrays<T>(...arrays: Array<T[] | readonly T[]>): T[];
1708
+ export declare function combineArrays<T>(...arrays: ReadonlyArray<readonly T[]>): T[];
1709
1709
 
1710
1710
  /**
1711
1711
  * Helper function to create a new set that is the composition of two or more sets.
1712
1712
  *
1713
1713
  * This function is variadic, meaning that you can specify N sets.
1714
1714
  */
1715
- export declare function combineSets<T>(...sets: Array<Set<T> | ReadonlySet<T>>): Set<T>;
1715
+ export declare function combineSets<T>(...sets: ReadonlyArray<ReadonlySet<T>>): Set<T>;
1716
1716
 
1717
1717
  /**
1718
1718
  * Helper type to validate that a union of interfaces with a field of `type` that is based on an
@@ -1793,7 +1793,7 @@ declare type CopyableIsaacAPIClass = BitSet128 | Color | KColor | RNG | Vector;
1793
1793
  * @param numElements Optional. If specified, will only copy the first N elements. By default, the
1794
1794
  * entire array will be copied.
1795
1795
  */
1796
- export declare function copyArray<T>(oldArray: T[] | readonly T[], numElements?: int): T[];
1796
+ export declare function copyArray<T>(oldArray: readonly T[], numElements?: int): T[];
1797
1797
 
1798
1798
  /** Helper function to copy a `BitSet128` Isaac API class. */
1799
1799
  export declare function copyBitSet128(bitSet128: BitSet128): BitSet128;
@@ -1813,16 +1813,16 @@ export declare function copyIsaacAPIClass<T extends CopyableIsaacAPIClass>(isaac
1813
1813
  export declare function copyKColor(kColor: KColor): KColor;
1814
1814
 
1815
1815
  /** Helper function to copy a map. (You can also use a Map constructor to accomplish this task.) */
1816
- export declare function copyMap<K, V>(oldMap: Map<K, V> | ReadonlyMap<K, V>): Map<K, V>;
1816
+ export declare function copyMap<K, V>(oldMap: ReadonlyMap<K, V>): Map<K, V>;
1817
1817
 
1818
1818
  /** Helper function to copy an `RNG` Isaac API class. */
1819
1819
  export declare function copyRNG(rng: RNG): RNG;
1820
1820
 
1821
1821
  /** Helper function to copy a set. (You can also use a Set constructor to accomplish this task.) */
1822
- export declare function copySet<T>(oldSet: Set<T> | ReadonlySet<T>): Set<T>;
1822
+ export declare function copySet<T>(oldSet: ReadonlySet<T>): Set<T>;
1823
1823
 
1824
1824
  /** Helper function to copy specific values from a userdata object (e.g. `Vector`) to a table. */
1825
- export declare function copyUserdataValuesToTable(object: unknown, keys: string[] | readonly string[], luaMap: LuaMap<string, unknown>): void;
1825
+ export declare function copyUserdataValuesToTable(object: unknown, keys: readonly string[], luaMap: LuaMap<string, unknown>): void;
1826
1826
 
1827
1827
  /** Helper function to copy a `Vector` Isaac API class. */
1828
1828
  export declare function copyVector(vector: Vector): Vector;
@@ -3661,7 +3661,7 @@ export declare function defaultMapSetPlayer<V>(map: Map<PlayerIndex, V>, player:
3661
3661
  *
3662
3662
  * This function is variadic, meaning that you can specify N sets to remove from the first set.
3663
3663
  */
3664
- export declare function deleteSetsFromSet<T>(mainSet: Set<T>, ...setsToRemove: Array<Set<T> | ReadonlySet<T>>): void;
3664
+ export declare function deleteSetsFromSet<T>(mainSet: Set<T>, ...setsToRemove: ReadonlyArray<ReadonlySet<T>>): void;
3665
3665
 
3666
3666
  declare class DeployJSONRoom extends Feature {
3667
3667
  private readonly preventGridEntityRespawn;
@@ -3704,7 +3704,7 @@ declare class DeployJSONRoom extends Feature {
3704
3704
  * what the function is doing. Default is false.
3705
3705
  * @public
3706
3706
  */
3707
- deployJSONRoom(jsonRoom: JSONRoom | Readonly<JSONRoom>, seedOrRNG: Seed | RNG | undefined, verbose?: boolean): void;
3707
+ deployJSONRoom(jsonRoom: Readonly<JSONRoom>, seedOrRNG: Seed | RNG | undefined, verbose?: boolean): void;
3708
3708
  }
3709
3709
 
3710
3710
  /**
@@ -3899,7 +3899,7 @@ declare class DisableInputs extends Feature {
3899
3899
  * @param blacklist A set of ButtonActions to disallow.
3900
3900
  * @public
3901
3901
  */
3902
- enableAllInputsExceptFor(key: string, blacklist: Set<ButtonAction> | ReadonlySet<ButtonAction>): void;
3902
+ enableAllInputsExceptFor(key: string, blacklist: ReadonlySet<ButtonAction>): void;
3903
3903
  /**
3904
3904
  * Helper function to disable all inputs besides the ones provided. This is useful because
3905
3905
  * `EntityPlayer.ControlsEnabled` can be changed by the game under certain conditions.
@@ -3915,7 +3915,7 @@ declare class DisableInputs extends Feature {
3915
3915
  * @param whitelist A set of ButtonActions to allow.
3916
3916
  * @public
3917
3917
  */
3918
- disableAllInputsExceptFor(key: string, whitelist: Set<ButtonAction> | ReadonlySet<ButtonAction>): void;
3918
+ disableAllInputsExceptFor(key: string, whitelist: ReadonlySet<ButtonAction>): void;
3919
3919
  /**
3920
3920
  * Helper function to disable only the inputs used for moving the character (or moving the cursor
3921
3921
  * in the UI). This is useful because `EntityPlayer.ControlsEnabled` can be changed by the game
@@ -3960,7 +3960,7 @@ export declare const DISTANCE_OF_GRID_TILE = 40;
3960
3960
  * true if any of the provided entity types exist.
3961
3961
  * @param ignoreFriendly Optional. Default is false.
3962
3962
  */
3963
- export declare function doesAnyEntityExist(entityTypes: EntityType[] | readonly EntityType[] | Set<EntityType> | ReadonlySet<EntityType>, ignoreFriendly?: boolean): boolean;
3963
+ export declare function doesAnyEntityExist(entityTypes: readonly EntityType[] | ReadonlySet<EntityType>, ignoreFriendly?: boolean): boolean;
3964
3964
 
3965
3965
  /**
3966
3966
  * Helper function to check if one or more of a specific kind of entity is present in the current
@@ -4036,7 +4036,7 @@ export declare function doorSlotFlagToDoorSlot(doorSlotFlag: DoorSlotFlag): Door
4036
4036
  * Helper function to convert an array of door slots or a set of door slots to the resulting bit
4037
4037
  * flag number.
4038
4038
  */
4039
- export declare function doorSlotsToDoorSlotFlags(doorSlots: DoorSlot[] | readonly DoorSlot[] | Set<DoorSlot> | ReadonlySet<DoorSlot>): BitFlags<DoorSlotFlag>;
4039
+ export declare function doorSlotsToDoorSlotFlags(doorSlots: readonly DoorSlot[] | ReadonlySet<DoorSlot>): BitFlags<DoorSlotFlag>;
4040
4040
 
4041
4041
  export declare function doorSlotToDirection(doorSlot: DoorSlot): Direction;
4042
4042
 
@@ -4567,7 +4567,7 @@ export declare function filter<T>(array: T[], func: (value: T, index: number, ar
4567
4567
  * This is named `filterMap` after the Rust function:
4568
4568
  * https://doc.rust-lang.org/std/iter/struct.FilterMap.html
4569
4569
  */
4570
- export declare function filterMap<OldT, NewT>(array: OldT[] | readonly OldT[], func: (element: OldT) => NewT | undefined): NewT[];
4570
+ export declare function filterMap<OldT, NewT>(array: readonly OldT[], func: (element: OldT) => NewT | undefined): NewT[];
4571
4571
 
4572
4572
  /**
4573
4573
  * Helper function for non-TypeScript users to find an element in an array.
@@ -4997,7 +4997,7 @@ export declare function getAngleDifference(angle1: float, angle2: float): float;
4997
4997
  * @param max Optional. The maximum number of elements to include in each combination. Default is
4998
4998
  * the length of the array.
4999
4999
  */
5000
- export declare function getArrayCombinations<T>(array: T[] | readonly T[], includeEmptyArray: boolean, min?: int, max?: int): ReadonlyArray<readonly T[]>;
5000
+ export declare function getArrayCombinations<T>(array: readonly T[], includeEmptyArray: boolean, min?: int, max?: int): ReadonlyArray<readonly T[]>;
5001
5001
 
5002
5002
  /**
5003
5003
  * Helper function to get an array containing the indexes of an array.
@@ -5008,7 +5008,7 @@ export declare function getArrayCombinations<T>(array: T[] | readonly T[], inclu
5008
5008
  * due to implementation details of TypeScriptToLua, this results in an array of 1 through N
5009
5009
  * (instead of an array of 0 through N -1).
5010
5010
  */
5011
- export declare function getArrayIndexes<T>(array: T[] | readonly T[]): readonly int[];
5011
+ export declare function getArrayIndexes<T>(array: readonly T[]): readonly int[];
5012
5012
 
5013
5013
  /**
5014
5014
  * Helper function to get how long Azazel's Brimstone laser should be. You can pass either an
@@ -5358,7 +5358,7 @@ export declare function getCircleDiscretizedPoints(centerPos: Vector, radius: fl
5358
5358
  * @param filterFunc Optional. A function to filter for a specific type of entity, like e.g. an
5359
5359
  * enemy with a certain amount of HP left.
5360
5360
  */
5361
- export declare function getClosestEntityTo<T extends AnyEntity>(referenceEntity: Entity, entities: T[], filterFunc?: (entity: T) => boolean): T | undefined;
5361
+ export declare function getClosestEntityTo<T extends AnyEntity>(referenceEntity: Entity, entities: readonly T[], filterFunc?: (entity: T) => boolean): T | undefined;
5362
5362
 
5363
5363
  /**
5364
5364
  * Helper function to get the closest player to a certain position. Note that this will never
@@ -5555,7 +5555,7 @@ export declare function getCurseIDByName(name: string): LevelCurse;
5555
5555
  * Helper function to get the collectibles that are in a particular item pool at the beginning of a
5556
5556
  * vanilla run.
5557
5557
  */
5558
- export declare function getDefaultCollectibleTypesInItemPool(itemPoolType: ItemPoolType): Set<CollectibleType>;
5558
+ export declare function getDefaultCollectibleTypesInItemPool(itemPoolType: ItemPoolType): ReadonlySet<CollectibleType>;
5559
5559
 
5560
5560
  /**
5561
5561
  * Helper function to get a set containing all of the global variable names that are contained
@@ -5763,7 +5763,7 @@ export declare function getEntityIDFromConstituents(entityType: EntityType, vari
5763
5763
  * this with cached entities to avoid invoking the `Isaac.GetRoomEntities` method
5764
5764
  * multiple times.
5765
5765
  */
5766
- export declare function getEntityPositions(entities?: Entity[] | readonly Entity[]): Map<PtrHash, Vector>;
5766
+ export declare function getEntityPositions(entities?: readonly Entity[]): ReadonlyMap<PtrHash, Vector>;
5767
5767
 
5768
5768
  export declare function getEntityTypeVariantFromBossID(bossID: BossID): readonly [EntityType, int];
5769
5769
 
@@ -5776,7 +5776,7 @@ export declare function getEntityTypeVariantFromBossID(bossID: BossID): readonly
5776
5776
  * this with cached entities to avoid invoking the `Isaac.GetRoomEntities` method
5777
5777
  * multiple times.
5778
5778
  */
5779
- export declare function getEntityVelocities(entities?: Entity[] | readonly Entity[]): Map<PtrHash, Vector>;
5779
+ export declare function getEntityVelocities(entities?: readonly Entity[]): ReadonlyMap<PtrHash, Vector>;
5780
5780
 
5781
5781
  /**
5782
5782
  * TypeScriptToLua will transpile TypeScript number enums to Lua tables that have a double mapping.
@@ -5887,7 +5887,7 @@ export declare function getFamiliars(familiarVariant?: FamiliarVariant | -1, sub
5887
5887
  * Helper function to compare two different arrays of entities. Returns the entities that are in the
5888
5888
  * second array but not in the first array.
5889
5889
  */
5890
- export declare function getFilteredNewEntities<T extends AnyEntity>(oldEntities: T[] | readonly T[], newEntities: T[] | readonly T[]): readonly T[];
5890
+ export declare function getFilteredNewEntities<T extends AnyEntity>(oldEntities: readonly T[], newEntities: readonly T[]): readonly T[];
5891
5891
 
5892
5892
  /**
5893
5893
  * Helper function to return the player with the highest ID, according to the `Isaac.GetPlayer`
@@ -5932,7 +5932,7 @@ export declare function getFlagName<T extends BitFlag | BitFlag128>(flag: BitFla
5932
5932
  *
5933
5933
  * @param minimapAPI Optional. If MinimapAPI should be used, if present. Default is true.
5934
5934
  */
5935
- export declare function getFloorDisplayFlags(minimapAPI?: boolean): Map<int, BitFlags<DisplayFlag>>;
5935
+ export declare function getFloorDisplayFlags(minimapAPI?: boolean): ReadonlyMap<int, BitFlags<DisplayFlag>>;
5936
5936
 
5937
5937
  /**
5938
5938
  * Helper function to get the corresponding golden trinket type from a normal trinket type.
@@ -6005,7 +6005,7 @@ export declare function getGridEntitiesInRadius(targetPosition: Vector, radius:
6005
6005
  *
6006
6006
  * @allowEmptyVariadic
6007
6007
  */
6008
- export declare function getGridEntitiesMap(...gridEntityTypes: GridEntityType[]): Map<int, GridEntity>;
6008
+ export declare function getGridEntitiesMap(...gridEntityTypes: GridEntityType[]): ReadonlyMap<int, GridEntity>;
6009
6009
 
6010
6010
  /** Helper function to get the ANM2 path for a grid entity type. */
6011
6011
  export declare function getGridEntityANM2Path(gridEntityType: GridEntityType): string | undefined;
@@ -6157,7 +6157,7 @@ export declare function getJSONRoomDoorSlotFlags(jsonRoom: JSONRoom): BitFlags<D
6157
6157
  * @param variant The room variant to select. (The room variant can be thought of as the ID of the
6158
6158
  * room.)
6159
6159
  */
6160
- export declare function getJSONRoomOfVariant(jsonRooms: JSONRoom[] | readonly JSONRoom[], variant: int): JSONRoom | undefined;
6160
+ export declare function getJSONRoomOfVariant(jsonRooms: readonly JSONRoom[], variant: int): JSONRoom | undefined;
6161
6161
 
6162
6162
  /**
6163
6163
  * Helper function to find all of the JSON rooms that match the sub-type provided.
@@ -6167,7 +6167,7 @@ export declare function getJSONRoomOfVariant(jsonRooms: JSONRoom[] | readonly JS
6167
6167
  * @param jsonRooms The array of rooms to search through.
6168
6168
  * @param subType The sub-type to match.
6169
6169
  */
6170
- export declare function getJSONRoomsOfSubType(jsonRooms: JSONRoom[] | readonly JSONRoom[], subType: int): readonly JSONRoom[];
6170
+ export declare function getJSONRoomsOfSubType(jsonRooms: readonly JSONRoom[], subType: int): readonly JSONRoom[];
6171
6171
 
6172
6172
  /** Helper function to get the value of a specific but in a binary representation of a number. */
6173
6173
  export declare function getKBitOfN(k: int, n: int): int;
@@ -6590,7 +6590,7 @@ export declare function getParentFunctionDescription(this: void, levels?: number
6590
6590
  * found, returns undefined.
6591
6591
  * ```
6592
6592
  */
6593
- export declare function getPartialMatch(searchText: string, array: string[]): string | undefined;
6593
+ export declare function getPartialMatch(searchText: string, array: readonly string[]): string | undefined;
6594
6594
 
6595
6595
  /**
6596
6596
  * Helper function to get the associated pill effect after PHD is acquired. If a pill effect is not
@@ -6904,7 +6904,7 @@ export declare function getPlayersWithControllerIndex(controllerIndex: Controlle
6904
6904
  export declare function getPlayersWithTrinket(...trinketTypes: TrinketType[]): readonly EntityPlayer[];
6905
6905
 
6906
6906
  /** Returns a set of the player's current transformations. */
6907
- export declare function getPlayerTransformations(player: EntityPlayer): Set<PlayerForm>;
6907
+ export declare function getPlayerTransformations(player: EntityPlayer): ReadonlySet<PlayerForm>;
6908
6908
 
6909
6909
  /**
6910
6910
  * Helper function to get all of the trinkets that the player is currently holding. This will not
@@ -6984,7 +6984,7 @@ export declare function getRandom(seedOrRNG: Seed | RNG | undefined): float;
6984
6984
  * a random seed.
6985
6985
  * @param exceptions Optional. An array of elements to skip over if selected.
6986
6986
  */
6987
- export declare function getRandomArrayElement<T>(array: T[] | readonly T[], seedOrRNG: Seed | RNG | undefined, exceptions?: T[] | readonly T[]): T;
6987
+ export declare function getRandomArrayElement<T>(array: readonly T[], seedOrRNG: Seed | RNG | undefined, exceptions?: readonly T[]): T;
6988
6988
 
6989
6989
  /**
6990
6990
  * Helper function to get a random element from the provided array. Once the random element is
@@ -6999,7 +6999,7 @@ export declare function getRandomArrayElement<T>(array: T[] | readonly T[], seed
6999
6999
  * a random seed.
7000
7000
  * @param exceptions Optional. An array of elements to skip over if selected.
7001
7001
  */
7002
- export declare function getRandomArrayElementAndRemove<T>(array: T[], seedOrRNG: Seed | RNG | undefined, exceptions?: T[] | readonly T[]): T;
7002
+ export declare function getRandomArrayElementAndRemove<T>(array: T[], seedOrRNG: Seed | RNG | undefined, exceptions?: readonly T[]): T;
7003
7003
 
7004
7004
  /**
7005
7005
  * Helper function to get a random index from the provided array.
@@ -7014,7 +7014,7 @@ export declare function getRandomArrayElementAndRemove<T>(array: T[], seedOrRNG:
7014
7014
  * @param exceptions Optional. An array of indexes that will be skipped over when getting the random
7015
7015
  * index. Default is an empty array.
7016
7016
  */
7017
- export declare function getRandomArrayIndex<T>(array: T[] | readonly T[], seedOrRNG: Seed | RNG | undefined, exceptions?: int[] | readonly int[]): int;
7017
+ export declare function getRandomArrayIndex<T>(array: readonly T[], seedOrRNG: Seed | RNG | undefined, exceptions?: readonly int[]): int;
7018
7018
 
7019
7019
  /**
7020
7020
  * Helper function to get a random `Color` object.
@@ -7040,7 +7040,7 @@ export declare function getRandomColor(seedOrRNG: Seed | RNG | undefined, alpha?
7040
7040
  * a random seed.
7041
7041
  * @param exceptions Optional. An array of elements to skip over if selected.
7042
7042
  */
7043
- export declare function getRandomEnumValue<T extends TranspiledEnum>(transpiledEnum: T, seedOrRNG: Seed | RNG | undefined, exceptions?: Array<T[keyof T]> | ReadonlyArray<T[keyof T]>): T[keyof T];
7043
+ export declare function getRandomEnumValue<T extends TranspiledEnum>(transpiledEnum: T, seedOrRNG: Seed | RNG | undefined, exceptions?: ReadonlyArray<T[keyof T]>): T[keyof T];
7044
7044
 
7045
7045
  /**
7046
7046
  * Returns a random float between min and max.
@@ -7114,7 +7114,7 @@ export declare function getRandomIndexFromWeightedArray<T>(weightedArray: Weight
7114
7114
  * `[2]` would cause the function to return either 1, 3, or 4. Default is an empty
7115
7115
  * array.
7116
7116
  */
7117
- export declare function getRandomInt(min: int, max: int, seedOrRNG: Seed | RNG | undefined, exceptions?: int[] | readonly int[]): int;
7117
+ export declare function getRandomInt(min: int, max: int, seedOrRNG: Seed | RNG | undefined, exceptions?: readonly int[]): int;
7118
7118
 
7119
7119
  /**
7120
7120
  * Helper function to get a random item pool. This is not as simple as getting a random value from
@@ -7204,7 +7204,7 @@ export declare function getRandomSeed(): Seed;
7204
7204
  * a random seed.
7205
7205
  * @param exceptions Optional. An array of elements to skip over if selected.
7206
7206
  */
7207
- export declare function getRandomSetElement<T>(set: Set<T> | ReadonlySet<T>, seedOrRNG: Seed | RNG | undefined, exceptions?: T[] | readonly T[]): T;
7207
+ export declare function getRandomSetElement<T>(set: ReadonlySet<T>, seedOrRNG: Seed | RNG | undefined, exceptions?: readonly T[]): T;
7208
7208
 
7209
7209
  /**
7210
7210
  * Helper function to get a random vector between (-1, -1) and (1, 1).
@@ -7267,8 +7267,6 @@ export declare function getRepentanceDoor(): GridEntityDoor | undefined;
7267
7267
  * ]);
7268
7268
  * ```
7269
7269
  */
7270
- export declare function getReversedMap<K, V>(map: Map<K, V>): Map<V, K>;
7271
-
7272
7270
  export declare function getReversedMap<K, V>(map: ReadonlyMap<K, V>): ReadonlyMap<V, K>;
7273
7271
 
7274
7272
  /**
@@ -7321,7 +7319,7 @@ export declare function getRoomAdjacentGridIndexes(roomGridIndex?: int): Readonl
7321
7319
  * Helper function to get the set of allowed door slots for the room at the supplied grid index.
7322
7320
  * This corresponds to the doors that are enabled in the STB/XML file for the room.
7323
7321
  */
7324
- export declare function getRoomAllowedDoors(roomGridIndex?: int): Set<DoorSlot>;
7322
+ export declare function getRoomAllowedDoors(roomGridIndex?: int): ReadonlySet<DoorSlot>;
7325
7323
 
7326
7324
  /**
7327
7325
  * Helper function to get the room data for the current room.
@@ -7821,7 +7819,7 @@ export declare function getSeedEffects(): readonly SeedEffect[];
7821
7819
  * @param set The set to get the combinations of.
7822
7820
  * @param includeEmptyArray Whether to include an empty array in the combinations.
7823
7821
  */
7824
- export declare function getSetCombinations<T>(set: Set<T> | ReadonlySet<T>, includeEmptyArray: boolean): ReadonlyArray<ReadonlySet<T>>;
7822
+ export declare function getSetCombinations<T>(set: ReadonlySet<T>, includeEmptyArray: boolean): ReadonlyArray<ReadonlySet<T>>;
7825
7823
 
7826
7824
  /**
7827
7825
  * Helper function to get the shooting actions that the specified `ControllerIndex` is currently
@@ -7879,7 +7877,7 @@ export declare function getSlots(slotVariant?: SlotVariant | -1, subType?: numbe
7879
7877
  * Normally, set values are returned in insertion order, so use this function when the ordering of
7880
7878
  * the contents is important.
7881
7879
  */
7882
- export declare function getSortedSetValues<T>(set: Set<T> | ReadonlySet<T>): T[];
7880
+ export declare function getSortedSetValues<T>(set: ReadonlySet<T>): T[];
7883
7881
 
7884
7882
  /** Helper function to get all of the `GridEntitySpikes` in the room. */
7885
7883
  export declare function getSpikes(variant?: number): readonly GridEntitySpikes[];
@@ -8082,7 +8080,7 @@ export declare function getTransformationName(playerForm: PlayerForm): string;
8082
8080
  * Returns a set containing all of the transformations that the given collectible types contribute
8083
8081
  * towards.
8084
8082
  */
8085
- export declare function getTransformationsForCollectibleType(collectibleType: CollectibleType): Set<PlayerForm>;
8083
+ export declare function getTransformationsForCollectibleType(collectibleType: CollectibleType): ReadonlySet<PlayerForm>;
8086
8084
 
8087
8085
  /**
8088
8086
  * Helper function to get all of the grid entities of type `GridEntityType.TRAPDOOR` (17) in the
@@ -8837,7 +8835,7 @@ export declare function is2x1RoomShape(roomShape: RoomShape): boolean;
8837
8835
  * Helper function to check if an instantiated Isaac API class is equal to another one of the same
8838
8836
  * type. You must provide the list of keys to check for.
8839
8837
  */
8840
- export declare function isaacAPIClassEquals(object1: unknown, object2: unknown, keys: string[] | readonly string[]): boolean;
8838
+ export declare function isaacAPIClassEquals(object1: unknown, object2: unknown, keys: readonly string[]): boolean;
8841
8839
 
8842
8840
  declare interface IsaacAPIClassTypeToSerializedType {
8843
8841
  [CopyableIsaacAPIClassType.BIT_SET_128]: SerializedBitSet128;
@@ -8969,7 +8967,7 @@ export declare function isAllPressurePlatesPushed(): boolean;
8969
8967
  * false.
8970
8968
  * @allowEmptyVariadic
8971
8969
  */
8972
- export declare function isAllRoomsClear(onlyCheckRoomTypes?: RoomType[] | readonly RoomType[], includeSecretRoom?: boolean, includeSuperSecretRoom?: boolean, includeUltraSecretRoom?: boolean): boolean;
8970
+ export declare function isAllRoomsClear(onlyCheckRoomTypes?: readonly RoomType[], includeSecretRoom?: boolean, includeSuperSecretRoom?: boolean, includeUltraSecretRoom?: boolean): boolean;
8973
8971
 
8974
8972
  export declare function isAngelRoomDoor(door: GridEntityDoor): boolean;
8975
8973
 
@@ -9002,7 +9000,7 @@ export declare function isArray(object: unknown, ensureContiguousValues?: boolea
9002
9000
  export declare function isArrayContiguous(array: int[]): boolean;
9003
9001
 
9004
9002
  /** Checks if an array is in the provided 2-dimensional array. */
9005
- export declare function isArrayInArray<T>(arrayToMatch: T[] | readonly T[], parentArray: Array<T[] | readonly T[]>): boolean;
9003
+ export declare function isArrayInArray<T>(arrayToMatch: readonly T[], parentArray: ReadonlyArray<readonly T[]>): boolean;
9006
9004
 
9007
9005
  /** For `PickupVariant.LIL_BATTERY` (90). */
9008
9006
  export declare function isBattery(pickup: EntityPickup): pickup is EntityPickupBattery;
@@ -10703,7 +10701,7 @@ export declare function logAndPrint(msg: string): void;
10703
10701
  * @param array The array to log.
10704
10702
  * @param name Optional. The name of the array, which will be logged before the elements.
10705
10703
  */
10706
- export declare function logArray<T>(this: void, array: T[] | readonly T[], name?: string): void;
10704
+ export declare function logArray<T>(this: void, array: readonly T[], name?: string): void;
10707
10705
 
10708
10706
  /**
10709
10707
  * Helper function to log the names of a collectible type array.
@@ -10711,7 +10709,7 @@ export declare function logArray<T>(this: void, array: T[] | readonly T[], name?
10711
10709
  * @param collectibleTypes The collectible types to log.
10712
10710
  * @param name Optional. The name of the array, which will be logged before the elements.
10713
10711
  */
10714
- export declare function logCollectibleTypes(this: void, collectibleTypes: CollectibleType[] | readonly CollectibleType[], name?: string): void;
10712
+ export declare function logCollectibleTypes(this: void, collectibleTypes: readonly CollectibleType[], name?: string): void;
10715
10713
 
10716
10714
  /**
10717
10715
  * Helper function to log a `Color` object.
@@ -10764,7 +10762,7 @@ export declare function logGridEntity(this: void, gridEntity: GridEntity): void;
10764
10762
  * @param itemPoolTypes The item pool types to log.
10765
10763
  * @param name Optional. The name of the array, which will be logged before the elements.
10766
10764
  */
10767
- export declare function logItemPoolTypes(this: void, itemPoolTypes: ItemPoolType[] | readonly ItemPoolType[], name?: string): void;
10765
+ export declare function logItemPoolTypes(this: void, itemPoolTypes: readonly ItemPoolType[], name?: string): void;
10768
10766
 
10769
10767
  /**
10770
10768
  * Helper function to log a `KColor` object.
@@ -10783,7 +10781,7 @@ export declare function logLevelStateFlags(this: void): void;
10783
10781
  * @param map The TSTL `Map` to log.
10784
10782
  * @param name Optional. The name of the map, which will be logged before the elements.
10785
10783
  */
10786
- export declare function logMap(this: void, map: Map<AnyNotNil, unknown> | ReadonlyMap<AnyNotNil, unknown>, name?: string): void;
10784
+ export declare function logMap(this: void, map: ReadonlyMap<AnyNotNil, unknown>, name?: string): void;
10787
10785
 
10788
10786
  export declare function logMusic(this: void): void;
10789
10787
 
@@ -10824,7 +10822,7 @@ export declare function logSeedEffects(this: void): void;
10824
10822
  * @param set The TSTL `Set` to log.
10825
10823
  * @param name Optional. The name of the set, which will be logged before the elements.
10826
10824
  */
10827
- export declare function logSet(this: void, set: Set<AnyNotNil> | ReadonlySet<AnyNotNil>, name?: string): void;
10825
+ export declare function logSet(this: void, set: ReadonlySet<AnyNotNil>, name?: string): void;
10828
10826
 
10829
10827
  /** Helper function for logging every sound effect that is currently playing. */
10830
10828
  export declare function logSounds(this: void): void;
@@ -14372,7 +14370,7 @@ declare class ModdedElementSets extends Feature {
14372
14370
  * @param exceptions Optional. An array of runes to not select.
14373
14371
  * @public
14374
14372
  */
14375
- getRandomEdenActiveCollectibleType(seedOrRNG: Seed | RNG | undefined, exceptions?: CollectibleType[] | readonly CollectibleType[]): CollectibleType;
14373
+ getRandomEdenActiveCollectibleType(seedOrRNG: Seed | RNG | undefined, exceptions?: readonly CollectibleType[]): CollectibleType;
14376
14374
  /**
14377
14375
  * Returns a random passive collectible type that that is a valid starting item for Eden
14378
14376
  * (including familiars).
@@ -14392,7 +14390,7 @@ declare class ModdedElementSets extends Feature {
14392
14390
  * @param exceptions Optional. An array of runes to not select.
14393
14391
  * @public
14394
14392
  */
14395
- getRandomEdenPassiveCollectibleType(seedOrRNG: Seed | RNG | undefined, exceptions?: CollectibleType[] | readonly CollectibleType[]): CollectibleType;
14393
+ getRandomEdenPassiveCollectibleType(seedOrRNG: Seed | RNG | undefined, exceptions?: readonly CollectibleType[]): CollectibleType;
14396
14394
  /**
14397
14395
  * Returns an array containing every collectible type with the given quality.
14398
14396
  *
@@ -15656,7 +15654,7 @@ export declare interface PocketItemDescription {
15656
15654
  }
15657
15655
 
15658
15656
  /** Helper function to see if two sets of pocket item descriptions are identical. */
15659
- export declare function pocketItemsEquals(pocketItems1: PocketItemDescription[] | readonly PocketItemDescription[], pocketItems2: PocketItemDescription[] | readonly PocketItemDescription[]): boolean;
15657
+ export declare function pocketItemsEquals(pocketItems1: readonly PocketItemDescription[], pocketItems2: readonly PocketItemDescription[]): boolean;
15660
15658
 
15661
15659
  /** This is used in the various pocket item helper functions. */
15662
15660
  export declare enum PocketItemType {
@@ -16543,7 +16541,7 @@ export declare function removeDoors(...doors: GridEntityDoor[]): void;
16543
16541
  * @param cap Optional. If specified, will only remove the given amount of entities.
16544
16542
  * @returns An array of the entities that were removed.
16545
16543
  */
16546
- export declare function removeEntities<T extends AnyEntity>(entities: T[] | readonly T[], cap?: int): readonly T[];
16544
+ export declare function removeEntities<T extends AnyEntity>(entities: readonly T[], cap?: int): readonly T[];
16547
16545
 
16548
16546
  /**
16549
16547
  * Helper function to remove all entities that just spawned from a grid entity breaking.
@@ -16552,7 +16550,7 @@ export declare function removeEntities<T extends AnyEntity>(entities: T[] | read
16552
16550
  *
16553
16551
  * You must specify an array of entities to look through.
16554
16552
  */
16555
- export declare function removeEntitiesSpawnedFromGridEntity(entities: Entity[] | readonly Entity[], gridEntity: GridEntity): void;
16553
+ export declare function removeEntitiesSpawnedFromGridEntity(entities: readonly Entity[], gridEntity: GridEntity): void;
16556
16554
 
16557
16555
  /**
16558
16556
  * Helper function to remove a bit flag from an existing set of bit flags.
@@ -16585,7 +16583,7 @@ export declare function removeFlag<T extends BitFlag | BitFlag128>(flags: T | Bi
16585
16583
  * @param cap Optional. If specified, will only remove the given amount of entities.
16586
16584
  * @returns An array of the entities that were removed.
16587
16585
  */
16588
- export declare function removeGridEntities<T extends AnyGridEntity>(gridEntities: T[] | readonly T[], updateRoom: boolean, cap?: int): readonly T[];
16586
+ export declare function removeGridEntities<T extends AnyGridEntity>(gridEntities: readonly T[], updateRoom: boolean, cap?: int): readonly T[];
16589
16587
 
16590
16588
  /**
16591
16589
  * Helper function to remove a grid entity by providing the grid entity object or the grid index
@@ -17546,19 +17544,19 @@ export declare function setActiveItem(player: EntityPlayer, collectibleType: Col
17546
17544
  *
17547
17545
  * This function is variadic, meaning that you can pass as many things as you want to add.
17548
17546
  */
17549
- export declare function setAdd<T>(set: Set<T>, ...elements: T[]): void;
17547
+ export declare function setAdd<T>(set: Set<T>, ...elements: readonly T[]): void;
17550
17548
 
17551
17549
  /**
17552
17550
  * Helper function to make using sets with an type of `PtrHash` easier. Use this instead of the
17553
17551
  * `Set.add` method if you have a set of this type.
17554
17552
  */
17555
- export declare function setAddNPC(set: Set<PtrHash>, npc: EntityNPC): Set<PtrHash>;
17553
+ export declare function setAddNPC(set: Set<PtrHash>, npc: EntityNPC): void;
17556
17554
 
17557
17555
  /**
17558
17556
  * Helper function to make using sets with an type of `PlayerIndex` easier. Use this instead of the
17559
17557
  * `Set.add` method if you have a set of this type.
17560
17558
  */
17561
- export declare function setAddPlayer(set: Set<PlayerIndex>, player: EntityPlayer): Set<PlayerIndex>;
17559
+ export declare function setAddPlayer(set: Set<PlayerIndex>, player: EntityPlayer): void;
17562
17560
 
17563
17561
  /** Helper function to set every element in an array to a specific value. */
17564
17562
  export declare function setAllArrayElements<T>(array: T[], value: T): void;
@@ -17708,7 +17706,7 @@ export declare function setEntityOpacity(entity: Entity, alpha: float): void;
17708
17706
  * this with cached entities to avoid invoking the `Isaac.GetRoomEntities` method
17709
17707
  * multiple times.
17710
17708
  */
17711
- export declare function setEntityPositions(entityPositions: Map<PtrHash, Vector>, entities?: Entity[] | readonly Entity[]): void;
17709
+ export declare function setEntityPositions(entityPositions: ReadonlyMap<PtrHash, Vector>, entities?: readonly Entity[]): void;
17712
17710
 
17713
17711
  export declare function setEntityRandomColor(entity: Entity): void;
17714
17712
 
@@ -17725,7 +17723,7 @@ export declare function setEntityRandomColor(entity: Entity): void;
17725
17723
  * this with cached entities to avoid invoking the `Isaac.GetRoomEntities` method
17726
17724
  * multiple times.
17727
17725
  */
17728
- export declare function setEntityVelocities(entityVelocities: Map<PtrHash, Vector>, entities?: Entity[] | readonly Entity[]): void;
17726
+ export declare function setEntityVelocities(entityVelocities: ReadonlyMap<PtrHash, Vector>, entities?: readonly Entity[]): void;
17729
17727
 
17730
17728
  /**
17731
17729
  * Helper function to set the minimap `DisplayFlag` value for multiple rooms at once.
@@ -17764,7 +17762,7 @@ export declare function setGridEntityType(gridEntity: GridEntity, gridEntityType
17764
17762
  * This function is variadic, meaning that you can pass as many things as you want to check for. It
17765
17763
  * will return true if one or more elements are found.
17766
17764
  */
17767
- export declare function setHas<T>(set: Set<T> | ReadonlySet<T>, ...elements: T[]): boolean;
17765
+ export declare function setHas<T>(set: ReadonlySet<T>, ...elements: readonly T[]): boolean;
17768
17766
 
17769
17767
  /**
17770
17768
  * Helper function to make using sets with an type of `PtrHash` easier. Use this instead of the
@@ -17870,7 +17868,7 @@ export declare function setSpriteOpacity(sprite: Sprite, alpha: float): void;
17870
17868
  export declare function setStage(stage: LevelStage, stageType: StageType, reseed?: boolean): void;
17871
17869
 
17872
17870
  /** Helper function to convert a set of flags to a single `BitFlags` object. */
17873
- export declare function setToBitFlags<T extends BitFlag | BitFlag128>(set: Set<T> | ReadonlySet<T>): BitFlags<T>;
17871
+ export declare function setToBitFlags<T extends BitFlag | BitFlag128>(set: ReadonlySet<T>): BitFlags<T>;
17874
17872
 
17875
17873
  /**
17876
17874
  * Sets the `traceback` and `getTraceback` functions to be global functions.
@@ -17983,7 +17981,7 @@ export declare function shouldWhoreOfBabylonBeActive(player: EntityPlayer): bool
17983
17981
  * `RNG.Next` method will be called. If `undefined` is provided, it will default to
17984
17982
  * a random seed.
17985
17983
  */
17986
- export declare function shuffleArray<T>(originalArray: T[] | readonly T[], seedOrRNG: Seed | RNG | undefined): T[];
17984
+ export declare function shuffleArray<T>(originalArray: readonly T[], seedOrRNG: Seed | RNG | undefined): T[];
17987
17985
 
17988
17986
  /**
17989
17987
  * Shuffles the provided array in-place using the Fisher-Yates algorithm.
@@ -18784,13 +18782,13 @@ export declare type StoryBossID = (typeof STORY_BOSS_IDS)[number];
18784
18782
  export declare type Subtract<A extends number, B extends number> = A extends A ? BuildTuple<A> extends [...infer U, ...BuildTuple<B>] ? Length<U> : never : never;
18785
18783
 
18786
18784
  /** Helper function to sum every value in an array together. */
18787
- export declare function sumArray(array: number[] | readonly number[]): number;
18785
+ export declare function sumArray(array: readonly number[]): number;
18788
18786
 
18789
18787
  /** Helper function to sum every value in a map together. */
18790
- export declare function sumMap(map: Map<unknown, number> | ReadonlyMap<unknown, number>): number;
18788
+ export declare function sumMap(map: ReadonlyMap<unknown, number>): number;
18791
18789
 
18792
18790
  /** Helper function to sum every value in a set together. */
18793
- export declare function sumSet(set: Set<number> | ReadonlySet<number>): number;
18791
+ export declare function sumSet(set: ReadonlySet<number>): number;
18794
18792
 
18795
18793
  /**
18796
18794
  * Helper function to swap two different array elements. (The elements will be swapped in-place.)
@@ -19017,7 +19015,7 @@ export declare type TupleToUnion<T extends unknown[]> = T[number];
19017
19015
  *
19018
19016
  * For example, `TupleWithLengthBetween<string, 2, 4>` will allow string tuples of size 2, 3, or 4.
19019
19017
  */
19020
- export declare type TupleWithLengthBetween<T, MinLength extends number, MaxLength extends number> = (T[] | readonly T[]) & {
19018
+ export declare type TupleWithLengthBetween<T, MinLength extends number, MaxLength extends number> = readonly T[] & {
19021
19019
  length: IRange<MinLength, MaxLength>;
19022
19020
  };
19023
19021
 
@@ -19026,7 +19024,7 @@ export declare type TupleWithLengthBetween<T, MinLength extends number, MaxLengt
19026
19024
  *
19027
19025
  * For example, `TupleWithMaxLength<string, 3>` will allow string tuples of size 0, 1, 2, or 3.
19028
19026
  */
19029
- export declare type TupleWithMaxLength<T, MaxLength extends number> = (T[] | readonly T[]) & {
19027
+ export declare type TupleWithMaxLength<T, MaxLength extends number> = readonly T[] & {
19030
19028
  length: IRange<0, MaxLength>;
19031
19029
  };
19032
19030