export interface CodeReviewInlineComment {
    path: string;
    line: number;
    body: string;
}
export interface CodeReviewDraft {
    body: string;
    comments: CodeReviewInlineComment[];
    decision?: CodeReviewDecision;
}
export type CodeReviewDecision = "APPROVE" | "REQUEST_CHANGES" | "COMMENT";
export interface CodeReviewPrRef {
    host: string;
    owner: string;
    repo: string;
    number: number;
}
export type CodeReviewReviewState = "in_progress" | "merged" | "published" | "failed";
export interface CodeReviewTimestamps {
    createdAt: string;
    updatedAt: string;
    publishedAt?: string;
}
export interface CodeReviewSubagentStatus {
    profile: string;
    status: "pending" | "running" | "completed" | "failed";
    agent?: string;
    startedAt?: string;
    completedAt?: string;
    error?: string;
}
export interface CodeReviewOrchestratorAction {
    at: string;
    action: string;
    details?: string;
    profile?: string;
}
export interface CodeReviewPublishedReceipt {
    publishedAt: string;
    actor?: string;
    sessionId?: string;
    decision?: CodeReviewDecision;
    reviewId?: string | number;
    reviewUrl?: string;
}
export interface CodeReviewState {
    version: 1;
    sessionId: string;
    prUrl: string;
    prRef: CodeReviewPrRef;
    selectedAgent: string;
    selectedProfiles: string[];
    state: CodeReviewReviewState;
    timestamps: CodeReviewTimestamps;
    rawReviews: Record<string, CodeReviewDraft>;
    subagents: Record<string, CodeReviewSubagentStatus>;
    mergedReview?: CodeReviewDraft;
    orchestratorActions: CodeReviewOrchestratorAction[];
    published?: CodeReviewPublishedReceipt;
}
export declare function parseCodeReviewState(content: string, filePath?: string): CodeReviewState;
export declare function serializeCodeReviewState(state: CodeReviewState): string;
