import { BaseLLM, BaseLLMCallOptions, BaseLLMParams } from "@langchain/core/language_models/llms";
import { CallbackManagerForLLMRun } from "@langchain/core/callbacks/manager";
import { GenerationChunk } from "@langchain/core/outputs";
import { NvidiaCamelCaseOptions } from "./utils.js";
/**
 * Interfaz para las opciones de entrada del modelo
 */
export interface NvidiaLlama4Input extends BaseLLMParams, NvidiaCamelCaseOptions {
    /** Clave API para NVIDIA Llama4 */
    apiKey: string;
    /** URL para las llamadas a la API */
    baseUrl?: string;
    /** El modelo a utilizar */
    model?: string;
    /** Habilitar streaming */
    streaming?: boolean;
}
/**
 * Interfaz para las opciones de llamada
 */
export interface NvidiaLlama4CallOptions extends BaseLLMCallOptions, NvidiaCamelCaseOptions {
    /** Lista de URLs de imágenes en formato base64 para entrada multimodal */
    images?: string[];
}
/**
 * Implementación del modelo de lenguaje NVIDIA Llama4 para LangChain
 */
export declare class NvidiaLlama4 extends BaseLLM<NvidiaLlama4CallOptions> {
    apiKey: string;
    baseUrl: string;
    modelName: string;
    defaultOptions: NvidiaCamelCaseOptions;
    streaming: boolean;
    static lc_name(): string;
    constructor(fields: NvidiaLlama4Input);
    _llmType(): string;
    /**
     * Obtiene los parámetros para la llamada a la API
     */
    private getParams;
    /**
     * Genera una respuesta sincrónica (no streaming)
     */
    _generate(prompts: string[], options: NvidiaLlama4CallOptions): Promise<{
        generations: {
            text: any;
            generationInfo: {
                finishReason: any;
                tokenUsage: any;
            };
        }[][];
    }>;
    /**
     * Procesa la respuesta de streaming de la API
     */
    _streamResponseChunks(prompt: string, options: NvidiaLlama4CallOptions, runManager?: CallbackManagerForLLMRun): AsyncGenerator<GenerationChunk>;
    /**
     * Implementación del método _call requerido para LLMs
     */
    _call(prompt: string, options: NvidiaLlama4CallOptions): Promise<string>;
}
