import type { Bot } from "mineflayer";
import type { Entity } from "prismarine-entity";
import { Vec3 } from "vec3";
import { Overwrites, PredictiveWorld } from "./worldRelated/predictiveWorld";
export declare class PredictiveFunctions {
    private bot;
    private damageMultiplier;
    private armorToughnessKey;
    private armorProtectionKey;
    private resistanceIndex;
    world: PredictiveWorld;
    constructor(bot: Bot);
    getDamageWithEffects(damage: number, effects: {
        [id: string]: {
            id: number;
            amplifier: number;
            duration: number;
        };
    }): number;
    placeBlocks(blocks: Overwrites): void;
    removePredictedBlocks(positions: Vec3[], force?: boolean): void;
    selfExplosionDamage(sourcePos: Vec3, power: number, rawDamages?: boolean): number;
    getExplosionDamage(targetEntity: Entity, sourcePos: Vec3, power: number, rawDamages?: boolean): number;
}
