import { type QuestionGenerationResult } from "../domain/question.schema.js"; import { createStructuredModel } from "../../shared/agent/model.config.js"; import { type QuestionerInput } from "./question.input.js"; export interface QuestionerAgentConfig { /** Optional model config override. */ modelConfig?: Parameters[3]; } /** * Stateless question-generation agent. Accepts a `QuestionerInput` envelope, * selects the preset for the given mode, invokes the LLM, and applies * guardrails (dedup + strategy diversity). */ export declare class QuestionerAgent { private model; constructor(config?: QuestionerAgentConfig); /** * Generate up to 3 decision questions from the given input. * * @param input Envelope with mode, userId, source info, and mode-specific context. * @param options.signal Optional AbortSignal to cancel the in-flight LLM call. * @returns A result with parallel questions[] and strategies[] arrays, * or null when generation failed, guardrails dropped all candidates, * the LLM threw, or the call was aborted. */ invoke(input: QuestionerInput, options?: { signal?: AbortSignal; }): Promise; }