/**
 * Unified Task Parser Module
 * Provides consistent task parsing across all components
 */
export interface PromptSection {
    key: string;
    value: string;
}
export interface ParsedTask {
    id: string;
    description: string;
    status: 'pending' | 'in-progress' | 'completed';
    lineNumber: number;
    indentLevel: number;
    isHeader: boolean;
    requirements?: string[];
    leverage?: string;
    files?: string[];
    purposes?: string[];
    implementationDetails?: string[];
    prompt?: string;
    promptStructured?: PromptSection[];
    testFocus?: string;
    isPhaseReview?: boolean;
    phase?: string;
    dependsOn?: string[];
    completed: boolean;
    inProgress: boolean;
}
export interface PhaseInfo {
    name: string;
    taskIds: string[];
    reviewTaskId?: string;
}
export interface TaskParserResult {
    tasks: ParsedTask[];
    inProgressTask: string | null;
    phases: PhaseInfo[];
    summary: {
        total: number;
        completed: number;
        inProgress: number;
        pending: number;
        headers: number;
    };
}
/**
 * Parse tasks from markdown content
 * Handles any checkbox format at any indentation level
 */
export declare function parseTasksFromMarkdown(content: string): TaskParserResult;
/**
 * Update task status in markdown content
 * Handles any indentation level and task numbering format
 */
export declare function updateTaskStatus(content: string, taskId: string, newStatus: 'pending' | 'in-progress' | 'completed'): string;
/**
 * Find the next pending task that is not a header
 */
export declare function findNextPendingTask(tasks: ParsedTask[]): ParsedTask | null;
/**
 * Get task by ID
 */
export declare function getTaskById(tasks: ParsedTask[], taskId: string): ParsedTask | undefined;
/**
 * Export for backward compatibility with existing code
 */
export declare function parseTaskProgress(content: string): {
    total: number;
    completed: number;
    pending: number;
};
export interface ExecutionWave {
    waveIndex: number;
    taskIds: string[];
}
/**
 * Phase内のタスクから依存関係に基づく実行Waveを計算する
 * トポロジカルソートにより、依存関係のないタスクを同一Waveにグループ化
 */
export declare function computeExecutionWaves(tasks: ParsedTask[], phase: PhaseInfo): ExecutionWave[];
/**
 * 次に実行可能な Wave を返す
 * 各 Phase を順に走査し、pending タスクを含む最初の Wave を返す
 */
export declare function findNextPendingWave(tasks: ParsedTask[], phases: PhaseInfo[]): {
    phase: PhaseInfo;
    wave: ExecutionWave;
} | null;
//# sourceMappingURL=task-parser.d.ts.map