import type { BaseLanguageModelInput } from '@langchain/core/language_models/base'; import { z } from 'zod'; import type { HydeSourceFrame } from './hyde.frame.js'; import type { HydeTargetCorpus } from './lens.inferrer.js'; export interface HydeValidationDocument { corpus: HydeTargetCorpus; text: string; } export interface HydeValidationInput { sourceText: string; sourceFrame: HydeSourceFrame; /** Generated documents keyed by opaque caller-supplied identifiers. */ documents: Record; } export interface HydeValidationVerdict { key: string; valid: boolean; unsupportedNamedEntities: string[]; unsupportedHardConstraints: string[]; reasoning: string; } export interface HydeValidationOutput { verdicts: HydeValidationVerdict[]; } /** Structured-output schema for a single batch validation response. */ export declare const HydeValidationResponseSchema: z.ZodObject<{ verdicts: z.ZodArray; unsupportedHardConstraints: z.ZodArray; reasoning: z.ZodString; }, "strip", z.ZodTypeAny, { reasoning: string; valid: boolean; key: string; unsupportedNamedEntities: string[]; unsupportedHardConstraints: string[]; }, { reasoning: string; valid: boolean; key: string; unsupportedNamedEntities: string[]; unsupportedHardConstraints: string[]; }>, "many">; }, "strip", z.ZodTypeAny, { verdicts: { reasoning: string; valid: boolean; key: string; unsupportedNamedEntities: string[]; unsupportedHardConstraints: string[]; }[]; }, { verdicts: { reasoning: string; valid: boolean; key: string; unsupportedNamedEntities: string[]; unsupportedHardConstraints: string[]; }[]; }>; /** Build a profile-free batch validation prompt. */ export declare function buildHydeValidationPrompt(input: HydeValidationInput): string; /** Minimal structured model contract used for deterministic injection in tests. */ export interface HydeValidatorStructuredModel { invoke(input: BaseLanguageModelInput, config?: { signal?: AbortSignal; }): Promise; } /** Production structured-model batch validator for frame-v1 HyDE documents. */ export declare class HydeValidator { private model?; constructor(model?: HydeValidatorStructuredModel); private getModel; /** Validate all generated documents in one structured-model call. */ validate(input: HydeValidationInput): Promise; }