local ____lualib = require("lualib_bundle")
local __TS__New = ____lualib.__TS__New
local ____exports = {}
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
local LevelStage = ____isaac_2Dtypescript_2Ddefinitions.LevelStage
local StageID = ____isaac_2Dtypescript_2Ddefinitions.StageID
local StageType = ____isaac_2Dtypescript_2Ddefinitions.StageType
local ____ReadonlyMap = require("types.ReadonlyMap")
local ReadonlyMap = ____ReadonlyMap.ReadonlyMap
local BASEMENT_TO_STAGE_ID = {
    [StageType.ORIGINAL] = StageID.BASEMENT,
    [StageType.WRATH_OF_THE_LAMB] = StageID.CELLAR,
    [StageType.AFTERBIRTH] = StageID.BURNING_BASEMENT,
    [StageType.GREED_MODE] = StageID.BASEMENT,
    [StageType.REPENTANCE] = StageID.DOWNPOUR,
    [StageType.REPENTANCE_B] = StageID.DROSS
}
local CAVES_TO_STAGE_ID = {
    [StageType.ORIGINAL] = StageID.CAVES,
    [StageType.WRATH_OF_THE_LAMB] = StageID.CATACOMBS,
    [StageType.AFTERBIRTH] = StageID.FLOODED_CAVES,
    [StageType.GREED_MODE] = StageID.CAVES,
    [StageType.REPENTANCE] = StageID.MINES,
    [StageType.REPENTANCE_B] = StageID.ASHPIT
}
local DEPTHS_TO_STAGE_ID = {
    [StageType.ORIGINAL] = StageID.DEPTHS,
    [StageType.WRATH_OF_THE_LAMB] = StageID.NECROPOLIS,
    [StageType.AFTERBIRTH] = StageID.DANK_DEPTHS,
    [StageType.GREED_MODE] = StageID.DEPTHS,
    [StageType.REPENTANCE] = StageID.MAUSOLEUM,
    [StageType.REPENTANCE_B] = StageID.GEHENNA
}
local WOMB_TO_STAGE_ID = {
    [StageType.ORIGINAL] = StageID.WOMB,
    [StageType.WRATH_OF_THE_LAMB] = StageID.UTERO,
    [StageType.AFTERBIRTH] = StageID.SCARRED_WOMB,
    [StageType.GREED_MODE] = StageID.WOMB,
    [StageType.REPENTANCE] = StageID.CORPSE,
    [StageType.REPENTANCE_B] = StageID.MORTIS
}
local BLUE_WOMB_TO_STAGE_ID = {
    [StageType.ORIGINAL] = StageID.BLUE_WOMB,
    [StageType.WRATH_OF_THE_LAMB] = StageID.BLUE_WOMB,
    [StageType.AFTERBIRTH] = StageID.BLUE_WOMB,
    [StageType.GREED_MODE] = StageID.BLUE_WOMB,
    [StageType.REPENTANCE] = StageID.BLUE_WOMB,
    [StageType.REPENTANCE_B] = StageID.BLUE_WOMB
}
local SHEOL_CATHEDRAL_TO_STAGE_ID = {
    [StageType.ORIGINAL] = StageID.SHEOL,
    [StageType.WRATH_OF_THE_LAMB] = StageID.CATHEDRAL,
    [StageType.AFTERBIRTH] = StageID.SHEOL,
    [StageType.GREED_MODE] = StageID.SHEOL,
    [StageType.REPENTANCE] = StageID.SHEOL,
    [StageType.REPENTANCE_B] = StageID.SHEOL
}
local DARK_ROOM_CHEST_TO_STAGE_ID = {
    [StageType.ORIGINAL] = StageID.DARK_ROOM,
    [StageType.WRATH_OF_THE_LAMB] = StageID.CHEST,
    [StageType.AFTERBIRTH] = StageID.DARK_ROOM,
    [StageType.GREED_MODE] = StageID.DARK_ROOM,
    [StageType.REPENTANCE] = StageID.DARK_ROOM,
    [StageType.REPENTANCE_B] = StageID.DARK_ROOM
}
local VOID_TO_STAGE_ID = {
    [StageType.ORIGINAL] = StageID.VOID,
    [StageType.WRATH_OF_THE_LAMB] = StageID.VOID,
    [StageType.AFTERBIRTH] = StageID.VOID,
    [StageType.GREED_MODE] = StageID.VOID,
    [StageType.REPENTANCE] = StageID.VOID,
    [StageType.REPENTANCE_B] = StageID.VOID
}
local HOME_TO_STAGE_ID = {
    [StageType.ORIGINAL] = StageID.HOME,
    [StageType.WRATH_OF_THE_LAMB] = StageID.HOME,
    [StageType.AFTERBIRTH] = StageID.HOME,
    [StageType.GREED_MODE] = StageID.HOME,
    [StageType.REPENTANCE] = StageID.HOME,
    [StageType.REPENTANCE_B] = StageID.HOME
}
____exports.STAGE_TO_STAGE_ID = {
    [LevelStage.BASEMENT_1] = BASEMENT_TO_STAGE_ID,
    [LevelStage.BASEMENT_2] = BASEMENT_TO_STAGE_ID,
    [LevelStage.CAVES_1] = CAVES_TO_STAGE_ID,
    [LevelStage.CAVES_2] = CAVES_TO_STAGE_ID,
    [LevelStage.DEPTHS_1] = DEPTHS_TO_STAGE_ID,
    [LevelStage.DEPTHS_2] = DEPTHS_TO_STAGE_ID,
    [LevelStage.WOMB_1] = WOMB_TO_STAGE_ID,
    [LevelStage.WOMB_2] = WOMB_TO_STAGE_ID,
    [LevelStage.BLUE_WOMB] = BLUE_WOMB_TO_STAGE_ID,
    [LevelStage.SHEOL_CATHEDRAL] = SHEOL_CATHEDRAL_TO_STAGE_ID,
    [LevelStage.DARK_ROOM_CHEST] = DARK_ROOM_CHEST_TO_STAGE_ID,
    [LevelStage.VOID] = VOID_TO_STAGE_ID,
    [LevelStage.HOME] = HOME_TO_STAGE_ID
}
local SHOP_TO_STAGE_ID = {
    [StageType.ORIGINAL] = StageID.SHOP,
    [StageType.WRATH_OF_THE_LAMB] = StageID.SHOP,
    [StageType.AFTERBIRTH] = StageID.SHOP,
    [StageType.GREED_MODE] = StageID.SHOP,
    [StageType.REPENTANCE] = StageID.SHOP,
    [StageType.REPENTANCE_B] = StageID.SHOP
}
local ULTRA_GREED_TO_STAGE_ID = {
    [StageType.ORIGINAL] = StageID.ULTRA_GREED,
    [StageType.WRATH_OF_THE_LAMB] = StageID.ULTRA_GREED,
    [StageType.AFTERBIRTH] = StageID.ULTRA_GREED,
    [StageType.GREED_MODE] = StageID.ULTRA_GREED,
    [StageType.REPENTANCE] = StageID.ULTRA_GREED,
    [StageType.REPENTANCE_B] = StageID.ULTRA_GREED
}
____exports.STAGE_TO_STAGE_ID_GREED_MODE = __TS__New(ReadonlyMap, {
    {LevelStage.BASEMENT_GREED_MODE, BASEMENT_TO_STAGE_ID},
    {LevelStage.CAVES_GREED_MODE, CAVES_TO_STAGE_ID},
    {LevelStage.DEPTHS_GREED_MODE, DEPTHS_TO_STAGE_ID},
    {LevelStage.WOMB_GREED_MODE, WOMB_TO_STAGE_ID},
    {LevelStage.SHEOL_GREED_MODE, SHEOL_CATHEDRAL_TO_STAGE_ID},
    {LevelStage.SHOP_GREED_MODE, SHOP_TO_STAGE_ID},
    {LevelStage.ULTRA_GREED_GREED_MODE, ULTRA_GREED_TO_STAGE_ID}
})
return ____exports
