import { z } from 'zod';
export declare const ReviewPublicationOverlaySchema: z.ZodObject<{
    findings: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        published: z.ZodBoolean;
        publishedAtMs: z.ZodOptional<z.ZodNumber>;
        publishedMessageRef: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>>;
}, z.core.$loose>;
export type ReviewPublicationOverlay = z.infer<typeof ReviewPublicationOverlaySchema>;
export declare const ReviewFindingsV2Schema: z.ZodObject<{
    runRef: z.ZodObject<{
        runId: z.ZodString;
        callId: z.ZodString;
        backendId: z.ZodString;
        backendTarget: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
            kind: z.ZodLiteral<"builtInAgent">;
            agentId: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            kind: z.ZodLiteral<"configuredAcpBackend">;
            backendId: z.ZodString;
        }, z.core.$strip>]>>;
        retentionPolicy: z.ZodOptional<z.ZodEnum<{
            ephemeral: "ephemeral";
            resumable: "resumable";
        }>>;
    }, z.core.$loose>;
    summary: z.ZodString;
    overviewMarkdown: z.ZodString;
    findings: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        title: z.ZodString;
        severity: z.ZodEnum<{
            blocker: "blocker";
            high: "high";
            medium: "medium";
            low: "low";
            nit: "nit";
        }>;
        category: z.ZodEnum<{
            correctness: "correctness";
            security: "security";
            performance: "performance";
            maintainability: "maintainability";
            testing: "testing";
            style: "style";
            docs: "docs";
        }>;
        filePath: z.ZodOptional<z.ZodString>;
        startLine: z.ZodOptional<z.ZodNumber>;
        endLine: z.ZodOptional<z.ZodNumber>;
        summary: z.ZodString;
        whyItMatters: z.ZodOptional<z.ZodString>;
        evidence: z.ZodOptional<z.ZodString>;
        confidence: z.ZodOptional<z.ZodNumber>;
        suggestion: z.ZodOptional<z.ZodString>;
        patch: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>>;
    questions: z.ZodDefault<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        text: z.ZodString;
        findingIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
        status: z.ZodEnum<{
            open: "open";
            answered: "answered";
            superseded: "superseded";
        }>;
    }, z.core.$loose>>>;
    assumptions: z.ZodDefault<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        text: z.ZodString;
        findingIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$loose>>>;
    triage: z.ZodOptional<z.ZodObject<{
        findings: z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            status: z.ZodEnum<{
                accept: "accept";
                reject: "reject";
                defer: "defer";
                needs_refinement: "needs_refinement";
            }>;
            comment: z.ZodOptional<z.ZodString>;
        }, z.core.$loose>>;
    }, z.core.$loose>>;
    publication: z.ZodOptional<z.ZodObject<{
        findings: z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            published: z.ZodBoolean;
            publishedAtMs: z.ZodOptional<z.ZodNumber>;
            publishedMessageRef: z.ZodOptional<z.ZodString>;
        }, z.core.$loose>>;
    }, z.core.$loose>>;
    limits: z.ZodOptional<z.ZodObject<{
        findingsTruncated: z.ZodOptional<z.ZodBoolean>;
        patchesTruncated: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$loose>>;
    generatedAtMs: z.ZodNumber;
}, z.core.$loose>;
export type ReviewFindingsV2 = z.infer<typeof ReviewFindingsV2Schema>;
export declare function parseReviewFindingsV2(payload: unknown): ReviewFindingsV2 | null;
//# sourceMappingURL=reviewFindingsV2.d.ts.map