/**
 * Task State Manager - Single Source of Truth
 *
 * Enforces that implementation checkboxes are the ONLY way to mark tasks complete.
 * Header markers (✅ COMPLETE) are DERIVED and auto-computed from checkboxes.
 *
 * This prevents inconsistencies where:
 * - Header says "✅ COMPLETE" but checkboxes are unchecked
 * - Checkboxes all checked but header missing marker
 *
 * @see .specweave/increments/0037/reports/ULTRATHINK-LONG-TERM-PREVENTION.md
 */
export interface TaskState {
    /** Task ID (e.g., "T-001", "T-123-DISCIPLINE") */
    taskId: string;
    /** Implementation checkbox statistics */
    implementationCheckboxes: {
        total: number;
        checked: number;
    };
    /** Computed completion status (derived from checkboxes) */
    isComplete: boolean;
    /** Expected header marker (computed, not manually set) */
    headerMarker: string | null;
    /** Whether header and checkboxes match */
    isConsistent: boolean;
}
export interface ValidationResult {
    /** Whether task is consistent */
    valid: boolean;
    /** Error message if validation failed */
    error?: string;
    /** Auto-fixed content (if validation failed) */
    fix?: string;
}
export declare class TaskStateManager {
    /**
     * Compute task state from SSOT (implementation checkboxes)
     *
     * This is the canonical way to determine task completion.
     * Header markers are DERIVED from this, never trusted directly.
     */
    computeTaskState(taskContent: string): TaskState;
    /**
     * Validate task consistency
     *
     * Checks if header marker matches what checkboxes say.
     * Returns auto-fix suggestion if inconsistent.
     */
    validate(taskContent: string): ValidationResult;
    /**
     * Auto-fix header to match SSOT
     *
     * Adds or removes "✅ COMPLETE" marker based on checkbox state.
     * This is the canonical way to sync headers with reality.
     */
    autoFixHeader(taskContent: string): string;
    /**
     * Extract task ID from content
     */
    private extractTaskId;
    /**
     * Extract implementation checkboxes from content
     */
    private extractImplementationCheckboxes;
    /**
     * Extract header marker from content
     */
    private extractHeaderMarker;
    /**
     * Set header marker in content
     */
    private setHeaderMarker;
}
//# sourceMappingURL=task-state-manager.d.ts.map