import { SarvamAIClient } from 'sarvamai'; import { type PlayAudioOptions } from '../audio/player'; import { type StartRecordingOptions } from '../audio/recorder'; import { type SpeechToTextOptions, type SpeechToTextResult } from '../speech/speechToText'; import { type TextToSpeechOptions } from '../speech/textToSpeech'; export type SarvamChatRole = 'system' | 'user' | 'assistant' | 'tool'; export interface SarvamChatMessage { role: SarvamChatRole; content: string; name?: string; } export interface SarvamRNClientConfig { apiKey: string; } export interface TranslateOptions { sourceLanguageCode?: string; model?: string; additionalParams?: Record; } export interface TranslateTextResult { translatedText: string; raw: unknown; } export interface ChatOptions { model?: string; temperature?: number; stream?: boolean; onToken?: (token: string, chunk: unknown) => void; additionalParams?: Record; } export interface ChatResult { message: string; raw: unknown; } export interface RecordAndTranscribeOptions { recordingDurationMs?: number; recordingOptions?: StartRecordingOptions; transcriptionOptions?: SpeechToTextOptions; } export interface PlaySpeechOptions { textToSpeechOptions?: TextToSpeechOptions; playbackOptions?: PlayAudioOptions; } export declare class SarvamRNClient { private readonly client; constructor(config: SarvamRNClientConfig); get rawClient(): SarvamAIClient; translateText(input: string, targetLanguage: string, options?: TranslateOptions): Promise; speechToTextFromFile(filePath: string, options?: SpeechToTextOptions): Promise; recordAndTranscribe(options?: RecordAndTranscribeOptions): Promise; textToSpeech(text: string, options?: TextToSpeechOptions): Promise; playSpeech(text: string, options?: PlaySpeechOptions): Promise; chat(messages: SarvamChatMessage[], options?: ChatOptions): Promise; } //# sourceMappingURL=SarvamRNClient.d.ts.map