import { LLM } from '../../agents/providers.js'; import type { OpenAILLMModel } from './models.js'; /** Options for {@link OpenAILLM}. */ export type OpenAILLMOptions = { /** OpenAI API key. Defaults to the `OPENAI_API_KEY` environment variable. */ apiKey?: string; /** Model id. Default `'gpt-5.4-nano'`. */ model?: OpenAILLMModel | string; /** Sampling temperature; higher is more random. Default `0.7`. */ temperature?: number; /** Maximum number of tokens to generate. Default `1024`. */ maxOutputTokens?: number; /** Nucleus sampling probability mass (0-1). Default `null`. */ topP?: number | null; /** Penalizes new tokens by their frequency so far (-2.0 to 2.0). Default `null`. */ frequencyPenalty?: number | null; /** Penalizes new tokens by whether they appear so far (-2.0 to 2.0). Default `null`. */ presencePenalty?: number | null; /** Seed for deterministic sampling. Default `null`. */ seed?: number | null; /** Output format specification, e.g. `{ type: 'json_object' }`. Default `null`. */ responseFormat?: Record | null; /** Controls tool selection, e.g. `'none'`, `'auto'`, `'required'`, or a tool name. Default `null`. */ toolChoice?: string | null; /** Whether to allow multiple tool calls to run in parallel. Default `null`. */ parallelToolCalls?: boolean | null; /** Stop sequence(s) at which generation halts. Default `null`. */ stop?: string | null; /** Stable identifier for the end user, used for abuse monitoring. Default `null`. */ user?: string | null; /** Reasoning effort for reasoning-capable models, e.g. `'none'`, `'low'`, `'medium'`, `'high'`. Default `null`. */ reasoningEffort?: string | null; /** Response verbosity for capable models, e.g. `'low'`, `'medium'`, `'high'`. Default `null`. */ verbosity?: string | null; /** Stream tokens from the model. Default `false`. */ streaming?: boolean; /** Override the realtime websocket URL. Default `null`. */ wssUrl?: string | null; /** Whether OpenAI may store the request/response for later retrieval. Default `true`. */ store?: boolean; /** Additional provider options are accepted and forwarded for forward compatibility. */ [key: string]: any; }; declare class OpenAILLMImpl extends LLM { static readonly displayName = "OpenAILLM"; _providerName: string; apiKey?: string; model: string; temperature: number; maxOutputTokens: number; topP: number | null; frequencyPenalty: number | null; presencePenalty: number | null; seed: number | null; responseFormat: Record | null; toolChoice: string | null; parallelToolCalls: boolean | null; stop: string | null; user: string | null; reasoningEffort: string | null; verbosity: string | null; streaming: boolean; wssUrl: string | null; store: boolean; constructor(opts?: OpenAILLMOptions); getRuntimeConfig(): Record; } export type OpenAILLM = OpenAILLMImpl; /** OpenAI large language model (LLM). */ export declare const OpenAILLM: (opts?: OpenAILLMOptions) => OpenAILLM; export {};