import { ChatScreenplay } from '../../types';
import { VoiceService, VoiceServiceOptions, AudioPlayOptions } from './VoiceService';
/**
 * Adapter implementation for using existing voice engines
 */
export declare class VoiceEngineAdapter implements VoiceService {
    private options;
    private isPlayingAudio;
    private audioElement;
    /**
     * Constructor
     * @param options Voice service options
     */
    constructor(options: VoiceServiceOptions);
    /**
     * Speak the screenplay as audio
     * @param screenplay Screenplay (text and emotion)
     * @param options Audio playback options
     */
    speak(screenplay: ChatScreenplay, options?: AudioPlayOptions): Promise<void>;
    /**
     * Speak text as audio
     * @param text Text (with emotion tags) to speak
     * @param options Audio playback options
     */
    speakText(text: string, options?: AudioPlayOptions): Promise<void>;
    /**
     * Get whether currently playing
     */
    isPlaying(): boolean;
    /**
     * Stop playback
     */
    stop(): void;
    /**
     * Update service settings
     * @param options New settings options
     */
    updateOptions(options: Partial<VoiceServiceOptions>): void;
    /**
     * Play audio buffer
     * @param audioBuffer Audio data ArrayBuffer
     * @param audioElementId ID of HTML element to play audio (use internal element if omitted)
     */
    private playAudioBuffer;
}
