/**
 * ProgressTracker - Structured progress tracking for long-running features
 * Inspired by Anthropic's "Effective Harnesses for Long-Running Agents"
 */
export interface PhaseInfo {
    id: number;
    name: string;
    status: 'pending' | 'in_progress' | 'completed' | 'blocked';
    startedAt?: string;
    completedAt?: string;
    blockers?: string[];
}
export interface ProgressState {
    feature: string;
    spec: string;
    status: 'pending' | 'in_progress' | 'blocked' | 'completed';
    currentPhase: number;
    totalPhases: number;
    phases: PhaseInfo[];
    completedTasks: string[];
    pendingTasks: string[];
    blockers: string[];
    lastCommit?: string;
    lastUpdated: string;
    startedAt: string;
    sessionCount: number;
}
/**
 * Get progress file path for a project
 */
export declare function getProgressPath(projectRoot: string): string;
/**
 * Load progress state from file
 */
export declare function loadProgress(projectRoot: string): ProgressState | null;
/**
 * Save progress state to file
 */
export declare function saveProgress(projectRoot: string, progress: ProgressState): void;
/**
 * Initialize progress for a new feature
 */
export declare function initProgress(projectRoot: string, feature: string, spec: string, phases: string[]): ProgressState;
/**
 * Update phase progress
 */
export declare function updatePhase(projectRoot: string, phaseNumber: number, status: PhaseInfo['status'], blockers?: string[]): ProgressState | null;
/**
 * Add a task to completed list
 */
export declare function completeTask(projectRoot: string, task: string): ProgressState | null;
/**
 * Record last git commit
 */
export declare function recordCommit(projectRoot: string, commitHash: string): ProgressState | null;
/**
 * Increment session count (called on session restore)
 */
export declare function incrementSession(projectRoot: string): ProgressState | null;
/**
 * Format progress for display
 */
export declare function formatProgress(progress: ProgressState): string;
/**
 * Get progress summary for session startup
 */
export declare function getProgressSummary(projectRoot: string): string | null;
/**
 * Write plain text progress file (claude-progress.txt)
 * Claude가 context compaction 후에도 읽을 수 있는 human-readable 진행 파일
 */
export declare function writeProgressText(projectRoot: string): void;
//# sourceMappingURL=ProgressTracker.d.ts.map