/** Registry key for OUTPUT_SCHEMA_REGISTRY (adapter-side validation). */ export declare const REUSE_EVALUATION_OUTPUT_SCHEMA_REF = "reuse-evaluation-output-v1"; export declare const ReuseEvaluationRecommendationSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"reuse">, import("@sinclair/typebox").TLiteral<"create">, import("@sinclair/typebox").TLiteral<"uncertain">]>; export interface ReuseEvaluationOutputV1 { /** A RECOMMENDATION for the Owner — never a decision. */ recommendation: 'reuse' | 'create' | 'uncertain'; /** REQUIRED when recommendation=reuse; FORBIDDEN when uncertain. */ selectedPrincipleId?: string; rationale: string; confidence: number; } export declare const ReuseEvaluationOutputV1Schema: import("@sinclair/typebox").TObject<{ recommendation: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"reuse">, import("@sinclair/typebox").TLiteral<"create">, import("@sinclair/typebox").TLiteral<"uncertain">]>; selectedPrincipleId: import("@sinclair/typebox").TOptional; rationale: import("@sinclair/typebox").TString; confidence: import("@sinclair/typebox").TNumber; }>; export type ReuseEvaluationValidation = { ok: true; output: ReuseEvaluationOutputV1; } | { ok: false; reason: string; }; /** * Runtime validation for the evaluation output (rc-1/rc-2/rc-3). * * Pure function, never throws. Returns the FIRST failure reason: * - non-object input → `evaluation_is_not_an_object` * - any key outside the closed field set → `unknown_field:` (T7a) * - schema violation (bad recommendation value, empty rationale, * confidence out of [0,1], empty/non-string selectedPrincipleId) → * `schema_validation_failed:
` * - `recommendation=reuse` without `selectedPrincipleId` → * `reuse_without_principle_id` * - `recommendation=uncertain` WITH `selectedPrincipleId` → * `uncertain_with_principle_id` */ export declare function validateReuseEvaluationOutput(raw: unknown): ReuseEvaluationValidation; //# sourceMappingURL=reuse-evaluation-output.d.ts.map