import { LLMOptions, LLMResponse, OpenAIModel, OpenAIResponseFormat } from '../types'; import { ChatCompletionContentPart } from 'openai/resources/chat'; import { Tool } from 'openai/resources/responses/responses'; /** * Makes a call to the Lumic LLM interface, automatically routing to the correct * provider based on the model name. * * Supported providers: * - OpenAI: gpt-5.4, gpt-5.4-mini, gpt-5.4-nano, gpt-5, gpt-5-mini, gpt-4.1, gpt-4.1-mini, gpt-4.1-nano, o1, o1-mini, o3, o3-mini, o4-mini * - Anthropic: claude-opus-4-6, claude-sonnet-4-6, claude-haiku-4-5 * - Deepseek: deepseek-chat, deepseek-reasoner * - Kimi (Moonshot): kimi-k2-0905-preview, kimi-k2-turbo-preview, kimi-k2-thinking, kimi-k2-thinking-turbo * - Qwen (DashScope): qwen3.5-plus, qwen3.5-flash, qwen3-max * - xAI (Grok): grok-4, grok-4-fast-reasoning, grok-4-fast-non-reasoning, grok-3, grok-3-mini * - Gemini: gemini-3.1-pro-preview, gemini-3-flash-preview, gemini-3.1-flash-lite-preview * * @param content The content to pass to the LLM. * @param responseFormat The format of the response. Defaults to 'text'. * @param options The options for the LLM call. Defaults to an empty object. * @return A promise that resolves to the response from the LLM. */ export declare function makeLLMCall(content: string | ChatCompletionContentPart[], responseFormat?: OpenAIResponseFormat, options?: LLMOptions): Promise>; /** * Makes a call to the OpenAI Responses API for advanced use cases with built-in tools. * This is an OpenAI-specific API and only works with OpenAI models. * * @param input The text prompt to send to the model (e.g., "What's in this image?") * @param options The options for the Responses API call, including optional image data. * @return A promise that resolves to the response from the Responses API. */ export declare function makeResponsesCall(input: string, options?: { apiKey?: string; model?: OpenAIModel; responseFormat?: 'text' | 'json'; tools?: Tool[]; useCodeInterpreter?: boolean; useWebSearch?: boolean; imageBase64?: string; imageDetail?: 'low' | 'high' | 'auto'; }): Promise>;