import { z } from "zod"; export declare const HUB_LENS_NAMES: readonly ["urgency", "impact", "effort", "deadline-risk"]; export type HubLensName = (typeof HUB_LENS_NAMES)[number]; /** * Resolve a hub lens name to its focus fragment. * Returns the catalog entry for a known lens, or a generic non-empty * fallback for any unknown custom string — never throws. */ export declare function resolveHubLensFocus(lens: string): string; /** * Schema for pass-1 relevance verdict (general and decision scopes). * For decision scope: relevantTo disambiguates which option the finding supports. */ export declare const RelevanceVerdictSchema: z.ZodObject<{ relevant: z.ZodBoolean; relevantTo: z.ZodOptional>; reason: z.ZodOptional; }, "strip", z.ZodTypeAny, { relevant: boolean; relevantTo?: "optionA" | "optionB" | "both" | "neither" | undefined; reason?: string | undefined; }, { relevant: boolean; relevantTo?: "optionA" | "optionB" | "both" | "neither" | undefined; reason?: string | undefined; }>; export type RelevanceVerdict = z.infer; /** * Schema for pass-2 per-lens score/vote. * include=true counts as a pass-vote; include=false counts as fail-vote. * score (0-10) contributes to aggregate score for final ordering. * An unparseable lens response is treated as { include: false, score: 0 } (fail-closed). */ export declare const LensScoreSchema: z.ZodObject<{ include: z.ZodBoolean; score: z.ZodNumber; reason: z.ZodOptional; }, "strip", z.ZodTypeAny, { include: boolean; score: number; reason?: string | undefined; }, { include: boolean; score: number; reason?: string | undefined; }>; export type LensScore = z.infer; /** * Parse a raw LLM text into a RelevanceVerdict. * Returns null on parse failure (fail-closed: treated as irrelevant / no-vote). * NEVER throws. */ export declare function validateRelevanceVerdict(rawText: string): RelevanceVerdict | null; /** * Parse a raw LLM text into a LensScore. * Returns null on parse failure (fail-closed: contributes to failCount, score=0). * NEVER throws. */ export declare function validateLensScore(rawText: string): LensScore | null; //# sourceMappingURL=lenses.d.ts.map