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 = {persistent = {queuedFunctions = {}}}
____exports.RunNextRun = __TS__Class()
local RunNextRun = ____exports.RunNextRun
RunNextRun.name = "RunNextRun"
__TS__ClassExtends(RunNextRun, Feature)
function RunNextRun.prototype.____constructor(self)
    Feature.prototype.____constructor(self)
    self.v = v
    self.vConditionalFunc = function() return false end
    self.postGameStartedReorderedFalse = function()
        for ____, func in ipairs(v.persistent.queuedFunctions) do
            func(nil)
        end
        emptyArray(nil, v.persistent.queuedFunctions)
    end
    self.customCallbacksUsed = {{ModCallbackCustom.POST_GAME_STARTED_REORDERED, self.postGameStartedReorderedFalse, {false}}}
end
function RunNextRun.prototype.runNextRun(self, func)
    local ____v_persistent_queuedFunctions_0 = v.persistent.queuedFunctions
    ____v_persistent_queuedFunctions_0[#____v_persistent_queuedFunctions_0 + 1] = func
end
__TS__DecorateLegacy({Exported}, RunNextRun.prototype, "runNextRun", true)
return ____exports
