import type { ITimer } from "@webiny/handler-aws"; import type { ITaskManagerStore } from "../../../api/runner/abstractions/TaskManagerStore.js"; import type { ITaskRunner } from "../../../api/runner/abstractions/TaskRunner.js"; import type { ITaskResponse } from "../../../api/response/abstractions/index.js"; /** * TaskExecutionContext holds runtime state for the currently executing task. * Properties are set by TaskRunner before task execution. * * This is registered as a singleton in the DI container with empty values, * then populated at runtime by TaskControl before executing each task. */ export interface ITaskExecutionContext { readonly store: ITaskManagerStore; readonly runner: ITaskRunner; readonly timer: ITimer; readonly response: ITaskResponse; setStore(store: ITaskManagerStore): void; setRunner(runner: ITaskRunner): void; setTimer(timer: ITimer): void; setResponse(response: ITaskResponse): void; clear(): void; } export declare const TaskExecutionContext: import("@webiny/di").Abstraction; export declare namespace TaskExecutionContext { type Interface = ITaskExecutionContext; }