/**
 * Parser for progress markers emitted by Claude during review
 *
 * Expected markers in stdout:
 * - [PROGRESS:agent-name:started]
 * - [PROGRESS:agent-name:completed]
 * - [PROGRESS:agent-name:failed:error message]
 * - [PHASE:phase-name]
 */
import type { ReviewProgress, ProgressEvent } from '../../modules/review-execution/entities/progress/progress.type.js';
import type { AgentDefinition } from '../../modules/review-execution/entities/progress/agentDefinition.type.js';
export interface ParseResult {
    events: ProgressEvent[];
    updatedProgress: ReviewProgress;
}
export type ProgressCallback = (event: ProgressEvent, progress: ReviewProgress) => void;
/**
 * Progress parser that tracks state and emits events
 */
export declare class ProgressParser {
    private progress;
    private jobId;
    private callback?;
    /**
     * @param jobId - Unique job identifier
     * @param callback - Optional callback for progress events
     * @param customAgents - Optional custom agents from project config
     */
    constructor(jobId: string, callback?: ProgressCallback, customAgents?: AgentDefinition[]);
    /**
     * Get current progress state
     */
    getProgress(): ReviewProgress;
    /**
     * Parse a chunk of stdout and update progress
     */
    parseChunk(chunk: string): ProgressEvent[];
    /**
     * Handle agent progress update
     */
    private handleAgentProgress;
    /**
     * Handle phase change
     */
    private handlePhaseChange;
    /**
     * Format agent name for display (kebab-case to Title Case)
     */
    private formatAgentName;
    /**
     * Mark all remaining pending agents as completed (for fallback)
     */
    markAllCompleted(): void;
    /**
     * Mark review as failed
     */
    markFailed(error: string): void;
}
/**
 * Parse a single chunk without state (utility function)
 */
export declare function parseProgressMarkers(chunk: string): {
    agents: Array<{
        name: string;
        status: string;
        error?: string;
    }>;
    phases: string[];
};
//# sourceMappingURL=progressParser.d.ts.map