local ____lualib = require("lualib_bundle")
local __TS__New = ____lualib.__TS__New
local ____exports = {}
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
local GridEntityType = ____isaac_2Dtypescript_2Ddefinitions.GridEntityType
local LockState = ____isaac_2Dtypescript_2Ddefinitions.LockState
local PoopState = ____isaac_2Dtypescript_2Ddefinitions.PoopState
local RockState = ____isaac_2Dtypescript_2Ddefinitions.RockState
local SpiderWebState = ____isaac_2Dtypescript_2Ddefinitions.SpiderWebState
local TNTState = ____isaac_2Dtypescript_2Ddefinitions.TNTState
local ____ReadonlyMap = require("types.ReadonlyMap")
local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
--- Not every grid entity can be broken. Thus use a map to represent this.
____exports.GRID_ENTITY_TYPE_TO_BROKEN_STATE_MAP = __TS__New(ReadonlyMap, {
    {GridEntityType.ROCK, RockState.BROKEN},
    {GridEntityType.ROCK_TINTED, RockState.BROKEN},
    {GridEntityType.ROCK_BOMB, RockState.BROKEN},
    {GridEntityType.ROCK_ALT, RockState.BROKEN},
    {GridEntityType.SPIDER_WEB, SpiderWebState.BROKEN},
    {GridEntityType.LOCK, LockState.UNLOCKED},
    {GridEntityType.TNT, TNTState.EXPLODED},
    {GridEntityType.POOP, PoopState.COMPLETELY_DESTROYED},
    {GridEntityType.ROCK_SUPER_SPECIAL, RockState.BROKEN},
    {GridEntityType.ROCK_SPIKED, RockState.BROKEN},
    {GridEntityType.ROCK_ALT_2, RockState.BROKEN},
    {GridEntityType.ROCK_GOLD, RockState.BROKEN}
})
return ____exports
