/**
 * State management for Dev Flow MCP
 * Replaces the entire SQLite + Alembic system with simple JSON/YAML files
 */
import { DevFlowState, Task, Checkpoint, MistakePattern } from './types.js';
export declare class StateManager {
    private projectRoot;
    private soloDir;
    private statePath;
    private tasksPath;
    private mistakesPath;
    constructor(projectRoot: string);
    ensureSoloDirectory(): Promise<void>;
    getCurrentState(): Promise<DevFlowState>;
    saveState(state: DevFlowState): Promise<void>;
    loadTasks(): Promise<Task[]>;
    saveTasks(tasks: Task[]): Promise<void>;
    getTask(taskId: string): Promise<Task | null>;
    updateTask(taskId: string, updates: Partial<Task>): Promise<Task | null>;
    getNextTask(): Promise<Task | null>;
    loadMistakes(): Promise<MistakePattern[]>;
    saveMistakes(mistakes: MistakePattern[]): Promise<void>;
    addCheckpoint(checkpoint: Checkpoint): Promise<void>;
    /**
     * Increment stage iteration counter and check for excessive iterations
     * Returns warning message if stage has been repeated too many times
     */
    incrementStageIteration(stage: string, maxIterations?: number): Promise<{
        count: number;
        warning?: string;
    }>;
    /**
     * Reset stage iteration counter (called when advancing to a new stage)
     */
    resetStageIteration(stage: string): Promise<void>;
    /**
     * Get current iteration count for a stage
     */
    getStageIterationCount(stage: string): Promise<number>;
    /**
     * Get all stage iteration counts
     */
    getAllStageIterations(): Promise<Record<string, number>>;
    private createDefaultState;
    private isTaskCompleted;
    initializeProject(projectName: string): Promise<void>;
}
//# sourceMappingURL=state-manager.d.ts.map