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 ____shouldFire = require("shouldFire")
local shouldFireEntity = ____shouldFire.shouldFireEntity
local ____CustomCallback = require("classes.private.CustomCallback")
local CustomCallback = ____CustomCallback.CustomCallback
____exports.EntityTakeDmgFilter = __TS__Class()
local EntityTakeDmgFilter = ____exports.EntityTakeDmgFilter
EntityTakeDmgFilter.name = "EntityTakeDmgFilter"
__TS__ClassExtends(EntityTakeDmgFilter, CustomCallback)
function EntityTakeDmgFilter.prototype.____constructor(self)
    CustomCallback.prototype.____constructor(self)
    self.shouldFire = shouldFireEntity
    self.entityTakeDmg = function(____, entity, amount, damageFlags, source, countdownFrames) return self:fire(
        entity,
        amount,
        damageFlags,
        source,
        countdownFrames
    ) end
    self.callbacksUsed = {{ModCallback.ENTITY_TAKE_DMG, self.entityTakeDmg}}
end
return ____exports
