import { z } from "zod";
export declare const REVIEW_DRAFT_VERSION: "review-draft/v1";
export declare const stagedDecisionEntrySchema: z.ZodObject<{
    findingId: z.ZodString;
    evidenceFingerprint: z.ZodString;
    verdict: z.ZodEnum<{
        confirmed_defect: "confirmed_defect";
        not_defect: "not_defect";
    }>;
    scope: z.ZodDiscriminatedUnion<[z.ZodObject<{
        kind: z.ZodLiteral<"exact">;
        detector: z.ZodPipe<z.ZodObject<{
            id: z.ZodString;
            version: z.ZodString;
        }, z.core.$strict>, z.ZodTransform<{
            id: string;
            version: string;
        }, {
            id: string;
            version: string;
        }>>;
        target: z.ZodObject<{
            kind: z.ZodLiteral<"exact">;
            canonicalTarget: z.ZodString;
        }, z.core.$strict>;
        context: z.ZodObject<{
            kind: z.ZodEnum<{
                api: "api";
                cli: "cli";
                worker: "worker";
                stream: "stream";
                filesystem: "filesystem";
                package: "package";
                deployment: "deployment";
                browser: "browser";
            }>;
            dimensions: z.ZodArray<z.ZodObject<{
                key: z.ZodString;
                value: z.ZodString;
            }, z.core.$strict>>;
        }, z.core.$strict>;
        contractVersion: z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
            id: z.ZodString;
            version: z.ZodString;
        }, z.core.$strict>, z.ZodTransform<{
            id: string;
            version: string;
        }, {
            id: string;
            version: string;
        }>>, z.ZodNull]>;
    }, z.core.$strict>, z.ZodObject<{
        kind: z.ZodLiteral<"reviewed-policy">;
        policyId: z.ZodString;
        detector: z.ZodPipe<z.ZodObject<{
            id: z.ZodString;
            version: z.ZodString;
        }, z.core.$strict>, z.ZodTransform<{
            id: string;
            version: string;
        }, {
            id: string;
            version: string;
        }>>;
        target: z.ZodDiscriminatedUnion<[z.ZodObject<{
            kind: z.ZodLiteral<"exact">;
            canonicalTarget: z.ZodString;
        }, z.core.$strict>, z.ZodObject<{
            kind: z.ZodLiteral<"glob">;
            canonicalGlob: z.ZodString;
        }, z.core.$strict>], "kind">;
        context: z.ZodObject<{
            kinds: z.ZodArray<z.ZodEnum<{
                api: "api";
                cli: "cli";
                worker: "worker";
                stream: "stream";
                filesystem: "filesystem";
                package: "package";
                deployment: "deployment";
                browser: "browser";
            }>>;
            dimensions: z.ZodArray<z.ZodObject<{
                key: z.ZodString;
                operator: z.ZodEnum<{
                    equals: "equals";
                    "one-of": "one-of";
                }>;
                values: z.ZodArray<z.ZodString>;
            }, z.core.$strict>>;
        }, z.core.$strict>;
        contractVersion: z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
            id: z.ZodString;
            version: z.ZodString;
        }, z.core.$strict>, z.ZodTransform<{
            id: string;
            version: string;
        }, {
            id: string;
            version: string;
        }>>, z.ZodNull]>;
        justification: z.ZodString;
        expiresAt: z.ZodString;
    }, z.core.$strict>], "kind">;
    reason: z.ZodOptional<z.ZodString>;
    decidedAt: z.ZodString;
    promotion: z.ZodOptional<z.ZodObject<{
        status: z.ZodLiteral<"staged">;
        requestPath: z.ZodString;
        contractId: z.ZodString;
        contractVersion: z.ZodString;
        stagedAt: z.ZodString;
    }, z.core.$strict>>;
}, z.core.$strict>;
export type StagedDecisionEntry = z.infer<typeof stagedDecisionEntrySchema>;
export declare const undoStateEntrySchema: z.ZodObject<{
    verdict: z.ZodOptional<z.ZodEnum<{
        confirmed_defect: "confirmed_defect";
        not_defect: "not_defect";
    }>>;
    scope: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
        kind: z.ZodLiteral<"exact">;
        detector: z.ZodPipe<z.ZodObject<{
            id: z.ZodString;
            version: z.ZodString;
        }, z.core.$strict>, z.ZodTransform<{
            id: string;
            version: string;
        }, {
            id: string;
            version: string;
        }>>;
        target: z.ZodObject<{
            kind: z.ZodLiteral<"exact">;
            canonicalTarget: z.ZodString;
        }, z.core.$strict>;
        context: z.ZodObject<{
            kind: z.ZodEnum<{
                api: "api";
                cli: "cli";
                worker: "worker";
                stream: "stream";
                filesystem: "filesystem";
                package: "package";
                deployment: "deployment";
                browser: "browser";
            }>;
            dimensions: z.ZodArray<z.ZodObject<{
                key: z.ZodString;
                value: z.ZodString;
            }, z.core.$strict>>;
        }, z.core.$strict>;
        contractVersion: z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
            id: z.ZodString;
            version: z.ZodString;
        }, z.core.$strict>, z.ZodTransform<{
            id: string;
            version: string;
        }, {
            id: string;
            version: string;
        }>>, z.ZodNull]>;
    }, z.core.$strict>, z.ZodObject<{
        kind: z.ZodLiteral<"reviewed-policy">;
        policyId: z.ZodString;
        detector: z.ZodPipe<z.ZodObject<{
            id: z.ZodString;
            version: z.ZodString;
        }, z.core.$strict>, z.ZodTransform<{
            id: string;
            version: string;
        }, {
            id: string;
            version: string;
        }>>;
        target: z.ZodDiscriminatedUnion<[z.ZodObject<{
            kind: z.ZodLiteral<"exact">;
            canonicalTarget: z.ZodString;
        }, z.core.$strict>, z.ZodObject<{
            kind: z.ZodLiteral<"glob">;
            canonicalGlob: z.ZodString;
        }, z.core.$strict>], "kind">;
        context: z.ZodObject<{
            kinds: z.ZodArray<z.ZodEnum<{
                api: "api";
                cli: "cli";
                worker: "worker";
                stream: "stream";
                filesystem: "filesystem";
                package: "package";
                deployment: "deployment";
                browser: "browser";
            }>>;
            dimensions: z.ZodArray<z.ZodObject<{
                key: z.ZodString;
                operator: z.ZodEnum<{
                    equals: "equals";
                    "one-of": "one-of";
                }>;
                values: z.ZodArray<z.ZodString>;
            }, z.core.$strict>>;
        }, z.core.$strict>;
        contractVersion: z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
            id: z.ZodString;
            version: z.ZodString;
        }, z.core.$strict>, z.ZodTransform<{
            id: string;
            version: string;
        }, {
            id: string;
            version: string;
        }>>, z.ZodNull]>;
        justification: z.ZodString;
        expiresAt: z.ZodString;
    }, z.core.$strict>], "kind">>;
    reason: z.ZodOptional<z.ZodString>;
}, z.core.$strict>;
export type UndoStateEntry = z.infer<typeof undoStateEntrySchema>;
export declare const reviewDraftSchema: z.ZodObject<{
    schemaVersion: z.ZodLiteral<"review-draft/v1">;
    revision: z.ZodNumber;
    decisions: z.ZodArray<z.ZodObject<{
        findingId: z.ZodString;
        evidenceFingerprint: z.ZodString;
        verdict: z.ZodEnum<{
            confirmed_defect: "confirmed_defect";
            not_defect: "not_defect";
        }>;
        scope: z.ZodDiscriminatedUnion<[z.ZodObject<{
            kind: z.ZodLiteral<"exact">;
            detector: z.ZodPipe<z.ZodObject<{
                id: z.ZodString;
                version: z.ZodString;
            }, z.core.$strict>, z.ZodTransform<{
                id: string;
                version: string;
            }, {
                id: string;
                version: string;
            }>>;
            target: z.ZodObject<{
                kind: z.ZodLiteral<"exact">;
                canonicalTarget: z.ZodString;
            }, z.core.$strict>;
            context: z.ZodObject<{
                kind: z.ZodEnum<{
                    api: "api";
                    cli: "cli";
                    worker: "worker";
                    stream: "stream";
                    filesystem: "filesystem";
                    package: "package";
                    deployment: "deployment";
                    browser: "browser";
                }>;
                dimensions: z.ZodArray<z.ZodObject<{
                    key: z.ZodString;
                    value: z.ZodString;
                }, z.core.$strict>>;
            }, z.core.$strict>;
            contractVersion: z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
                id: z.ZodString;
                version: z.ZodString;
            }, z.core.$strict>, z.ZodTransform<{
                id: string;
                version: string;
            }, {
                id: string;
                version: string;
            }>>, z.ZodNull]>;
        }, z.core.$strict>, z.ZodObject<{
            kind: z.ZodLiteral<"reviewed-policy">;
            policyId: z.ZodString;
            detector: z.ZodPipe<z.ZodObject<{
                id: z.ZodString;
                version: z.ZodString;
            }, z.core.$strict>, z.ZodTransform<{
                id: string;
                version: string;
            }, {
                id: string;
                version: string;
            }>>;
            target: z.ZodDiscriminatedUnion<[z.ZodObject<{
                kind: z.ZodLiteral<"exact">;
                canonicalTarget: z.ZodString;
            }, z.core.$strict>, z.ZodObject<{
                kind: z.ZodLiteral<"glob">;
                canonicalGlob: z.ZodString;
            }, z.core.$strict>], "kind">;
            context: z.ZodObject<{
                kinds: z.ZodArray<z.ZodEnum<{
                    api: "api";
                    cli: "cli";
                    worker: "worker";
                    stream: "stream";
                    filesystem: "filesystem";
                    package: "package";
                    deployment: "deployment";
                    browser: "browser";
                }>>;
                dimensions: z.ZodArray<z.ZodObject<{
                    key: z.ZodString;
                    operator: z.ZodEnum<{
                        equals: "equals";
                        "one-of": "one-of";
                    }>;
                    values: z.ZodArray<z.ZodString>;
                }, z.core.$strict>>;
            }, z.core.$strict>;
            contractVersion: z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
                id: z.ZodString;
                version: z.ZodString;
            }, z.core.$strict>, z.ZodTransform<{
                id: string;
                version: string;
            }, {
                id: string;
                version: string;
            }>>, z.ZodNull]>;
            justification: z.ZodString;
            expiresAt: z.ZodString;
        }, z.core.$strict>], "kind">;
        reason: z.ZodOptional<z.ZodString>;
        decidedAt: z.ZodString;
        promotion: z.ZodOptional<z.ZodObject<{
            status: z.ZodLiteral<"staged">;
            requestPath: z.ZodString;
            contractId: z.ZodString;
            contractVersion: z.ZodString;
            stagedAt: z.ZodString;
        }, z.core.$strict>>;
    }, z.core.$strict>>;
    notes: z.ZodRecord<z.ZodString, z.ZodString>;
    undoStacks: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
        verdict: z.ZodOptional<z.ZodEnum<{
            confirmed_defect: "confirmed_defect";
            not_defect: "not_defect";
        }>>;
        scope: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
            kind: z.ZodLiteral<"exact">;
            detector: z.ZodPipe<z.ZodObject<{
                id: z.ZodString;
                version: z.ZodString;
            }, z.core.$strict>, z.ZodTransform<{
                id: string;
                version: string;
            }, {
                id: string;
                version: string;
            }>>;
            target: z.ZodObject<{
                kind: z.ZodLiteral<"exact">;
                canonicalTarget: z.ZodString;
            }, z.core.$strict>;
            context: z.ZodObject<{
                kind: z.ZodEnum<{
                    api: "api";
                    cli: "cli";
                    worker: "worker";
                    stream: "stream";
                    filesystem: "filesystem";
                    package: "package";
                    deployment: "deployment";
                    browser: "browser";
                }>;
                dimensions: z.ZodArray<z.ZodObject<{
                    key: z.ZodString;
                    value: z.ZodString;
                }, z.core.$strict>>;
            }, z.core.$strict>;
            contractVersion: z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
                id: z.ZodString;
                version: z.ZodString;
            }, z.core.$strict>, z.ZodTransform<{
                id: string;
                version: string;
            }, {
                id: string;
                version: string;
            }>>, z.ZodNull]>;
        }, z.core.$strict>, z.ZodObject<{
            kind: z.ZodLiteral<"reviewed-policy">;
            policyId: z.ZodString;
            detector: z.ZodPipe<z.ZodObject<{
                id: z.ZodString;
                version: z.ZodString;
            }, z.core.$strict>, z.ZodTransform<{
                id: string;
                version: string;
            }, {
                id: string;
                version: string;
            }>>;
            target: z.ZodDiscriminatedUnion<[z.ZodObject<{
                kind: z.ZodLiteral<"exact">;
                canonicalTarget: z.ZodString;
            }, z.core.$strict>, z.ZodObject<{
                kind: z.ZodLiteral<"glob">;
                canonicalGlob: z.ZodString;
            }, z.core.$strict>], "kind">;
            context: z.ZodObject<{
                kinds: z.ZodArray<z.ZodEnum<{
                    api: "api";
                    cli: "cli";
                    worker: "worker";
                    stream: "stream";
                    filesystem: "filesystem";
                    package: "package";
                    deployment: "deployment";
                    browser: "browser";
                }>>;
                dimensions: z.ZodArray<z.ZodObject<{
                    key: z.ZodString;
                    operator: z.ZodEnum<{
                        equals: "equals";
                        "one-of": "one-of";
                    }>;
                    values: z.ZodArray<z.ZodString>;
                }, z.core.$strict>>;
            }, z.core.$strict>;
            contractVersion: z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
                id: z.ZodString;
                version: z.ZodString;
            }, z.core.$strict>, z.ZodTransform<{
                id: string;
                version: string;
            }, {
                id: string;
                version: string;
            }>>, z.ZodNull]>;
            justification: z.ZodString;
            expiresAt: z.ZodString;
        }, z.core.$strict>], "kind">>;
        reason: z.ZodOptional<z.ZodString>;
    }, z.core.$strict>>>;
}, z.core.$strict>;
export type ReviewDraft = z.infer<typeof reviewDraftSchema>;
export declare const REVIEW_DRAFT_RELATIVE_PATH: ".invariantum/review-draft.json";
export declare function emptyReviewDraft(): ReviewDraft;
//# sourceMappingURL=types.d.ts.map