import { BaseTask } from "../BaseTask"; import { Task } from "../Task"; import { TaskStatus } from "../TaskStatus"; /** * A LeafTask is a terminal task of a behavior tree, * contains action or condition logic, can not have any child. */ export declare abstract class LeafTask extends BaseTask { /** * This method contains the update logic of this leaf task. * The actual implementation msut return Running, Succeeded or Failed. */ abstract execute(): TaskStatus; run(): void; addChild(child: Task): this; getChildCount(): number; getChild(index: number): Task; childSuccess(runningTask: Task): void; childFail(runningTask: Task): void; childRunning(runningTask: Task, reporter: Task): void; }