import { type LLMReporterInterface } from '../../utilities/reporter'; import { OpenAIModelNames } from '../../providers/OpenAI/OpenAI.typedefs'; import { OpenAIAssistanceService, OpenAICompletionService, OpenAISpeechToTextService, OpenAITextToSpeechService } from './services'; /** * Pricing and model info: https://platform.openai.com/docs/pricing?latest-pricing=standard */ export declare const OPEN_AI_AVAILABLE_MODELS: { readonly "gpt-4.1": { readonly name: OpenAIModelNames.GPT_4_1; readonly limits: { readonly maxInputTokens: 1047576; readonly maxOutputTokens: 32768; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: false; readonly webSearch: false; }; }; readonly "gpt-4.1-mini": { readonly name: OpenAIModelNames.GPT_4_1_MINI; readonly limits: { readonly maxInputTokens: 1047576; readonly maxOutputTokens: 32768; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: false; readonly webSearch: false; }; }; readonly "gpt-4.1-nano": { readonly name: OpenAIModelNames.GPT_4_1_NANO; readonly limits: { readonly maxInputTokens: 1047576; readonly maxOutputTokens: 32768; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: false; readonly webSearch: false; }; }; readonly "gpt-5": { readonly name: OpenAIModelNames.GPT_5; readonly limits: { readonly maxInputTokens: 400000; readonly maxOutputTokens: 128000; }; readonly config: { readonly temperature: 1; readonly reasoning_effort: "minimal"; readonly verbosity: "medium"; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: true; readonly webSearch: true; }; }; readonly "gpt-5.1": { readonly name: OpenAIModelNames.GPT_5_1; readonly limits: { readonly maxInputTokens: 400000; readonly maxOutputTokens: 128000; }; readonly config: { readonly temperature: 1; readonly reasoning_effort: "none"; readonly verbosity: "medium"; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: true; readonly webSearch: true; }; }; readonly "gpt-5.2": { readonly name: OpenAIModelNames.GPT_5_2; readonly limits: { readonly maxInputTokens: 400000; readonly maxOutputTokens: 128000; }; readonly config: { readonly temperature: 1; readonly reasoning_effort: "none"; readonly verbosity: "medium"; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: true; readonly webSearch: true; }; }; readonly "gpt-5.4": { readonly name: OpenAIModelNames.GPT_5_4; readonly limits: { readonly maxInputTokens: 1050000; readonly maxOutputTokens: 128000; }; readonly config: { readonly temperature: 1; readonly reasoning_effort: "none"; readonly verbosity: "medium"; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: true; readonly webSearch: true; }; }; readonly "gpt-5-mini": { readonly name: OpenAIModelNames.GPT_5_MINI; readonly limits: { readonly maxInputTokens: 400000; readonly maxOutputTokens: 128000; }; readonly config: { readonly temperature: 1; readonly reasoning_effort: "minimal"; readonly verbosity: "medium"; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: true; readonly webSearch: true; }; }; readonly "gpt-5-nano": { readonly name: OpenAIModelNames.GPT_5_NANO; readonly limits: { readonly maxInputTokens: 400000; readonly maxOutputTokens: 128000; }; readonly config: { readonly temperature: 1; readonly reasoning_effort: "minimal"; readonly verbosity: "medium"; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: false; readonly tools: true; readonly reasoning: true; readonly webSearch: true; }; }; readonly "gpt-4o-transcribe": { readonly name: OpenAIModelNames.GPT_4_OMNI_TRANSCRIBE; readonly limits: { readonly maxInputTokens: 16000; readonly maxOutputTokens: 2000; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: (audio_tokens: number) => number; readonly getPriceForCachedAudioInput: (audio_tokens: number) => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: false; readonly tools: false; readonly reasoning: false; readonly webSearch: false; readonly stt: true; }; }; readonly "gpt-4o-mini-transcribe": { readonly name: OpenAIModelNames.GPT_4_OMNI_MINI_TRANSCRIBE; readonly limits: { readonly maxInputTokens: 16000; readonly maxOutputTokens: 2000; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: (audio_tokens: number) => number; readonly getPriceForCachedAudioInput: (audio_tokens: number) => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: false; readonly tools: false; readonly reasoning: false; readonly webSearch: false; readonly stt: true; }; }; readonly "gpt-4o-mini-tts": { readonly name: OpenAIModelNames.GPT_4_OMNI_MINI_TTS; readonly limits: { readonly maxInputTokens: 2000; readonly maxOutputTokens: number; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (characters: number) => number; readonly getPriceForTextOutput: () => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: (audio_tokens: number) => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: false; readonly tools: false; readonly reasoning: false; readonly webSearch: false; readonly tts: true; }; }; readonly "tts-1": { readonly name: OpenAIModelNames.TTS_1; readonly limits: { readonly maxInputTokens: 2000; readonly maxOutputTokens: number; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (characters: number) => number; readonly getPriceForTextOutput: () => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: false; readonly tools: false; readonly reasoning: false; readonly webSearch: false; readonly tts: true; }; }; }; export declare const OPEN_AI_MODELS: { readonly completion: Pick<{ readonly "gpt-4.1": { readonly name: OpenAIModelNames.GPT_4_1; readonly limits: { readonly maxInputTokens: 1047576; readonly maxOutputTokens: 32768; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: false; readonly webSearch: false; }; }; readonly "gpt-4.1-mini": { readonly name: OpenAIModelNames.GPT_4_1_MINI; readonly limits: { readonly maxInputTokens: 1047576; readonly maxOutputTokens: 32768; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: false; readonly webSearch: false; }; }; readonly "gpt-4.1-nano": { readonly name: OpenAIModelNames.GPT_4_1_NANO; readonly limits: { readonly maxInputTokens: 1047576; readonly maxOutputTokens: 32768; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: false; readonly webSearch: false; }; }; readonly "gpt-5": { readonly name: OpenAIModelNames.GPT_5; readonly limits: { readonly maxInputTokens: 400000; readonly maxOutputTokens: 128000; }; readonly config: { readonly temperature: 1; readonly reasoning_effort: "minimal"; readonly verbosity: "medium"; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: true; readonly webSearch: true; }; }; readonly "gpt-5.1": { readonly name: OpenAIModelNames.GPT_5_1; readonly limits: { readonly maxInputTokens: 400000; readonly maxOutputTokens: 128000; }; readonly config: { readonly temperature: 1; readonly reasoning_effort: "none"; readonly verbosity: "medium"; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: true; readonly webSearch: true; }; }; readonly "gpt-5.2": { readonly name: OpenAIModelNames.GPT_5_2; readonly limits: { readonly maxInputTokens: 400000; readonly maxOutputTokens: 128000; }; readonly config: { readonly temperature: 1; readonly reasoning_effort: "none"; readonly verbosity: "medium"; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: true; readonly webSearch: true; }; }; readonly "gpt-5.4": { readonly name: OpenAIModelNames.GPT_5_4; readonly limits: { readonly maxInputTokens: 1050000; readonly maxOutputTokens: 128000; }; readonly config: { readonly temperature: 1; readonly reasoning_effort: "none"; readonly verbosity: "medium"; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: true; readonly webSearch: true; }; }; readonly "gpt-5-mini": { readonly name: OpenAIModelNames.GPT_5_MINI; readonly limits: { readonly maxInputTokens: 400000; readonly maxOutputTokens: 128000; }; readonly config: { readonly temperature: 1; readonly reasoning_effort: "minimal"; readonly verbosity: "medium"; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: true; readonly webSearch: true; }; }; readonly "gpt-5-nano": { readonly name: OpenAIModelNames.GPT_5_NANO; readonly limits: { readonly maxInputTokens: 400000; readonly maxOutputTokens: 128000; }; readonly config: { readonly temperature: 1; readonly reasoning_effort: "minimal"; readonly verbosity: "medium"; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: false; readonly tools: true; readonly reasoning: true; readonly webSearch: true; }; }; readonly "gpt-4o-transcribe": { readonly name: OpenAIModelNames.GPT_4_OMNI_TRANSCRIBE; readonly limits: { readonly maxInputTokens: 16000; readonly maxOutputTokens: 2000; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: (audio_tokens: number) => number; readonly getPriceForCachedAudioInput: (audio_tokens: number) => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: false; readonly tools: false; readonly reasoning: false; readonly webSearch: false; readonly stt: true; }; }; readonly "gpt-4o-mini-transcribe": { readonly name: OpenAIModelNames.GPT_4_OMNI_MINI_TRANSCRIBE; readonly limits: { readonly maxInputTokens: 16000; readonly maxOutputTokens: 2000; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: (audio_tokens: number) => number; readonly getPriceForCachedAudioInput: (audio_tokens: number) => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: false; readonly tools: false; readonly reasoning: false; readonly webSearch: false; readonly stt: true; }; }; readonly "gpt-4o-mini-tts": { readonly name: OpenAIModelNames.GPT_4_OMNI_MINI_TTS; readonly limits: { readonly maxInputTokens: 2000; readonly maxOutputTokens: number; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (characters: number) => number; readonly getPriceForTextOutput: () => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: (audio_tokens: number) => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: false; readonly tools: false; readonly reasoning: false; readonly webSearch: false; readonly tts: true; }; }; readonly "tts-1": { readonly name: OpenAIModelNames.TTS_1; readonly limits: { readonly maxInputTokens: 2000; readonly maxOutputTokens: number; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (characters: number) => number; readonly getPriceForTextOutput: () => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: false; readonly tools: false; readonly reasoning: false; readonly webSearch: false; readonly tts: true; }; }; }, OpenAIModelNames.GPT_4_1 | OpenAIModelNames.GPT_4_1_MINI | OpenAIModelNames.GPT_4_1_NANO | OpenAIModelNames.GPT_5 | OpenAIModelNames.GPT_5_1 | OpenAIModelNames.GPT_5_2 | OpenAIModelNames.GPT_5_4 | OpenAIModelNames.GPT_5_MINI | OpenAIModelNames.GPT_5_NANO>; readonly assistance: Pick<{ readonly "gpt-4.1": { readonly name: OpenAIModelNames.GPT_4_1; readonly limits: { readonly maxInputTokens: 1047576; readonly maxOutputTokens: 32768; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: false; readonly webSearch: false; }; }; readonly "gpt-4.1-mini": { readonly name: OpenAIModelNames.GPT_4_1_MINI; readonly limits: { readonly maxInputTokens: 1047576; readonly maxOutputTokens: 32768; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: false; readonly webSearch: false; }; }; readonly "gpt-4.1-nano": { readonly name: OpenAIModelNames.GPT_4_1_NANO; readonly limits: { readonly maxInputTokens: 1047576; readonly maxOutputTokens: 32768; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: false; readonly webSearch: false; }; }; readonly "gpt-5": { readonly name: OpenAIModelNames.GPT_5; readonly limits: { readonly maxInputTokens: 400000; readonly maxOutputTokens: 128000; }; readonly config: { readonly temperature: 1; readonly reasoning_effort: "minimal"; readonly verbosity: "medium"; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: true; readonly webSearch: true; }; }; readonly "gpt-5.1": { readonly name: OpenAIModelNames.GPT_5_1; readonly limits: { readonly maxInputTokens: 400000; readonly maxOutputTokens: 128000; }; readonly config: { readonly temperature: 1; readonly reasoning_effort: "none"; readonly verbosity: "medium"; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: true; readonly webSearch: true; }; }; readonly "gpt-5.2": { readonly name: OpenAIModelNames.GPT_5_2; readonly limits: { readonly maxInputTokens: 400000; readonly maxOutputTokens: 128000; }; readonly config: { readonly temperature: 1; readonly reasoning_effort: "none"; readonly verbosity: "medium"; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: true; readonly webSearch: true; }; }; readonly "gpt-5.4": { readonly name: OpenAIModelNames.GPT_5_4; readonly limits: { readonly maxInputTokens: 1050000; readonly maxOutputTokens: 128000; }; readonly config: { readonly temperature: 1; readonly reasoning_effort: "none"; readonly verbosity: "medium"; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: true; readonly webSearch: true; }; }; readonly "gpt-5-mini": { readonly name: OpenAIModelNames.GPT_5_MINI; readonly limits: { readonly maxInputTokens: 400000; readonly maxOutputTokens: 128000; }; readonly config: { readonly temperature: 1; readonly reasoning_effort: "minimal"; readonly verbosity: "medium"; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: true; readonly webSearch: true; }; }; readonly "gpt-5-nano": { readonly name: OpenAIModelNames.GPT_5_NANO; readonly limits: { readonly maxInputTokens: 400000; readonly maxOutputTokens: 128000; }; readonly config: { readonly temperature: 1; readonly reasoning_effort: "minimal"; readonly verbosity: "medium"; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: false; readonly tools: true; readonly reasoning: true; readonly webSearch: true; }; }; readonly "gpt-4o-transcribe": { readonly name: OpenAIModelNames.GPT_4_OMNI_TRANSCRIBE; readonly limits: { readonly maxInputTokens: 16000; readonly maxOutputTokens: 2000; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: (audio_tokens: number) => number; readonly getPriceForCachedAudioInput: (audio_tokens: number) => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: false; readonly tools: false; readonly reasoning: false; readonly webSearch: false; readonly stt: true; }; }; readonly "gpt-4o-mini-transcribe": { readonly name: OpenAIModelNames.GPT_4_OMNI_MINI_TRANSCRIBE; readonly limits: { readonly maxInputTokens: 16000; readonly maxOutputTokens: 2000; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: (audio_tokens: number) => number; readonly getPriceForCachedAudioInput: (audio_tokens: number) => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: false; readonly tools: false; readonly reasoning: false; readonly webSearch: false; readonly stt: true; }; }; readonly "gpt-4o-mini-tts": { readonly name: OpenAIModelNames.GPT_4_OMNI_MINI_TTS; readonly limits: { readonly maxInputTokens: 2000; readonly maxOutputTokens: number; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (characters: number) => number; readonly getPriceForTextOutput: () => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: (audio_tokens: number) => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: false; readonly tools: false; readonly reasoning: false; readonly webSearch: false; readonly tts: true; }; }; readonly "tts-1": { readonly name: OpenAIModelNames.TTS_1; readonly limits: { readonly maxInputTokens: 2000; readonly maxOutputTokens: number; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (characters: number) => number; readonly getPriceForTextOutput: () => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: false; readonly tools: false; readonly reasoning: false; readonly webSearch: false; readonly tts: true; }; }; }, OpenAIModelNames.GPT_4_1 | OpenAIModelNames.GPT_4_1_MINI | OpenAIModelNames.GPT_4_1_NANO | OpenAIModelNames.GPT_5 | OpenAIModelNames.GPT_5_1 | OpenAIModelNames.GPT_5_2 | OpenAIModelNames.GPT_5_4 | OpenAIModelNames.GPT_5_MINI | OpenAIModelNames.GPT_5_NANO>; readonly text_to_speech: Pick<{ readonly "gpt-4.1": { readonly name: OpenAIModelNames.GPT_4_1; readonly limits: { readonly maxInputTokens: 1047576; readonly maxOutputTokens: 32768; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: false; readonly webSearch: false; }; }; readonly "gpt-4.1-mini": { readonly name: OpenAIModelNames.GPT_4_1_MINI; readonly limits: { readonly maxInputTokens: 1047576; readonly maxOutputTokens: 32768; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: false; readonly webSearch: false; }; }; readonly "gpt-4.1-nano": { readonly name: OpenAIModelNames.GPT_4_1_NANO; readonly limits: { readonly maxInputTokens: 1047576; readonly maxOutputTokens: 32768; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: false; readonly webSearch: false; }; }; readonly "gpt-5": { readonly name: OpenAIModelNames.GPT_5; readonly limits: { readonly maxInputTokens: 400000; readonly maxOutputTokens: 128000; }; readonly config: { readonly temperature: 1; readonly reasoning_effort: "minimal"; readonly verbosity: "medium"; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: true; readonly webSearch: true; }; }; readonly "gpt-5.1": { readonly name: OpenAIModelNames.GPT_5_1; readonly limits: { readonly maxInputTokens: 400000; readonly maxOutputTokens: 128000; }; readonly config: { readonly temperature: 1; readonly reasoning_effort: "none"; readonly verbosity: "medium"; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: true; readonly webSearch: true; }; }; readonly "gpt-5.2": { readonly name: OpenAIModelNames.GPT_5_2; readonly limits: { readonly maxInputTokens: 400000; readonly maxOutputTokens: 128000; }; readonly config: { readonly temperature: 1; readonly reasoning_effort: "none"; readonly verbosity: "medium"; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: true; readonly webSearch: true; }; }; readonly "gpt-5.4": { readonly name: OpenAIModelNames.GPT_5_4; readonly limits: { readonly maxInputTokens: 1050000; readonly maxOutputTokens: 128000; }; readonly config: { readonly temperature: 1; readonly reasoning_effort: "none"; readonly verbosity: "medium"; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: true; readonly webSearch: true; }; }; readonly "gpt-5-mini": { readonly name: OpenAIModelNames.GPT_5_MINI; readonly limits: { readonly maxInputTokens: 400000; readonly maxOutputTokens: 128000; }; readonly config: { readonly temperature: 1; readonly reasoning_effort: "minimal"; readonly verbosity: "medium"; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: true; readonly webSearch: true; }; }; readonly "gpt-5-nano": { readonly name: OpenAIModelNames.GPT_5_NANO; readonly limits: { readonly maxInputTokens: 400000; readonly maxOutputTokens: 128000; }; readonly config: { readonly temperature: 1; readonly reasoning_effort: "minimal"; readonly verbosity: "medium"; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: false; readonly tools: true; readonly reasoning: true; readonly webSearch: true; }; }; readonly "gpt-4o-transcribe": { readonly name: OpenAIModelNames.GPT_4_OMNI_TRANSCRIBE; readonly limits: { readonly maxInputTokens: 16000; readonly maxOutputTokens: 2000; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: (audio_tokens: number) => number; readonly getPriceForCachedAudioInput: (audio_tokens: number) => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: false; readonly tools: false; readonly reasoning: false; readonly webSearch: false; readonly stt: true; }; }; readonly "gpt-4o-mini-transcribe": { readonly name: OpenAIModelNames.GPT_4_OMNI_MINI_TRANSCRIBE; readonly limits: { readonly maxInputTokens: 16000; readonly maxOutputTokens: 2000; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: (audio_tokens: number) => number; readonly getPriceForCachedAudioInput: (audio_tokens: number) => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: false; readonly tools: false; readonly reasoning: false; readonly webSearch: false; readonly stt: true; }; }; readonly "gpt-4o-mini-tts": { readonly name: OpenAIModelNames.GPT_4_OMNI_MINI_TTS; readonly limits: { readonly maxInputTokens: 2000; readonly maxOutputTokens: number; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (characters: number) => number; readonly getPriceForTextOutput: () => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: (audio_tokens: number) => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: false; readonly tools: false; readonly reasoning: false; readonly webSearch: false; readonly tts: true; }; }; readonly "tts-1": { readonly name: OpenAIModelNames.TTS_1; readonly limits: { readonly maxInputTokens: 2000; readonly maxOutputTokens: number; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (characters: number) => number; readonly getPriceForTextOutput: () => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: false; readonly tools: false; readonly reasoning: false; readonly webSearch: false; readonly tts: true; }; }; }, OpenAIModelNames.TTS_1 | OpenAIModelNames.GPT_4_OMNI_MINI_TTS>; readonly speech_to_text: Pick<{ readonly "gpt-4.1": { readonly name: OpenAIModelNames.GPT_4_1; readonly limits: { readonly maxInputTokens: 1047576; readonly maxOutputTokens: 32768; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: false; readonly webSearch: false; }; }; readonly "gpt-4.1-mini": { readonly name: OpenAIModelNames.GPT_4_1_MINI; readonly limits: { readonly maxInputTokens: 1047576; readonly maxOutputTokens: 32768; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: false; readonly webSearch: false; }; }; readonly "gpt-4.1-nano": { readonly name: OpenAIModelNames.GPT_4_1_NANO; readonly limits: { readonly maxInputTokens: 1047576; readonly maxOutputTokens: 32768; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: false; readonly webSearch: false; }; }; readonly "gpt-5": { readonly name: OpenAIModelNames.GPT_5; readonly limits: { readonly maxInputTokens: 400000; readonly maxOutputTokens: 128000; }; readonly config: { readonly temperature: 1; readonly reasoning_effort: "minimal"; readonly verbosity: "medium"; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: true; readonly webSearch: true; }; }; readonly "gpt-5.1": { readonly name: OpenAIModelNames.GPT_5_1; readonly limits: { readonly maxInputTokens: 400000; readonly maxOutputTokens: 128000; }; readonly config: { readonly temperature: 1; readonly reasoning_effort: "none"; readonly verbosity: "medium"; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: true; readonly webSearch: true; }; }; readonly "gpt-5.2": { readonly name: OpenAIModelNames.GPT_5_2; readonly limits: { readonly maxInputTokens: 400000; readonly maxOutputTokens: 128000; }; readonly config: { readonly temperature: 1; readonly reasoning_effort: "none"; readonly verbosity: "medium"; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: true; readonly webSearch: true; }; }; readonly "gpt-5.4": { readonly name: OpenAIModelNames.GPT_5_4; readonly limits: { readonly maxInputTokens: 1050000; readonly maxOutputTokens: 128000; }; readonly config: { readonly temperature: 1; readonly reasoning_effort: "none"; readonly verbosity: "medium"; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: true; readonly webSearch: true; }; }; readonly "gpt-5-mini": { readonly name: OpenAIModelNames.GPT_5_MINI; readonly limits: { readonly maxInputTokens: 400000; readonly maxOutputTokens: 128000; }; readonly config: { readonly temperature: 1; readonly reasoning_effort: "minimal"; readonly verbosity: "medium"; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: true; readonly tools: true; readonly reasoning: true; readonly webSearch: true; }; }; readonly "gpt-5-nano": { readonly name: OpenAIModelNames.GPT_5_NANO; readonly limits: { readonly maxInputTokens: 400000; readonly maxOutputTokens: 128000; }; readonly config: { readonly temperature: 1; readonly reasoning_effort: "minimal"; readonly verbosity: "medium"; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: false; readonly tools: true; readonly reasoning: true; readonly webSearch: true; }; }; readonly "gpt-4o-transcribe": { readonly name: OpenAIModelNames.GPT_4_OMNI_TRANSCRIBE; readonly limits: { readonly maxInputTokens: 16000; readonly maxOutputTokens: 2000; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: (audio_tokens: number) => number; readonly getPriceForCachedAudioInput: (audio_tokens: number) => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: false; readonly tools: false; readonly reasoning: false; readonly webSearch: false; readonly stt: true; }; }; readonly "gpt-4o-mini-transcribe": { readonly name: OpenAIModelNames.GPT_4_OMNI_MINI_TRANSCRIBE; readonly limits: { readonly maxInputTokens: 16000; readonly maxOutputTokens: 2000; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (tokens: number) => number; readonly getPriceForTextOutput: (tokens: number) => number; readonly getPriceForCachedTextInput: (tokens: number) => number; readonly getPriceForAudioInput: (audio_tokens: number) => number; readonly getPriceForCachedAudioInput: (audio_tokens: number) => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: false; readonly tools: false; readonly reasoning: false; readonly webSearch: false; readonly stt: true; }; }; readonly "gpt-4o-mini-tts": { readonly name: OpenAIModelNames.GPT_4_OMNI_MINI_TTS; readonly limits: { readonly maxInputTokens: 2000; readonly maxOutputTokens: number; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (characters: number) => number; readonly getPriceForTextOutput: () => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: (audio_tokens: number) => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: false; readonly tools: false; readonly reasoning: false; readonly webSearch: false; readonly tts: true; }; }; readonly "tts-1": { readonly name: OpenAIModelNames.TTS_1; readonly limits: { readonly maxInputTokens: 2000; readonly maxOutputTokens: number; }; readonly config: { readonly temperature: 0.2; }; readonly pricing: { readonly getPriceForTextInput: (characters: number) => number; readonly getPriceForTextOutput: () => number; readonly getPriceForAudioInput: () => number; readonly getPriceForAudioOutput: () => number; readonly currency: "USD"; }; readonly capabilities: { readonly vision: false; readonly tools: false; readonly reasoning: false; readonly webSearch: false; readonly tts: true; }; }; }, OpenAIModelNames.GPT_4_OMNI_TRANSCRIBE | OpenAIModelNames.GPT_4_OMNI_MINI_TRANSCRIBE>; }; export declare const OPEN_AI_SERVICE_BUILDERS: { readonly completion: (logger: import("../..").LLMLoggerInterface | undefined, reporter: LLMReporterInterface | undefined, options: import("openai").ClientOptions | undefined) => OpenAICompletionService | undefined>; readonly assistance: (logger: import("../..").LLMLoggerInterface | undefined, reporter: LLMReporterInterface | undefined, options: import("openai").ClientOptions | undefined) => OpenAIAssistanceService | undefined>; readonly speech_to_text: (logger: import("../..").LLMLoggerInterface | undefined, reporter: LLMReporterInterface | undefined, options: import("openai").ClientOptions | undefined) => OpenAISpeechToTextService | undefined>; readonly text_to_speech: (logger: import("../..").LLMLoggerInterface | undefined, reporter: LLMReporterInterface | undefined, options: import("openai").ClientOptions | undefined) => OpenAITextToSpeechService | undefined>; };