import { Entity } from "../../core/Entity"; import { System } from "../../core/System"; import { PathingComponent } from "../components/PathingComponent"; import { Position } from "../components/Position"; import type { Point } from "../pathing/PathingMap"; import { PathingMap } from "../pathing/PathingMap"; declare type PathingMapEntity = Parameters[0]; export declare class PathingSystem extends System { static components: (typeof Position | typeof PathingComponent)[]; readonly pure = true; readonly widthWorld: number; readonly heightWorld: number; readonly layer: PathingMap["layer"]; readonly grid: PathingMap["grid"]; private readonly componentMap; private readonly pathingMap; constructor(terrain: ConstructorParameters[0]); test(entity: Entity): entity is Entity; onAddEntity(entity: Entity): void; private getPathingMapEntity; onRemoveEntity(entity: Entity): void; pathable(entity: Entity, x: number, y: number): boolean; nearestSpiralPathing(xWorld: number, yWorld: number, entity: Entity, layer?: number): Point; path(entity: Entity | PathingMapEntity, target: Point, start?: Point): Point[]; withoutEntity(entity: Entity, fn: () => A): A; recheck(path: Point[], entity: Entity, amount?: number, offset?: number): boolean; } export {};