import type { BombVariant, CollectibleType, DamageFlag, DoorVariant, EffectVariant, EntityType, FamiliarVariant, GridEntityType, ItemType, KnifeVariant, LaserVariant, LevelStage, PickupVariant, PitVariant, PlayerType, PlayerVariant, PoopGridEntityVariant, PressurePlateVariant, ProjectileVariant, RoomType, SlotVariant, StageType, TearVariant, TrinketType } from "isaac-typescript-definitions";
import type { AmbushType } from "./enums/AmbushType";
import type { HealthType } from "./enums/HealthType";
import type { PlayerStat } from "./enums/PlayerStat";
import type { SlotDestructionType } from "./enums/SlotDestructionType";
import type { PickingUpItem } from "./types/PickingUpItem";
import type { PossibleStatType } from "./types/PossibleStatType";
export declare function shouldFireAmbush(fireArgs: [ambushType: AmbushType], optionalArgs: [ambushType?: AmbushType]): boolean;
export declare function shouldFireBomb(fireArgs: [bomb: EntityBomb] | [bomb: EntityBomb, renderOffset: Vector] | [bomb: EntityBomb, collider: Entity, low: boolean], optionalArgs: [bombVariant?: BombVariant, subType?: int]): boolean;
export declare function shouldFireBoolean(fireArgs: [fireArg: boolean], optionalArgs: [optionalArg?: boolean]): boolean;
export declare function shouldFireCollectibleType(fireArgs: [player: EntityPlayer, collectibleType: CollectibleType], optionalArgs: [collectibleType?: CollectibleType]): boolean;
export declare function shouldFireDoor(fireArgs: [rock: GridEntityDoor], optionalArgs: [doorVariant?: DoorVariant]): boolean;
export declare function shouldFireEffect(fireArgs: [effect: EntityEffect] | [effect: EntityEffect, renderOffset: Vector] | [effect: EntityEffect, previousState: int, currentState: int], optionalArgs: [effectVariant?: EffectVariant, subType?: int]): boolean;
export declare function shouldFireEntity(fireArgs: [entity: Entity] | [
    entity: Entity,
    amount: number,
    damageFlags: BitFlags<DamageFlag>,
    source: EntityRef,
    countdownFrames: number
], optionalArgs: [entityType?: EntityType, variant?: int, subType?: int]): boolean;
export declare function shouldFireFamiliar(fireArgs: [familiar: EntityFamiliar] | [familiar: EntityFamiliar, renderOffset: Vector] | [familiar: EntityFamiliar, collider: Entity, low: boolean] | [familiar: EntityFamiliar, previousState: int, currentState: int], optionalArgs: [familiarVariant?: FamiliarVariant, subType?: int]): boolean;
export declare function shouldFireGridEntity(fireArgs: [gridEntity: GridEntity] | [gridEntity: GridEntity, oldState: int, newState: int], optionalArgs: [gridEntityType?: GridEntityType, variant?: int]): boolean;
export declare function shouldFireGridEntityCustom(fireArgs: [gridEntity: GridEntity, gridEntityTypeCustom: GridEntityType] | [
    gridEntity: GridEntity,
    gridEntityTypeCustom: GridEntityType,
    oldState: int,
    newState: int
], optionalArgs: [gridEntityTypeCustom?: GridEntityType]): boolean;
export declare function shouldFireItemPickup(fireArgs: [player: EntityPlayer, pickingUpItem: PickingUpItem], optionalArgs: [itemType?: ItemType, subType?: int]): boolean;
export declare function shouldFireKnife(fireArgs: [knife: EntityKnife] | [knife: EntityKnife, renderOffset: Vector] | [knife: EntityKnife, collider: Entity, low: boolean], optionalArgs: [knifeVariant?: KnifeVariant, subType?: int]): boolean;
export declare function shouldFireLaser(fireArgs: [laser: EntityLaser] | [laser: EntityLaser, renderOffset: Vector], optionalArgs: [laserVariant?: LaserVariant, subType?: int]): boolean;
export declare function shouldFireLevel(fireArgs: [stage: LevelStage, stageType: StageType], optionalArgs: [stage?: LevelStage, stageType?: StageType]): boolean;
export declare function shouldFireNPC(fireArgs: [npc: EntityNPC] | [npc: EntityNPC, previousState: int, currentState: int] | [npc: EntityNPC, renderOffset: Vector] | [npc: EntityNPC, collider: Entity, low: boolean], optionalArgs: [entityType?: EntityType, variant?: int, subType?: int]): boolean;
export declare function shouldFirePickup(fireArgs: [pickup: EntityPickup] | [pickup: EntityPickup, renderOffset: Vector] | [pickup: EntityPickup, player: EntityPlayer] | [pickup: EntityPickup, previousState: int, currentState: int] | [
    pickup: EntityPickup,
    oldVariant: PickupVariant,
    oldSubType: int,
    newVariant: PickupVariant,
    newSubType: int
], optionalArgs: [pickupVariant?: PickupVariant, subType?: int]): boolean;
export declare function shouldFirePit(fireArgs: [pit: GridEntityPit], optionalArgs: [pitVariant?: PitVariant]): boolean;
export declare function shouldFirePlayer(fireArgs: [player: EntityPlayer] | [player: EntityPlayer, renderOffset: Vector] | [player: EntityPlayer, numSacrifices: int] | [player: EntityPlayer, collectible: EntityPickupCollectible] | [player: EntityPlayer, oldCharacter: PlayerType, newCharacter: PlayerType] | [
    player: EntityPlayer,
    healthType: HealthType,
    difference: int,
    oldValue: int,
    newValue: int
] | [
    player: EntityPlayer,
    amount: float,
    damageFlags: BitFlags<DamageFlag>,
    source: EntityRef,
    countdownFrames: int
] | [
    player: EntityPlayer,
    playerStat: PlayerStat,
    difference: int,
    oldValue: PossibleStatType,
    newValue: PossibleStatType
], optionalArgs: [playerVariant?: PlayerVariant, character?: PlayerType]): boolean;
export declare function shouldFirePoop(fireArgs: [poop: GridEntityPoop], optionalArgs: [poopGridEntityVariant?: PoopGridEntityVariant]): boolean;
export declare function shouldFirePressurePlate(fireArgs: [pressurePlate: GridEntityPressurePlate], optionalArgs: [pressurePlateVariant?: PressurePlateVariant]): boolean;
export declare function shouldFireProjectile(fireArgs: [projectile: EntityProjectile] | [projectile: EntityProjectile, renderOffset: Vector] | [projectile: EntityProjectile, collider: Entity, low: boolean], optionalArgs: [projectileVariant?: ProjectileVariant, subType?: int]): boolean;
export declare function shouldFireRock(fireArgs: [rock: GridEntityRock], optionalArgs: [gridEntityType?: GridEntityType, variant?: int]): boolean;
export declare function shouldFireRoom(fireArgs: [roomType: RoomType], optionalArgs: [roomType?: RoomType]): boolean;
export declare function shouldFireSlot(fireArgs: [slot: EntitySlot] | [slot: EntitySlot, player: EntityPlayer] | [slot: EntitySlot, slotDestructionType: SlotDestructionType] | [slot: EntitySlot, previousAnimation: string, currentAnimation: string], optionalArgs: [slotVariant?: SlotVariant, subType?: int]): boolean;
export declare function shouldFireSpikes(fireArgs: [spikes: GridEntitySpikes], optionalArgs: [variant?: int]): boolean;
export declare function shouldFireTNT(fireArgs: [tnt: GridEntityTNT], optionalArgs: [variant?: int]): boolean;
export declare function shouldFireTear(fireArgs: [tear: EntityTear] | [tear: EntityTear, renderOffset: Vector] | [tear: EntityTear, collider: Entity, low: boolean], optionalArgs: [tearVariant?: TearVariant, subType?: int]): boolean;
export declare function shouldFireTrinketType(fireArgs: [player: EntityPlayer, trinketType: TrinketType], optionalArgs: [trinketType?: TrinketType]): boolean;
//# sourceMappingURL=shouldFire.d.ts.map