export interface ReviewInlineComment {
    path: string;
    line: number;
    side?: "LEFT" | "RIGHT";
    body: string;
}
export interface ReviewDiffLine {
    side: "LEFT" | "RIGHT";
    line: number;
    text: string;
}
export interface ReviewDiffHunk {
    header: string;
    lines: ReviewDiffLine[];
}
export interface ReviewDiffFile {
    path: string;
    previousPath: string | null;
    status: "modified" | "added" | "deleted" | "renamed";
    hunks: ReviewDiffHunk[];
    reviewableLines: number[];
}
export interface ReviewDiffContext {
    files: ReviewDiffFile[];
    fileOrder: Map<string, number>;
    reviewableLinesByPath: Map<string, Set<number>>;
    leftLinesByPath: Map<string, Set<number>>;
    rightContextLinesByPath: Map<string, Set<number>>;
    rendered: string;
}
export declare function parseReviewDiff(diffText: string): ReviewDiffContext;
export declare function validateInlineComments(comments: readonly ReviewInlineComment[], context: ReviewDiffContext): ReviewInlineComment[];
