import type { TaskEntry } from "./change-dag-validate.js"; export interface StackEntry { taskId: string; title: string; status: TaskEntry["status"]; hasHandoff: boolean; hasDoneSignal: boolean; retryCount: number; } /** * aiws change tasks stack list * * Lists dispatched tasks (artifacts exist) with status and done.signal presence. * This is the interruption-detection surface: any task whose artifacts exist * but status is not completed has been dispatched and not finished. */ export declare function runChangeTasksStackListCommand(options: { changeId: string; gitRoot: string; }): Promise; /** * aiws change tasks stack push * * Explicitly push a dispatched task's artifacts onto the stack marker * (re-opens it for re-dispatch: resets status to pending, keeps retry_count). * Idempotent for tasks already pending. */ export declare function runChangeTasksStackPushCommand(taskId: string, options: { changeId: string; gitRoot: string; }): Promise; /** * aiws change tasks stack pop * * Pop a dispatched task off the stack (marks it cancelled — work abandoned * deliberately). Does NOT delete artifacts; they remain as audit trail. */ export declare function runChangeTasksStackPopCommand(taskId: string, options: { changeId: string; gitRoot: string; }): Promise;