/**
 * Review Output Parser
 *
 * Parses the agent's text response into a structured ReviewOutput.
 * Three-stage repair pipeline:
 *   1. Strip markdown fences and fix trailing commas
 *   2. JSON.parse on cleaned text
 *   3. Schema validation with field coercion
 *
 * This sits on top of IStructuredAgentCaller's own extraction —
 * it handles cases where the caller returns technically valid JSON
 * that doesn't match the review schema.
 */
import type { CommentSide } from '../../../domain/generated/output.js';
/**
 * Output schema from the reviewer agent (before domain mapping).
 */
export interface ReviewOutput {
    summary: string;
    comments: ReviewOutputComment[];
}
/**
 * Comment as it comes from the agent output (before validation).
 */
export interface ReviewOutputComment {
    path: string;
    line: number;
    body: string;
    side?: CommentSide;
    suggestion?: string;
    startLine?: number;
}
/**
 * Error thrown when the review output cannot be parsed.
 */
export declare class ReviewOutputParseError extends Error {
    constructor(message: string);
}
/**
 * Parse the agent's raw text response into a typed ReviewOutput.
 *
 * Three-stage pipeline:
 *   1. Strip markdown fences, fix trailing commas
 *   2. JSON.parse on cleaned text
 *   3. Validate shape, coerce types, set defaults
 *
 * @param raw - Raw text from the agent response
 * @returns Typed ReviewOutput
 * @throws ReviewOutputParseError when all stages fail
 */
export declare function parseReviewOutput(raw: string): ReviewOutput;
//# sourceMappingURL=review-output-parser.service.d.ts.map