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 ____cachedClasses = require("core.cachedClasses")
local game = ____cachedClasses.game
local ____decorators = require("decorators")
local Exported = ____decorators.Exported
local ____ModCallbackCustom = require("enums.ModCallbackCustom")
local ModCallbackCustom = ____ModCallbackCustom.ModCallbackCustom
local ____Feature = require("classes.private.Feature")
local Feature = ____Feature.Feature
local v = {room = {roomClearGameFrame = nil, roomClearRenderFrame = nil, roomClearRoomFrame = nil}}
____exports.RoomClearFrame = __TS__Class()
local RoomClearFrame = ____exports.RoomClearFrame
RoomClearFrame.name = "RoomClearFrame"
__TS__ClassExtends(RoomClearFrame, Feature)
function RoomClearFrame.prototype.____constructor(self)
    Feature.prototype.____constructor(self)
    self.v = v
    self.postRoomClearChangedTrue = function()
        local gameFrameCount = game:GetFrameCount()
        local room = game:GetRoom()
        local roomFrameCount = room:GetFrameCount()
        local renderFrameCount = Isaac.GetFrameCount()
        v.room.roomClearGameFrame = gameFrameCount
        v.room.roomClearRenderFrame = renderFrameCount
        v.room.roomClearRoomFrame = roomFrameCount
    end
    self.customCallbacksUsed = {{ModCallbackCustom.POST_ROOM_CLEAR_CHANGED, self.postRoomClearChangedTrue}}
end
function RoomClearFrame.prototype.getRoomClearGameFrame(self)
    return v.room.roomClearGameFrame
end
__TS__DecorateLegacy({Exported}, RoomClearFrame.prototype, "getRoomClearGameFrame", true)
function RoomClearFrame.prototype.getRoomClearRenderFrame(self)
    return v.room.roomClearRenderFrame
end
__TS__DecorateLegacy({Exported}, RoomClearFrame.prototype, "getRoomClearRenderFrame", true)
function RoomClearFrame.prototype.getRoomClearRoomFrame(self)
    return v.room.roomClearRoomFrame
end
__TS__DecorateLegacy({Exported}, RoomClearFrame.prototype, "getRoomClearRoomFrame", true)
return ____exports
