import { AudioSegment, TextChunk, VoiceSettings } from '../types/audio.js'; import { ElevenLabsClient } from './elevenlabs-client.js'; export declare class AudioBufferManager { private segments; private currentIndex; private elevenLabsClient; private preloadCount; private isPlaying; private isPaused; constructor(elevenLabsClient: ElevenLabsClient); loadChunks(chunks: TextChunk[], voiceSettings: VoiceSettings): Promise; private preloadSegments; getNextSegment(voiceSettings: VoiceSettings): Promise; markSegmentPlayed(): void; pause(): void; resume(): void; stop(): void; goBack(): AudioSegment | null; skipForward(): AudioSegment | null; seekToChunk(chunkIndex: number): AudioSegment | null; replayCurrentChunk(): AudioSegment | null; getPlaybackProgress(): { currentChunk: number; totalChunks: number; completionPercentage: number; readySegments: number; isPlaying: boolean; isPaused: boolean; }; getSegmentsSummary(): Array<{ id: string; order: number; text: string; status: string; duration?: number; isCurrent: boolean; }>; getCurrentSegment(): AudioSegment | null; hasMoreSegments(): boolean; getTotalDuration(): number; getEstimatedTimeRemaining(): number; cleanup(): void; } //# sourceMappingURL=buffer-manager.d.ts.map