declare interface ItemConfig { /** Returns undefined if the card was not found. */ GetCard(card: Card | int): Readonly | undefined; GetCards(): Readonly; /** Returns undefined if the collectible type was not found. */ GetCollectible( collectibleType: CollectibleType | int, ): Readonly | undefined; GetCollectibles(): Readonly; // CostumeConfigList is bugged and always returns a list of size 0 // GetCostumes(): Readonly; /** Returns undefined if the item was not found. */ GetNullItem( nullItemID: NullItemID | int, ): Readonly | undefined; GetNullItems(): Readonly; /** Returns undefined if the pill effect was not found. */ GetPillEffect( pillEffect: PillEffect | int, ): Readonly | undefined; GetPillEffects(): Readonly; /** Returns undefined if the trinket was not found. */ GetTrinket( trinketType: TrinketType | int, ): Readonly | undefined; GetTrinkets(): Readonly; // In the "enums.lua" file, the ItemConfig class is extended with many members: // - ItemConfig.CHARGE_* // - ItemConfig.TAG_* // - ItemConfig.CARDTYPE_* // In IsaacScript, these are instead implemented as enums, since it is cleaner // See ItemConfigChargeType, ItemConfigTag, and ItemConfigCardType respectively } // The static methods in this class can only be called by a global variable // e.g. ItemConfig.Config.IsValidCollectible(1) declare namespace ItemConfig { /** * This method does not work properly for modded items, so it should never be used. * Instead, use "GetCollectible(collectibleType) !== undefined". */ function IsValidCollectible(fakeArg: never): boolean; function ShouldAddCostumeOnPickup(): boolean; }