import { Player } from "../game/Player"; import { SpiritImpl } from "./SpiritImpl"; import { Base, Position } from "../globals/gameTypes"; export declare class BaseImpl implements Base { id: string; hp: number; energy: number; energy_capacity: number; size: number; position: Position; sight: import("../globals/gameTypes").Sight; structure_type: string; range: number; underAttack: boolean; splitSpirits: [position: Position, spiritIds: string[], energy: number][]; owner: Player; private readonly spiritCost; private spiritCostIdx; private readonly maxSpirits; private spiritIdx; private spiritCount; constructor(id: string, position: Position, owner: Player); createSpirit(position: Position): void; removeSpirit(spirit: SpiritImpl): void; spiritHasSplit(spiritImpl: SpiritImpl): void; hasReachedMaxSpirits(): boolean; postTick(): void; private createSpiritIfEnoughEnergy; private addBackSplitSpirits; }