local ____lualib = require("lualib_bundle")
local __TS__New = ____lualib.__TS__New
local ____exports = {}
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
local DoorSlot = ____isaac_2Dtypescript_2Ddefinitions.DoorSlot
local RoomShape = ____isaac_2Dtypescript_2Ddefinitions.RoomShape
local ____ReadonlySet = require("types.ReadonlySet")
local ReadonlySet = ____ReadonlySet.ReadonlySet
local ALL_DOOR_SLOTS_SET = __TS__New(ReadonlySet, {
    DoorSlot.LEFT_0,
    DoorSlot.UP_0,
    DoorSlot.RIGHT_0,
    DoorSlot.DOWN_0,
    DoorSlot.LEFT_1,
    DoorSlot.UP_1,
    DoorSlot.RIGHT_1,
    DoorSlot.DOWN_1
})
____exports.ROOM_SHAPE_TO_DOOR_SLOTS = {
    [RoomShape.SHAPE_1x1] = __TS__New(ReadonlySet, {DoorSlot.LEFT_0, DoorSlot.UP_0, DoorSlot.RIGHT_0, DoorSlot.DOWN_0}),
    [RoomShape.IH] = __TS__New(ReadonlySet, {DoorSlot.LEFT_0, DoorSlot.RIGHT_0}),
    [RoomShape.IV] = __TS__New(ReadonlySet, {DoorSlot.UP_0, DoorSlot.DOWN_0}),
    [RoomShape.SHAPE_1x2] = __TS__New(ReadonlySet, {
        DoorSlot.LEFT_0,
        DoorSlot.UP_0,
        DoorSlot.RIGHT_0,
        DoorSlot.DOWN_0,
        DoorSlot.LEFT_1,
        DoorSlot.RIGHT_1
    }),
    [RoomShape.IIV] = __TS__New(ReadonlySet, {DoorSlot.UP_0, DoorSlot.DOWN_0}),
    [RoomShape.SHAPE_2x1] = __TS__New(ReadonlySet, {
        DoorSlot.LEFT_0,
        DoorSlot.UP_0,
        DoorSlot.RIGHT_0,
        DoorSlot.DOWN_0,
        DoorSlot.UP_1,
        DoorSlot.DOWN_1
    }),
    [RoomShape.IIH] = __TS__New(ReadonlySet, {DoorSlot.LEFT_0, DoorSlot.RIGHT_0}),
    [RoomShape.SHAPE_2x2] = ALL_DOOR_SLOTS_SET,
    [RoomShape.LTL] = ALL_DOOR_SLOTS_SET,
    [RoomShape.LTR] = ALL_DOOR_SLOTS_SET,
    [RoomShape.LBL] = ALL_DOOR_SLOTS_SET,
    [RoomShape.LBR] = ALL_DOOR_SLOTS_SET
}
return ____exports
