import { z } from "zod";
import { type RecordCodec } from "./envelope.js";
export declare const findingTargetSchema: z.ZodObject<{
    kind: z.ZodString;
    canonical: z.ZodString;
}, z.core.$strict>;
export declare const artifactRefSchema: z.ZodObject<{
    relativePath: z.ZodString;
    mediaType: z.ZodString;
    contentHash: z.ZodString;
    redactionState: z.ZodEnum<{
        none: "none";
        partial: "partial";
        full: "full";
    }>;
    dimensions: z.ZodOptional<z.ZodObject<{
        width: z.ZodNumber;
        height: z.ZodNumber;
    }, z.core.$strict>>;
    sourceRunId: z.ZodString;
}, z.core.$strict>;
export declare const detectorRefSchema: z.ZodObject<{
    id: z.ZodString;
    version: z.ZodString;
}, z.core.$strict>;
export declare const FINDING_VERSION: "finding/v1";
export declare const findingSchema: z.ZodObject<{
    id: z.ZodString;
    creationSource: z.ZodObject<{
        runId: z.ZodString;
        component: z.ZodEnum<{
            orchestrator: "orchestrator";
            detector: "detector";
            classifier: "classifier";
            store: "store";
            migration: "migration";
            import: "import";
            manual: "manual";
        }>;
        componentId: z.ZodOptional<z.ZodString>;
    }, z.core.$strict>;
    schemaVersion: z.ZodLiteral<"finding/v1">;
    evidenceFingerprint: z.ZodString;
    detector: z.ZodObject<{
        id: z.ZodString;
        version: z.ZodString;
    }, z.core.$strict>;
    class: z.ZodString;
    lane: z.ZodEnum<{
        blocking: "blocking";
        advisory: "advisory";
        accepted: "accepted";
        resolved: "resolved";
    }>;
    certainty: z.ZodEnum<{
        inferred: "inferred";
        proven: "proven";
        "confirmed-contract": "confirmed-contract";
        "visual-advisory": "visual-advisory";
    }>;
    severity: z.ZodEnum<{
        critical: "critical";
        high: "high";
        medium: "medium";
        low: "low";
        info: "info";
    }>;
    target: z.ZodObject<{
        kind: z.ZodString;
        canonical: z.ZodString;
    }, z.core.$strict>;
    context: z.ZodType<import("./context.js").ExecutionContext, unknown, z.core.$ZodTypeInternals<import("./context.js").ExecutionContext, unknown>>;
    summary: z.ZodString;
    evidence: z.ZodUnknown;
    artifacts: z.ZodArray<z.ZodObject<{
        relativePath: z.ZodString;
        mediaType: z.ZodString;
        contentHash: z.ZodString;
        redactionState: z.ZodEnum<{
            none: "none";
            partial: "partial";
            full: "full";
        }>;
        dimensions: z.ZodOptional<z.ZodObject<{
            width: z.ZodNumber;
            height: z.ZodNumber;
        }, z.core.$strict>>;
        sourceRunId: z.ZodString;
    }, z.core.$strict>>;
    contractIds: z.ZodArray<z.ZodString>;
    firstSeenRunId: z.ZodString;
    lastSeenRunId: z.ZodString;
}, z.core.$strict>;
export type Finding = z.infer<typeof findingSchema>;
export declare const findingCodec: RecordCodec<Finding>;
//# sourceMappingURL=finding.d.ts.map