import type { PhaseOverride, SetupAgentsTaskRecord, SetupAgentsTaskRoles, SetupAgentsTaskStatus, SetupAgentsWorkspaceMode, WorkflowPhase } from '../types/index.js';
export type CreateTaskInput = {
    id?: string;
    summary: string;
    profile?: string;
    mode?: SetupAgentsWorkspaceMode;
    roles?: SetupAgentsTaskRoles;
    declaredPhases?: WorkflowPhase[];
    phaseOverrides?: PhaseOverride[];
    evidenceIds?: string[];
};
export type ListTasksOptions = {
    status?: SetupAgentsTaskStatus;
    profile?: string;
    mode?: SetupAgentsWorkspaceMode;
    limit?: number;
};
export type UpdateTaskInput = {
    id: string;
    profile?: string;
    evidenceIds?: string[];
};
export declare function createTask(cwd: string, input: CreateTaskInput): SetupAgentsTaskRecord;
export declare function listTasks(cwd: string, options?: ListTasksOptions): SetupAgentsTaskRecord[];
export declare function getTask(cwd: string, id: string): SetupAgentsTaskRecord | undefined;
export declare function claimTask(cwd: string, input: UpdateTaskInput): SetupAgentsTaskRecord;
export declare function completeTask(cwd: string, input: UpdateTaskInput): SetupAgentsTaskRecord;
export type PatchTaskInput = {
    id: string;
    summary?: string;
    profile?: string;
    evidenceIds?: string[];
};
export declare function patchTask(cwd: string, input: PatchTaskInput): SetupAgentsTaskRecord;
export declare function cancelTask(cwd: string, id: string, reason?: string): SetupAgentsTaskRecord;
export declare function blockTask(cwd: string, id: string, reason?: string): SetupAgentsTaskRecord;
export type TransitionTaskInput = {
    id: string;
    status: SetupAgentsTaskStatus;
    profile?: string;
    reason?: string;
    evidenceIds?: string[];
};
export declare function transitionTask(cwd: string, input: TransitionTaskInput): SetupAgentsTaskRecord;
export declare function deleteTask(cwd: string, id: string): SetupAgentsTaskRecord;
export declare function archiveTask(cwd: string, id: string): SetupAgentsTaskRecord;
export type UpdateTaskRecordInput = {
    phaseOverrides?: PhaseOverride[];
    roles?: SetupAgentsTaskRoles;
};
export declare function updateTaskRecord(cwd: string, id: string, input: UpdateTaskRecordInput): SetupAgentsTaskRecord;
export declare function taskStatePath(cwd: string): string;
