import type { Bot } from "mineflayer";
import type { Entity } from "prismarine-entity";
export declare class EntityFunctions {
    bot: Bot;
    healthSlot: number;
    constructor(bot: Bot);
    /**
     * TODO: Version specific right now. Generalize. Unknown method.
     *
     * Checks if main hand is activated.
     * @returns boolean
     */
    isMainHandActive(entity?: Entity): boolean;
    /**
     * TODO: Version specific right now. Generalize. Unknown method.
     *
     * Checks if offhand is activated.
     * @returns boolean
     */
    isOffHandActive(entity?: Entity): boolean;
    /**
     * TODO: Version specific right now. Generalize. Unknown method.
     * @param metadata metadata from Prismarine-Entity Entity.
     * @returns number
     */
    getHealth(entity?: Entity): number;
    /**
     *
     * @param metadata Must be FULL metadata object.
     * @returns number
     */
    getHealthFromMetadata(metadata: object[]): number;
    /**
     * TODO: Version specific right now. Generalize. Unknown method.
     * @param metadata metadata from Prismarine-Entity Entity.
     * @returns
     */
    getHealthChange(packetMetadata: any, entity: Entity): number;
    entityDistance(entity: Entity): number;
    eyeDistanceToEntity(entity: Entity): number;
    eyeDistanceBetweenEntities(first: Entity, second: Entity): number;
    private parseMetadata;
}
