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 checkResetInput
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
local ButtonAction = ____isaac_2Dtypescript_2Ddefinitions.ButtonAction
local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
local ____cachedClasses = require("core.cachedClasses")
local game = ____cachedClasses.game
local ____decorators = require("decorators")
local Exported = ____decorators.Exported
local ____input = require("functions.input")
local isActionTriggeredOnAnyInput = ____input.isActionTriggeredOnAnyInput
local isModifierKeyPressed = ____input.isModifierKeyPressed
local ____run = require("functions.run")
local restart = ____run.restart
local ____Feature = require("classes.private.Feature")
local Feature = ____Feature.Feature
function checkResetInput(self)
    local isPaused = game:IsPaused()
    if isPaused then
        return
    end
    if AwaitingTextInput then
        return
    end
    if isModifierKeyPressed(nil) then
        return
    end
    if isActionTriggeredOnAnyInput(nil, ButtonAction.RESTART) then
        restart(nil)
    end
end
____exports.FastReset = __TS__Class()
local FastReset = ____exports.FastReset
FastReset.name = "FastReset"
__TS__ClassExtends(FastReset, Feature)
function FastReset.prototype.____constructor(self)
    Feature.prototype.____constructor(self)
    self.enabled = false
    self.postRender = function()
        if not self.enabled then
            return
        end
        checkResetInput(nil)
    end
    self.callbacksUsed = {{ModCallback.POST_RENDER, self.postRender}}
end
function FastReset.prototype.enableFastReset(self)
    self.enabled = true
end
__TS__DecorateLegacy({Exported}, FastReset.prototype, "enableFastReset", true)
function FastReset.prototype.disableFastReset(self)
    self.enabled = false
end
__TS__DecorateLegacy({Exported}, FastReset.prototype, "disableFastReset", true)
return ____exports
