import { Embeddings, EmbeddingsParams } from "@langchain/core/embeddings";
/**
 * Interfaz para los parámetros del modelo de embeddings
 */
export interface NvidiaEmbeddingsParams extends EmbeddingsParams {
    /** Clave API para NVIDIA Llama4 */
    apiKey: string;
    /** URL base para la API de embeddings */
    baseUrl?: string;
    /** Modelo de embeddings a usar */
    model?: string;
    /** Tipo de input (query o document) */
    inputType?: string;
    /** Formato de codificación (float) */
    encodingFormat?: string;
    /** Truncar texto (NONE, START, END) */
    truncate?: string;
    /** Número máximo de reintentos */
    maxRetries?: number;
    /** Temperatura para la generación de embeddings (0-1) */
    temperature?: number;
}
/**
 * Tipo de entrada para el modelo de embeddings
 */
export type NvidiaEmbeddingsInput = NvidiaEmbeddingsParams;
/**
 * Implementación de Embeddings de NVIDIA para LangChain
 */
export declare class NvidiaEmbeddings extends Embeddings {
    apiKey: string;
    baseUrl: string;
    modelName: string;
    inputType: string;
    encodingFormat: string;
    truncate: string;
    maxRetries: number;
    defaultOptions: Record<string, unknown>;
    constructor(fields: NvidiaEmbeddingsParams);
    /**
     * Método para realizar la llamada a la API con reintentos
     */
    private embeddingWithRetry;
    /**
     * Generar embedding para un solo texto
     */
    embedQuery(text: string): Promise<number[]>;
    /**
     * Generar embeddings para múltiples textos
     */
    embedDocuments(documents: string[]): Promise<number[][]>;
}
