import EventEmitter from "node:events"; import type { TaskEvents, ITask, TaskStatus, TaskInputHandler } from "./interfaces/task.interface.js"; declare abstract class Task extends EventEmitter> implements ITask { readonly id: string; status: TaskStatus; output: Output | undefined; readonly needs: Array; readonly if: (() => boolean) | undefined; private readonly handleInput; protected readonly abortController: AbortController; constructor(props: { id: string; needs?: Array; if?: () => boolean; handleInput: TaskInputHandler; }); execute(): Promise; abstract run(input: Input): Promise; isPending(): boolean; isInProgress(): boolean; isTerminated(): boolean; isSuccess(): boolean; isFailure(): boolean; isSkipped(): boolean; shouldSkip(): boolean; skip(): void; areNeedsTerminated(): boolean; } export { Task }; //# sourceMappingURL=workflow-task.d.ts.map