import { type ChatOpenAI } from '@langchain/openai';
import { type AIActionMetadata } from '../../../../../../src/lib/llm/openai/types';
import type { BaseCallbackHandler } from "@langchain/core/callbacks/base";
/**
 * Generates a personalized message using LLM with retry logic
 *
 * @param model - OpenAI chat model
 * @param communicationObjective - Purpose of the message
 * @param personalizationInput - Details for message customization
 * @param stakeholder - Target recipient (e.g., Patient, Clinician)
 * @param language - Message language
 * @param metadata - Tracking info for LangSmith
 * @param callbacks - Optional callbacks for LangChain
 * @returns Generated subject and message
 */
export declare const generateMessageWithLLM: ({ model, communicationObjective, personalizationInput, stakeholder, language, metadata, callbacks, }: {
    model: ChatOpenAI;
    communicationObjective: string;
    personalizationInput: string;
    stakeholder: string;
    language: string;
    metadata: AIActionMetadata;
    callbacks?: BaseCallbackHandler[];
}) => Promise<{
    subject: string;
    message: string;
}>;
