local ____lualib = require("lualib_bundle")
local __TS__Class = ____lualib.__TS__Class
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
local __TS__DecorateLegacy = ____lualib.__TS__DecorateLegacy
local ____exports = {}
local ____decorators = require("decorators")
local Exported = ____decorators.Exported
local ____ModCallbackCustom = require("enums.ModCallbackCustom")
local ModCallbackCustom = ____ModCallbackCustom.ModCallbackCustom
local ____array = require("functions.array")
local emptyArray = ____array.emptyArray
local ____Feature = require("classes.private.Feature")
local Feature = ____Feature.Feature
local v = {run = {queuedFunctions = {}}}
____exports.RunNextRoom = __TS__Class()
local RunNextRoom = ____exports.RunNextRoom
RunNextRoom.name = "RunNextRoom"
__TS__ClassExtends(RunNextRoom, Feature)
function RunNextRoom.prototype.____constructor(self)
    Feature.prototype.____constructor(self)
    self.v = v
    self.vConditionalFunc = function() return false end
    self.postNewRoomReordered = function()
        for ____, func in ipairs(v.run.queuedFunctions) do
            func(nil)
        end
        emptyArray(nil, v.run.queuedFunctions)
    end
    self.customCallbacksUsed = {{ModCallbackCustom.POST_NEW_ROOM_REORDERED, self.postNewRoomReordered}}
end
function RunNextRoom.prototype.runNextRoom(self, func)
    local ____v_run_queuedFunctions_0 = v.run.queuedFunctions
    ____v_run_queuedFunctions_0[#____v_run_queuedFunctions_0 + 1] = func
end
__TS__DecorateLegacy({Exported}, RunNextRoom.prototype, "runNextRoom", true)
return ____exports
