import { z } from 'zod';
export declare const RubricDimensionSchema: z.ZodObject<{
    id: z.ZodString;
    description: z.ZodString;
    weight: z.ZodDefault<z.ZodNumber>;
    min: z.ZodDefault<z.ZodNumber>;
    max: z.ZodDefault<z.ZodNumber>;
}, z.core.$strip>;
export declare const FailureModeSchema: z.ZodObject<{
    id: z.ZodString;
    description: z.ZodString;
}, z.core.$strip>;
export declare const RubricSchema: z.ZodObject<{
    name: z.ZodString;
    description: z.ZodString;
    systemPrompt: z.ZodString;
    dimensions: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        description: z.ZodString;
        weight: z.ZodDefault<z.ZodNumber>;
        min: z.ZodDefault<z.ZodNumber>;
        max: z.ZodDefault<z.ZodNumber>;
    }, z.core.$strip>>;
    failureModes: z.ZodDefault<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        description: z.ZodString;
    }, z.core.$strip>>>;
    wins: z.ZodDefault<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        description: z.ZodString;
    }, z.core.$strip>>>;
}, z.core.$strip>;
export declare const JudgeRequestSchema: z.ZodObject<{
    rubricName: z.ZodOptional<z.ZodString>;
    rubric: z.ZodOptional<z.ZodObject<{
        name: z.ZodString;
        description: z.ZodString;
        systemPrompt: z.ZodString;
        dimensions: z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            description: z.ZodString;
            weight: z.ZodDefault<z.ZodNumber>;
            min: z.ZodDefault<z.ZodNumber>;
            max: z.ZodDefault<z.ZodNumber>;
        }, z.core.$strip>>;
        failureModes: z.ZodDefault<z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            description: z.ZodString;
        }, z.core.$strip>>>;
        wins: z.ZodDefault<z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            description: z.ZodString;
        }, z.core.$strip>>>;
    }, z.core.$strip>>;
    content: z.ZodString;
    context: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    model: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const JudgeResultSchema: z.ZodObject<{
    composite: z.ZodNumber;
    dimensions: z.ZodRecord<z.ZodString, z.ZodNumber>;
    failureModes: z.ZodDefault<z.ZodArray<z.ZodString>>;
    wins: z.ZodDefault<z.ZodArray<z.ZodString>>;
    rationale: z.ZodString;
    rubricVersion: z.ZodString;
    model: z.ZodString;
    durationMs: z.ZodNumber;
}, z.core.$strip>;
export declare const RubricInfoSchema: z.ZodObject<{
    name: z.ZodString;
    description: z.ZodString;
    dimensions: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        description: z.ZodString;
        weight: z.ZodNumber;
    }, z.core.$strip>>;
    failureModes: z.ZodDefault<z.ZodArray<z.ZodString>>;
    rubricVersion: z.ZodString;
}, z.core.$strip>;
export declare const ListRubricsResponseSchema: z.ZodObject<{
    rubrics: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        description: z.ZodString;
        dimensions: z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            description: z.ZodString;
            weight: z.ZodNumber;
        }, z.core.$strip>>;
        failureModes: z.ZodDefault<z.ZodArray<z.ZodString>>;
        rubricVersion: z.ZodString;
    }, z.core.$strip>>;
}, z.core.$strip>;
export declare const VersionResponseSchema: z.ZodObject<{
    package: z.ZodString;
    version: z.ZodString;
    wireVersion: z.ZodString;
    apiSurface: z.ZodArray<z.ZodString>;
}, z.core.$strip>;
export declare const HealthResponseSchema: z.ZodObject<{
    status: z.ZodLiteral<"ok">;
    uptimeSec: z.ZodNumber;
}, z.core.$strip>;
/**
 * Minimal `TraceEvent` shape that the production runtime emits.
 * Matches `trace/schema.ts` `TraceEvent` but is duplicated here as a
 * wire schema so non-TypeScript clients can validate without depending
 * on internal types.
 */
export declare const TraceEventSchema: z.ZodObject<{
    eventId: z.ZodString;
    runId: z.ZodString;
    spanId: z.ZodOptional<z.ZodString>;
    kind: z.ZodEnum<{
        policy_violation: "policy_violation";
        custom: "custom";
        error: "error";
        log: "log";
        budget_decrement: "budget_decrement";
        budget_breach: "budget_breach";
        state_mutation: "state_mutation";
        redaction_applied: "redaction_applied";
    }>;
    timestamp: z.ZodNumber;
    payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
}, z.core.$strip>;
export declare const TracesIngestRequestSchema: z.ZodObject<{
    events: z.ZodArray<z.ZodObject<{
        eventId: z.ZodString;
        runId: z.ZodString;
        spanId: z.ZodOptional<z.ZodString>;
        kind: z.ZodEnum<{
            policy_violation: "policy_violation";
            custom: "custom";
            error: "error";
            log: "log";
            budget_decrement: "budget_decrement";
            budget_breach: "budget_breach";
            state_mutation: "state_mutation";
            redaction_applied: "redaction_applied";
        }>;
        timestamp: z.ZodNumber;
        payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export declare const TracesIngestResponseSchema: z.ZodObject<{
    accepted: z.ZodNumber;
    rejected: z.ZodNumber;
    errors: z.ZodDefault<z.ZodArray<z.ZodObject<{
        eventId: z.ZodString;
        message: z.ZodString;
    }, z.core.$strip>>>;
}, z.core.$strip>;
export declare const FeedbackLabelSchema: z.ZodObject<{
    id: z.ZodOptional<z.ZodString>;
    source: z.ZodEnum<{
        judge: "judge";
        system: "system";
        user: "user";
        policy: "policy";
        environment: "environment";
        metric: "metric";
    }>;
    kind: z.ZodEnum<{
        approve: "approve";
        reject: "reject";
        select: "select";
        edit: "edit";
        rank: "rank";
        rate: "rate";
        comment: "comment";
        metric_outcome: "metric_outcome";
        policy_block: "policy_block";
        revision_request: "revision_request";
    }>;
    value: z.ZodUnknown;
    reason: z.ZodOptional<z.ZodString>;
    severity: z.ZodOptional<z.ZodEnum<{
        error: "error";
        info: "info";
        critical: "critical";
        warning: "warning";
    }>>;
    createdAt: z.ZodString;
    metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, z.core.$strip>;
export declare const FeedbackAttemptSchema: z.ZodObject<{
    id: z.ZodString;
    stepIndex: z.ZodNumber;
    artifactType: z.ZodEnum<{
        action: "action";
        decision: "decision";
        text: "text";
        code: "code";
        plan: "plan";
        research: "research";
        ui: "ui";
        data: "data";
        other: "other";
    }>;
    artifact: z.ZodUnknown;
    options: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
    proposedAction: z.ZodOptional<z.ZodObject<{
        type: z.ZodString;
        risk: z.ZodOptional<z.ZodEnum<{
            medium: "medium";
            low: "low";
            high: "high";
        }>>;
        costUsd: z.ZodOptional<z.ZodNumber>;
        externalSideEffect: z.ZodOptional<z.ZodBoolean>;
        requiresApproval: z.ZodOptional<z.ZodBoolean>;
        metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    }, z.core.$strip>>;
    feedback: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodOptional<z.ZodString>;
        source: z.ZodEnum<{
            judge: "judge";
            system: "system";
            user: "user";
            policy: "policy";
            environment: "environment";
            metric: "metric";
        }>;
        kind: z.ZodEnum<{
            approve: "approve";
            reject: "reject";
            select: "select";
            edit: "edit";
            rank: "rank";
            rate: "rate";
            comment: "comment";
            metric_outcome: "metric_outcome";
            policy_block: "policy_block";
            revision_request: "revision_request";
        }>;
        value: z.ZodUnknown;
        reason: z.ZodOptional<z.ZodString>;
        severity: z.ZodOptional<z.ZodEnum<{
            error: "error";
            info: "info";
            critical: "critical";
            warning: "warning";
        }>>;
        createdAt: z.ZodString;
        metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    }, z.core.$strip>>>;
    createdAt: z.ZodString;
    metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, z.core.$strip>;
export declare const FeedbackTrajectorySchema: z.ZodObject<{
    id: z.ZodString;
    projectId: z.ZodOptional<z.ZodString>;
    scenarioId: z.ZodOptional<z.ZodString>;
    task: z.ZodObject<{
        intent: z.ZodString;
        context: z.ZodOptional<z.ZodUnknown>;
    }, z.core.$strip>;
    attempts: z.ZodDefault<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        stepIndex: z.ZodNumber;
        artifactType: z.ZodEnum<{
            action: "action";
            decision: "decision";
            text: "text";
            code: "code";
            plan: "plan";
            research: "research";
            ui: "ui";
            data: "data";
            other: "other";
        }>;
        artifact: z.ZodUnknown;
        options: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
        proposedAction: z.ZodOptional<z.ZodObject<{
            type: z.ZodString;
            risk: z.ZodOptional<z.ZodEnum<{
                medium: "medium";
                low: "low";
                high: "high";
            }>>;
            costUsd: z.ZodOptional<z.ZodNumber>;
            externalSideEffect: z.ZodOptional<z.ZodBoolean>;
            requiresApproval: z.ZodOptional<z.ZodBoolean>;
            metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        }, z.core.$strip>>;
        feedback: z.ZodOptional<z.ZodArray<z.ZodObject<{
            id: z.ZodOptional<z.ZodString>;
            source: z.ZodEnum<{
                judge: "judge";
                system: "system";
                user: "user";
                policy: "policy";
                environment: "environment";
                metric: "metric";
            }>;
            kind: z.ZodEnum<{
                approve: "approve";
                reject: "reject";
                select: "select";
                edit: "edit";
                rank: "rank";
                rate: "rate";
                comment: "comment";
                metric_outcome: "metric_outcome";
                policy_block: "policy_block";
                revision_request: "revision_request";
            }>;
            value: z.ZodUnknown;
            reason: z.ZodOptional<z.ZodString>;
            severity: z.ZodOptional<z.ZodEnum<{
                error: "error";
                info: "info";
                critical: "critical";
                warning: "warning";
            }>>;
            createdAt: z.ZodString;
            metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        }, z.core.$strip>>>;
        createdAt: z.ZodString;
        metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    }, z.core.$strip>>>;
    labels: z.ZodDefault<z.ZodArray<z.ZodObject<{
        id: z.ZodOptional<z.ZodString>;
        source: z.ZodEnum<{
            judge: "judge";
            system: "system";
            user: "user";
            policy: "policy";
            environment: "environment";
            metric: "metric";
        }>;
        kind: z.ZodEnum<{
            approve: "approve";
            reject: "reject";
            select: "select";
            edit: "edit";
            rank: "rank";
            rate: "rate";
            comment: "comment";
            metric_outcome: "metric_outcome";
            policy_block: "policy_block";
            revision_request: "revision_request";
        }>;
        value: z.ZodUnknown;
        reason: z.ZodOptional<z.ZodString>;
        severity: z.ZodOptional<z.ZodEnum<{
            error: "error";
            info: "info";
            critical: "critical";
            warning: "warning";
        }>>;
        createdAt: z.ZodString;
        metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    }, z.core.$strip>>>;
    outcome: z.ZodOptional<z.ZodObject<{
        success: z.ZodOptional<z.ZodBoolean>;
        score: z.ZodOptional<z.ZodNumber>;
        metrics: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        costUsd: z.ZodOptional<z.ZodNumber>;
        detail: z.ZodOptional<z.ZodString>;
        observedAt: z.ZodOptional<z.ZodString>;
        metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    }, z.core.$strip>>;
    split: z.ZodOptional<z.ZodEnum<{
        train: "train";
        dev: "dev";
        test: "test";
        holdout: "holdout";
    }>>;
    tags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    createdAt: z.ZodString;
    updatedAt: z.ZodOptional<z.ZodString>;
    metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, z.core.$strip>;
export declare const FeedbackIngestResponseSchema: z.ZodObject<{
    id: z.ZodString;
    persisted: z.ZodBoolean;
}, z.core.$strip>;
export type TraceEvent = z.infer<typeof TraceEventSchema>;
export type TracesIngestRequest = z.infer<typeof TracesIngestRequestSchema>;
export type TracesIngestResponse = z.infer<typeof TracesIngestResponseSchema>;
export type FeedbackTrajectory = z.infer<typeof FeedbackTrajectorySchema>;
export type FeedbackIngestResponse = z.infer<typeof FeedbackIngestResponseSchema>;
export declare const ErrorResponseSchema: z.ZodObject<{
    error: z.ZodObject<{
        code: z.ZodString;
        message: z.ZodString;
        details: z.ZodOptional<z.ZodUnknown>;
    }, z.core.$strip>;
}, z.core.$strip>;
export type RubricDimension = z.infer<typeof RubricDimensionSchema>;
export type FailureMode = z.infer<typeof FailureModeSchema>;
export type Rubric = z.infer<typeof RubricSchema>;
export type JudgeRequest = z.infer<typeof JudgeRequestSchema>;
export type JudgeResult = z.infer<typeof JudgeResultSchema>;
export type RubricInfo = z.infer<typeof RubricInfoSchema>;
export type ListRubricsResponse = z.infer<typeof ListRubricsResponseSchema>;
export type VersionResponse = z.infer<typeof VersionResponseSchema>;
export type ErrorResponse = z.infer<typeof ErrorResponseSchema>;
/**
 * Bump on any breaking change to a request/response schema.
 * Non-breaking (additive) changes don't require a bump.
 */
export declare const WIRE_VERSION = "1.0.0";
/**
 * Stable hash of a rubric. Used to make scores comparable across runs:
 * if the rubricVersion matches, the rubric was identical.
 */
export declare function hashRubric(rubric: Rubric): string;
//# sourceMappingURL=schemas.d.ts.map