import { BaseBehaviorTree } from "./BaseBehaviorTree"; import { Task } from "./Task"; import { TaskStatus } from "./TaskStatus"; /** * This is the abstract base class of all behavior tree tasks. * @param T The type of the blackboard object that tasks use to read or modify game state. */ export declare abstract class BaseTask implements Task { /** The status of this task. */ private status; /** The guard of this task. */ private guard?; /** The parent of this task. */ private control?; tree?: BaseBehaviorTree; constructor(); getStatus(): TaskStatus; getObject(): T; setGuard(guard: Task): this; setControl(control: BaseTask): void; abstract addChild(child: Task): this; abstract getChildCount(): number; abstract getChild(index: number): Task; checkGuard(control: Task): boolean; start(): void; end(): void; abstract run(): void; success(): void; fail(): void; running(): void; abstract childSuccess(runningTask: Task): void; abstract childFail(runningTask: Task): void; abstract childRunning(runningTask: Task, reporter: Task): void; cancel(): void; /** Terminates the running children of this task starting from the specified inex up to the end. */ cancelRunningChildren(startIndex: number): void; /** Resets this task to make it restart from scratch on next run. */ resetTask(): void; reset(): void; }