local ____lualib = require("lualib_bundle")
local __TS__Class = ____lualib.__TS__Class
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
local ____exports = {}
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
local ____entityTypes = require("functions.entityTypes")
local isSlot = ____entityTypes.isSlot
local ____shouldFire = require("shouldFire")
local shouldFireSlot = ____shouldFire.shouldFireSlot
local ____CustomCallback = require("classes.private.CustomCallback")
local CustomCallback = ____CustomCallback.CustomCallback
____exports.PostSlotCollision = __TS__Class()
local PostSlotCollision = ____exports.PostSlotCollision
PostSlotCollision.name = "PostSlotCollision"
__TS__ClassExtends(PostSlotCollision, CustomCallback)
function PostSlotCollision.prototype.____constructor(self)
    CustomCallback.prototype.____constructor(self)
    self.shouldFire = shouldFireSlot
    self.prePlayerCollision = function(____, player, collider)
        if isSlot(nil, collider) then
            self:fire(collider, player)
        end
        return nil
    end
    self.callbacksUsed = {{ModCallback.PRE_PLAYER_COLLISION, self.prePlayerCollision}}
end
return ____exports
