import { z } from "zod"; declare const clarificationSchema: z.ZodDiscriminatedUnion<"needsClarification", [z.ZodObject<{ needsClarification: z.ZodLiteral; reason: z.ZodString; suggestedDescription: z.ZodNullable; clarificationMessage: z.ZodNullable; underspecificationType: z.ZodNull; }, "strip", z.ZodTypeAny, { reason: string; underspecificationType: null; needsClarification: false; suggestedDescription: string | null; clarificationMessage: string | null; }, { reason: string; underspecificationType: null; needsClarification: false; suggestedDescription: string | null; clarificationMessage: string | null; }>, z.ZodObject<{ needsClarification: z.ZodLiteral; reason: z.ZodString; suggestedDescription: z.ZodString; clarificationMessage: z.ZodString; underspecificationType: z.ZodEnum<["missing_constituent", "missing_constraint", "open_alternative_set"]>; }, "strip", z.ZodTypeAny, { reason: string; underspecificationType: "missing_constituent" | "missing_constraint" | "open_alternative_set"; needsClarification: true; suggestedDescription: string; clarificationMessage: string; }, { reason: string; underspecificationType: "missing_constituent" | "missing_constraint" | "open_alternative_set"; needsClarification: true; suggestedDescription: string; clarificationMessage: string; }>]>; export type IntentClarifierOutput = z.infer; export declare class IntentClarifier { private readonly model; private readonly suggestionModel; private readonly clarificationDraftModel; constructor(); /** Build the shared user prompt with intent, profile, and active-intent context. */ private buildPrompt; invoke(description: string, profileContext: string, activeIntentsContext: string): Promise; private generateSuggestion; private generateClarificationDraft; } export {};