import { Context } from 'koishi';
interface BattleStatistics {
    name: string;
    hpChange: number;
    energyChange: number;
    tagsAdded: string[];
    tagsRemoved: string[];
    skillsAdded: string[];
    skillsRemoved: string[];
    skillStacksChanged: number;
    radiationLayersChange: number;
    coldLayersChange: number;
    lastWeaponName: string;
}
export declare const PassiveHandler: {
    handleWeakForm: (targetBoss: any, buffMultiplier: number) => {
        buffMultiplier: number;
        messages: string[];
    };
    handleAlienShell: (targetBoss: any, nerfMultiplier: number) => {
        nerfMultiplier: number;
        messages: string[];
    };
    handleIsolated: (targetBoss: any, activeBosses: any[], buffMultiplier: number) => {
        buffMultiplier: number;
        messages: string[];
    };
    handleFrostRegeneration: (targetBoss: any, activeBosses: any[]) => {
        updatedTargetStats?: BattleStatistics;
        updatedOtherStats: BattleStatistics[];
        messages: string[];
    };
    handleFrostAura: (targetBoss: any, activeBosses: any[]) => {
        updatedTargetStats?: BattleStatistics;
        messages: string[];
    };
    handleFrostEvolution: (targetBoss: any, weaponName: string, activeBosses: any[]) => {
        isImmune: boolean;
        messages: string[];
        updatedStats?: BattleStatistics;
    };
    handleFrostSurround: (ctx: Context, targetBoss: any, currentHP: number, maxHP: number) => Promise<{
        updatedHP: number;
        skillUpdates: ({
            name: any;
            add: string[];
        } | {
            name: any;
            remove: string[];
            add: string[];
        })[];
        messages: string[];
    }>;
    handleFrostRecovery: (ctx: Context, targetBoss: any, currentHP: number, maxHP: number, activeBosses: any[], bossGroup: any) => Promise<{
        updatedHP: number;
        skillUpdates: {
            name: any;
            remove: string[];
        }[];
        messages: string[];
    }>;
    handleColdAdaptation: (ctx: Context, targetBoss: any, weaponName: string) => Promise<{
        messages: string[];
    }>;
    handleColdAdaptationImmunity: (targetBoss: any, weaponName: string) => {
        initialDamage: number;
        messages: string[];
    };
    handleSurvivalInstinct: (targetBoss: any, currentHP: number, maxHP: number) => {
        updatedHP: number;
        messages: string[];
        skillUpdates: {
            name: any;
            remove: string[];
        }[];
    };
    handleInfectedStation: (ctx: Context, targetBoss: any) => Promise<{
        damageMultiplier: number;
        messages: string[];
    }>;
    handleMoldGrowth: (ctx: Context, targetBoss: any, bossGroup: any) => Promise<{
        messages: string[];
    }>;
    handleSentryGun: (ctx: Context, targetBoss: any, bossGroup: any) => Promise<{
        messages: string[];
    }>;
    handleStructuralArmor: (targetBoss: any, weaponData: any) => {
        damageMultiplier: number;
        messages: string[];
    };
    handleBloodEffects: (targetBoss: any, currentHP: number, maxHP: number) => {
        buffAmount: number;
        nerfAmount: number;
        messages: string[];
    };
    handleBloodCount: (ctx: Context, targetBoss: any, currentHP: number, maxHP: number) => Promise<{
        updatedHP: number;
        messages: string[];
    }>;
    handleGammaRadiation: (ctx: Context, targetBoss: any, weaponName: any) => Promise<{
        messages: string[];
        radiationApplied: boolean;
    }>;
    calculateRadiationDamage: (targetBoss: any) => {
        damageMultiplier: number;
        messages: any[];
    };
    handleColdEffect: (ctx: Context, targetBoss: any, weaponName: string) => Promise<{
        messages: string[];
        coldLayers: boolean;
    }>;
    calculateColdDamage: (targetBoss: any) => {
        damageMultiplier: number;
        messages: any[];
    };
    handleConductorTagChange: (ctx: Context, targetBoss: any, currentHP: number, maxHP: number) => Promise<{
        messages: string[];
    }>;
    handleEnergySiphon: (targetBoss: any, currentHP: number, maxHP: number) => {
        damageMultiplier: number;
        messages: string[];
    };
    handleEnergyShockwave: (ctx: Context, targetBoss: any) => Promise<{
        messages: string[];
    }>;
    handlePowerSiphon: (targetBoss: any) => {
        damageMultiplier: number;
        messages: string[];
    };
    handleEnergyField: (ctx: Context, targetBoss: any, weaponName: string, initialDamage: number) => Promise<{
        immune: boolean;
        messages: string[];
    }>;
    getMemberConfig: (name: string, bossGroup: any) => any;
    handlePulse: (ctx: Context, targetBoss: any, activeBosses: any[], bossGroup: any, currentHP: number) => Promise<{
        newHP: number;
        messages: string[];
    }>;
    handleArcWelderEffect: (ctx: Context, targetBoss: any, weaponName: string) => Promise<{
        messages: string[];
        arcApplied: boolean;
    }>;
    handleArcRifleEffect: (ctx: Context, targetBoss: any, weaponName: string, messages: string[]) => Promise<{
        drainAmount: number;
    }>;
    handleGiantRage: (targetBoss: any, currentHP: number, maxHP: number) => {
        damageMultiplier: number;
        messages: string[];
    };
    handleBileStacking: (ctx: Context, targetBoss: any, skipStack: boolean) => Promise<{
        messages: string[];
    }>;
    handleSolarFlare: (ctx: Context, targetBoss: any, weaponName: string) => Promise<{
        immune: boolean;
        messages: string[];
    }>;
    getMemberMaxHP: (name: string, bossGroup: any) => any;
    handleCorrosiveBile: (ctx: Context, targetBoss: any, bossGroup: any, currentHP: number) => Promise<{
        messages: string[];
        currentHP: number;
    }>;
    handleFireBreath: (ctx: Context, targetBoss: any, bossGroup: any, currentHP: number) => Promise<{
        messages: string[];
        currentHP: number;
    }>;
    handleFireEvolution: (ctx: Context, targetBoss: any, weaponName: string, initialDamage: number, bossGroup: any) => Promise<{
        updatedHP: number;
        initialDamage: number;
        messages: string[];
        bileStacks: any;
    }>;
    handleBileIgnition: (ctx: Context, targetBoss: any, bossGroup: any, updatedHP: number) => Promise<{
        messages: string[];
        newHP: number;
        bileStacks: any;
    }>;
    handleBurningBurrow: (ctx: Context, targetBoss: any, currentHP: number, maxHP: number) => Promise<{
        updatedHP: number;
        messages: string[];
        skillUpdates: {
            name: any;
            remove: string[];
        }[];
    }>;
    handleHellfireBomb: (targetBoss: any, activeBosses: any[]) => {
        damageMultiplier: number;
        messages: string[];
    };
    handleHunterAlien: (targetBoss: any, weaponName: string, activeBosses: any[]) => Promise<{
        immune: boolean;
        messages: string[];
        damageMultiplier?: undefined;
    } | {
        damageMultiplier: number;
        messages: string[];
        immune?: undefined;
    }>;
    handleRage: (targetBoss: any, currentHP: number, maxHP: number) => {
        damageMultiplier: number;
        messages: string[];
    };
    handleDisguise: (ctx: Context, targetBoss: any, weaponName: string, initialDamage: number) => Promise<{
        damageMultiplier: number;
        messages: string[];
    }>;
    handleCriticalHit: (targetBoss: any, initialDamage: number) => {
        immune: boolean;
        messages: string[];
    };
    handleCorrosionModule: (installedMods: string[]) => number;
    handleParticlePhaseEffect: (targetBoss: any, weaponName: string) => number;
    handleIgnoreReductionEffects: (ctx: Context, handle: string, weaponName: string, targetBoss: any, nerfMultiplier: number) => Promise<{
        ignoreRate: number;
        messages: any[];
    }>;
    handlePulseDisruptor: (ctx: Context, targetBoss: any, weaponName: string) => Promise<{
        messages: string[];
        pulseApplied: boolean;
    }>;
    handleStellarWind: (ctx: Context, targetBoss: any, initialDamage: number, currentHP: number, maxHP: number, activeBosses: any[], bossGroup: any) => Promise<{
        messages: string[];
        updatedHP: number;
    }>;
    handlePsychicFrenzy: (targetBoss: any, currentHP: number, maxHP: number) => {
        damageMultiplier: number;
        messages: string[];
    };
    handleCosmicEnergy: (ctx: Context, targetBoss: any, initialDamage: number, bossGroup: any) => Promise<{
        messages: string[];
        healAmount: number;
    }>;
    handleLightblade: (ctx: Context, targetBoss: any) => Promise<{
        messages: string[];
    }>;
    handleAncientOmen: (ctx: Context, targetBoss: any) => Promise<{
        immune: boolean;
        messages: string[];
    }>;
    handleHyperspaceSkip: (targetBoss: any) => {
        reduction: number;
        increase: number;
        messages: string[];
    };
    handleRevival: (ctx: Context, targetBoss: any, currentHP: number, maxHP: number) => Promise<{
        updatedHP: number;
        messages: string[];
    }>;
    handleConstructor: (ctx: Context, targetBoss: any) => Promise<{
        messages: string[];
    }>;
    handleTyrsShield: (ctx: Context, targetBoss: any, currentHP: number, activeBosses: any[], bossGroup: any) => Promise<{
        messages: string[];
        updatedHP: number;
    }>;
    handleCollapsePulse: (ctx: Context, targetBoss: any) => Promise<{
        messages: string[];
    }>;
    handleCarpetBombing: (ctx: Context, targetBoss: any) => Promise<{
        messages: string[];
        damageMultiplier: number;
    }>;
    handleBombardmentGuidance: (ctx: Context, targetBoss: any) => Promise<{
        messages: string[];
    }>;
    handlePassives: (ctx: Context, handle: string, targetBoss: any, initialDamage: number, currentHP: number, maxHP: number, weaponName: string, weaponData: any, bossGroup: any) => Promise<{
        currentHP: any;
        messages: any;
        skillUpdates: any[];
        initialDamage: number;
        bileStacks?: undefined;
        radiationApplied?: undefined;
        coldLayers?: undefined;
        pulseApplied?: undefined;
        arcApplied?: undefined;
    } | {
        currentHP: any;
        messages: any;
        skillUpdates: any[];
        initialDamage: any;
        bileStacks: any;
        radiationApplied?: undefined;
        coldLayers?: undefined;
        pulseApplied?: undefined;
        arcApplied?: undefined;
    } | {
        currentHP: number;
        messages: string[];
        skillUpdates: any[];
        initialDamage: number;
        radiationApplied: boolean;
        coldLayers: boolean;
        pulseApplied: boolean;
        arcApplied: boolean;
        bileStacks?: undefined;
    }>;
    applySkillUpdates: (ctx: Context, skillUpdates: any[]) => Promise<void>;
};
export {};
