/**
 * Aperant Framework v2 — State schema types
 *
 * Defines the shape of `.aperant/state.json` — the source of truth for
 * "where are we" in any task lifecycle.
 * See: docs/frameworks/aperant-framework-spec.md Section 6.2
 */
/** Complexity track determines the workflow pipeline */
export type TaskTrack = 'QUICK' | 'STANDARD' | 'DEEP' | 'DEBUG';
/** Phase within a task's lifecycle */
export type TaskPhase = 'discussing' | 'planning' | 'executing' | 'verifying' | 'reviewing' | 'completed' | 'failed';
/** Progress within the current task phase */
export interface TaskProgress {
    subtasks_total: number;
    subtasks_completed: number;
    current_subtask: string | null;
}
/** Currently active task (at most one at a time) */
export interface ActiveTask {
    id: string;
    description: string;
    track: TaskTrack;
    autonomy: 0 | 1 | 2 | 3;
    phase: TaskPhase;
    progress: TaskProgress;
}
/** A task that has been completed */
export interface CompletedTask {
    id: string;
    description: string;
    completed_at: string;
    qa_verdict: 'approved' | 'approved_with_notes' | 'rejected';
    commits: string[];
}
/** A decision recorded during task execution */
export interface TaskDecision {
    value: string;
    decided_at: string;
    task: string;
}
/** Full v2 state schema — stored at .aperant/state.json */
export interface AperantState {
    version: number;
    initialized_at: string;
    last_activity: string;
    active_task: ActiveTask | null;
    completed_tasks: CompletedTask[];
    decisions: Record<string, TaskDecision>;
    /** Whether the project had test infrastructure at init time */
    has_tests: boolean;
    /** Grace mode state — tracks tasks since bootstrap, auto-expires */
    grace_mode?: {
        active: boolean;
        tasks_completed_in_grace: number;
        activated_at: string;
    };
}
//# sourceMappingURL=state.d.ts.map