import { StructuredOutputParser } from 'langchain/output_parsers';
import { z } from 'zod';
/**
 * Structured Output Parser
 * Ensures LLM response follows the format:
 * {
 *   matched_category: string  // One of the provided categories or "None"
 *   match_explanation: string // Brief explanation of the categorization
 * }
 */
declare const categorizeSchema: z.ZodObject<{
    matched_category: z.ZodDefault<z.ZodOptional<z.ZodString>>;
    match_explanation: z.ZodString;
}, "strip", z.ZodTypeAny, {
    matched_category: string;
    match_explanation: string;
}, {
    match_explanation: string;
    matched_category?: string | undefined;
}>;
export type CategorizeOutput = z.infer<typeof categorizeSchema>;
export declare const parser: StructuredOutputParser<z.ZodObject<{
    matched_category: z.ZodDefault<z.ZodOptional<z.ZodString>>;
    match_explanation: z.ZodString;
}, "strip", z.ZodTypeAny, {
    matched_category: string;
    match_explanation: string;
}, {
    match_explanation: string;
    matched_category?: string | undefined;
}>>;
export {};
