import TypedEmitter from 'typed-emitter'; import { Area } from './Area'; import { Position } from './Position'; type MobEvent = { 'in': (mob: Mob) => void; 'out': (mob: Mob) => void; }; export declare class Mob { readonly id: string; readonly position: Position; readonly emitter: TypedEmitter; readonly neighbors: Set; private __thresholdRadius; protected readonly area: Area; constructor(id: string, thresholdRadius: number, area: Area); get thresholdRadius(): number; set thresholdRadius(v: number); private __setDirty; /** * It is same as `area.removeMob(mob.id)` */ destroy(): void; } export {};