import { ChatCompletionContentPart } from "openai/resources/chat"; import { LLMResponse, LLMOptions, OpenAIResponseFormat } from "../types"; import { ResponseCreateParamsNonStreaming } from "openai/resources/responses/responses"; export declare const DEFAULT_OPTIONS: LLMOptions; /** * Checks if the given model supports the temperature parameter. Reasoning models (o1*, o3*, o4*) do not support temperature. * @param model The model to check. * @returns True if the model supports the temperature parameter, false otherwise. */ export declare function supportsTemperature(model: string): boolean; /** * Checks if the given model is a reasoning model. Reasoning models have different tool choice constraints. * @param model The model to check. * @returns True if the model is a reasoning model, false otherwise. */ export declare function isReasoningModel(model: string): boolean; /** * Makes a call to the Lumic LLM interface, either to the default model or to one specified. * * @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 const makeOpenAIChatCompletionCall: (content: string | ChatCompletionContentPart[], responseFormat?: OpenAIResponseFormat, options?: LLMOptions) => Promise>; /** * Makes a call to OpenAI's Responses API for more advanced use cases with built-in tools. * * This function provides access to the Responses API which supports: * - Built-in tools (web search, file search, computer use, code interpreter, image generation) * - Background processing * - Conversation state management * - Reasoning support for o-series models * * @example * // Basic text response * const response = await makeResponsesAPICall('What is the weather like?'); * * @example * // With web search tool * const response = await makeResponsesAPICall('Latest news about AI', { * tools: [{ type: 'web_search_preview' }] * }); * * @param input - The input content. Can be: * - A string for simple text prompts * - An array of input items for complex/multi-modal content * @param options - Configuration options for the Responses API * @returns Promise> - The response in the same format as makeOpenAIChatCompletionCall * @throws Error if the API call fails */ export declare const makeResponsesAPICall: (input: string | ResponseCreateParamsNonStreaming["input"], options?: Omit & { apiKey?: string; model?: string; timeout?: number; }) => Promise>;