/** * Model-agnostic LLM service. * * Single entry point for all LLM calls in the application. * Automatically detects the provider from the model name and * routes to the appropriate SDK (OpenAI, Anthropic, or any * OpenAI-compatible provider). * * Usage: * import { callLLM, hasLLMApiKey } from '../services/llm'; * const response = await callLLM({ model, messages, tools, max_tokens }); * console.log(response.content, response.tool_calls); */ import type { LLMOptions, LLMResponse } from './types'; export type { LLMOptions, LLMResponse, LLMProvider, ChatMessage, ToolDefinition, ToolCall, ContentPart, TextContent, ImageUrlContent, ProviderName, } from './types'; export { detectProvider } from './detect'; /** * Call an LLM with model-agnostic options. * * The provider is auto-detected from the model name: * - gpt-*, o1-*, o3-*, o4-* → OpenAI * - claude-* → Anthropic * - others → OpenAI-compatible (respects LT_LLM_BASE_URL) * * Messages, tools, and responses use OpenAI's format as the canonical * representation. Translation to/from other providers happens internally. */ export declare function callLLM(options: LLMOptions): Promise; /** * Check if the required API key is available for a given model. * Useful for conditional feature enablement (e.g., skip LLM compilation * when no key is configured). */ export declare function hasLLMApiKey(model?: string): boolean;