import Logger from "./index";
import { NaturalResponseOptions } from "../types";
import { SupportedLanguage } from "./i18n";
/**
 * Clase ResponseFormatter que maneja la generación de respuestas naturales
 * a partir de resultados SQL
 */
export declare class ResponseFormatter {
    private openai;
    private logger;
    private model;
    private i18n;
    private businessContext;
    private responseStyleInstruction;
    constructor(apiKey: string, model?: string, language?: SupportedLanguage, logger?: Logger, businessContext?: string, responseStyleInstruction?: string, lightModel?: string);
    /**
     * Cambia el idioma del formateador
     */
    setLanguage(language: SupportedLanguage): void;
    /**
     * Genera una explicación elaborada en lenguaje natural de los resultados SQL
     * @param sql - Consulta SQL ejecutada
     * @param results - Resultados de la consulta SQL
     * @param options - Opciones de configuración
     * @returns Explicación en lenguaje natural con formato markdown
     */
    generateNaturalResponse(sql: string, results: any[] | Record<string, any>, options?: NaturalResponseOptions): Promise<string>;
    /**
     * Genera un stream de explicación en lenguaje natural a partir de los resultados de base de datos
     */
    generateNaturalResponseStream(sql: string, results: any[] | Record<string, any>, options?: NaturalResponseOptions): AsyncGenerator<string, void, unknown>;
    /**
     * Genera un prompt para respuestas simples y directas
     */
    private generateSimplePrompt;
    /**
     * Genera un prompt para respuestas elaboradas y analíticas
     */
    private generateDetailedPrompt;
    /**
     * Genera respuestas simples para casos comunes sin usar el modelo
     */
    generateSimpleResponse(sql: string, results: any[] | Record<string, any>): string | null;
}
export default ResponseFormatter;
