import { StatusInfo } from "./definitions/adventureland";
import { DamageType, GData2, MapName, MonsterName, SkillName } from "./definitions/adventureland-data";
import { ActionData, EntityData } from "./definitions/adventureland-server";
import { PingCompensatedCharacter } from "./PingCompensatedCharacter";
export declare class Entity implements EntityData {
    protected G: GData2;
    map: MapName;
    x: number;
    y: number;
    going_x: number;
    going_y: number;
    angle: number;
    moving: boolean;
    move_num: number;
    type: MonsterName;
    id: string;
    level: number;
    abs: boolean;
    cid: number;
    target: string;
    s: StatusInfo;
    abilities: {
        [T in SkillName]?: any;
    };
    max_hp: number;
    max_mp: number;
    "1hp": boolean;
    aggro: number;
    apiercing: number;
    charge: number;
    cooperative: boolean;
    damage_type: DamageType;
    evasion: number;
    frequency: number;
    immune: boolean;
    lifesteal: number;
    range: number;
    reflection: number;
    rpiercing: number;
    speed: number;
    xp: number;
    hp: number;
    mp: number;
    armor: number;
    attack: number;
    resistance: number;
    rage: number;
    constructor(data: EntityData, map: MapName, G: GData2);
    updateData(data: EntityData): void;
    isAttackingPartyMember(player: PingCompensatedCharacter): boolean;
    isAttackingUs(player: PingCompensatedCharacter): boolean;
    isTauntable(by: PingCompensatedCharacter): boolean;
    willBurnToDeath(): boolean;
    willDieToProjectiles(projectiles: Map<string, ActionData>): boolean;
}
