import { AbstractTTSClient } from "../core/abstract-tts.js"; import type { SpeakOptions, TTSCredentials, UnifiedVoice } from "../types.js"; export interface MurfTTSOptions extends SpeakOptions { model?: string; voice?: string; providerOptions?: Record; } export interface MurfTTSCredentials extends TTSCredentials { apiKey?: string; baseURL?: string; model?: string; properties?: Record | string; propertiesJson?: string; } export declare class MurfTTSClient extends AbstractTTSClient { private apiKey; private baseUrl; private model; static readonly VOICES: ({ id: string; name: string; gender: "Female"; language: string; } | { id: string; name: string; gender: "Male"; language: string; })[]; constructor(credentials?: MurfTTSCredentials); private applyCredentialProperties; private prepareText; setModel(model: string): void; setVoice(voiceId: string): void; getProperty(property: string): any; setProperty(property: string, value: any): void; checkCredentials(): Promise; protected getRequiredCredentials(): string[]; protected _getVoices(): Promise; protected _mapVoicesToUnified(rawVoices: any[]): Promise; synthToBytes(text: string, options?: MurfTTSOptions): Promise; synthToBytestream(text: string, options?: MurfTTSOptions): Promise<{ audioStream: ReadableStream; wordBoundaries: Array<{ text: string; offset: number; duration: number; }>; }>; }