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 ____CustomCallback = require("classes.private.CustomCallback")
local CustomCallback = ____CustomCallback.CustomCallback
____exports.PostPickupSelectionFilter = __TS__Class()
local PostPickupSelectionFilter = ____exports.PostPickupSelectionFilter
PostPickupSelectionFilter.name = "PostPickupSelectionFilter"
__TS__ClassExtends(PostPickupSelectionFilter, CustomCallback)
function PostPickupSelectionFilter.prototype.____constructor(self)
    CustomCallback.prototype.____constructor(self)
    self.shouldFire = function(____, fireArgs, optionalArgs)
        local _pickup, pickupVariant, subType = table.unpack(fireArgs)
        local callbackPickupVariant, callbackPickupSubType = table.unpack(optionalArgs)
        return (callbackPickupVariant == nil or callbackPickupVariant == pickupVariant) and (callbackPickupSubType == nil or callbackPickupSubType == subType)
    end
    self.postPickupSelection = function(____, pickup, variant, subType) return self:fire(pickup, variant, subType) end
    self.callbacksUsed = {{ModCallback.POST_PICKUP_SELECTION, self.postPickupSelection}}
end
return ____exports
