import { type ReadStream } from 'fs'; import { OpenAI } from 'openai'; import type { TranscriptionCreateParamsNonStreaming } from 'openai/resources/audio/transcriptions'; import { type LLMProviders, type LLMFileLimits, type LLMInstanceOptions, type LLMTranscribeOptions, type LLMTranscribeResult } from '../../LLMService.typedefs'; import { type LLMLoggerInterface } from '../../utilities/logger'; import { type LLMReporterInterface } from '../../utilities/reporter'; import { LLMSpeechToTextService } from '../../services'; type OpenAICompatibleSTTProvider = LLMProviders.OpenAI | LLMProviders.LLMAPI; interface TranscriptionUsage { inputTextTokens: number; inputAudioTokens: number; outputTextTokens: number; } export declare abstract class OpenAICompatibleSpeechToTextService | undefined> extends LLMSpeechToTextService { constructor(provider: Provider, logger: LLMLoggerInterface | undefined, reporter: Reporter, options?: LLMInstanceOptions[Provider]); get instance(): OpenAI; protected get transcribeLimits(): LLMFileLimits; protected buildTranscriptionParams(options: LLMTranscribeOptions, audioFileStream: ReadStream): TranscriptionCreateParamsNonStreaming<'json'>; protected abstract extractUsage(response: OpenAI.Audio.Transcription, pathToAudio: string): Promise | TranscriptionUsage; transcribe(options: LLMTranscribeOptions): Promise; } export {};