import { AudioState } from '../utils/AudioManager';
export interface AudioServiceConfig {
    sampleRate?: number;
    channels?: number;
    bufferSize?: number;
    disabled?: boolean;
    volume?: number;
    muted?: boolean;
}
declare class AudioService {
    private audioManager;
    private config;
    private audioQueue;
    private isPlaying;
    private isMuted;
    private volume;
    private currentAudioId;
    private isDestroyed;
    constructor(config?: AudioServiceConfig);
    private setupEventListeners;
    initialize(userGesture?: boolean): Promise<void>;
    enableAudio(): Promise<void>;
    isAudioEnabled(): boolean;
    playAudio(buffer: ArrayBuffer, options?: {
        id?: string;
        priority?: number;
    }): Promise<void>;
    appendAudio(buffer: ArrayBuffer): Promise<void>;
    addToQueue(buffer: ArrayBuffer, options?: {
        id?: string;
        priority?: number;
    }): string;
    private playNextInQueue;
    stopPlayback(): void;
    clearBuffer(): void;
    clearQueue(): void;
    stopAll(): void;
    setMuted(muted: boolean): void;
    isMutedState(): boolean;
    setVolume(volume: number): void;
    getVolume(): number;
    setSampleRate(sampleRate: number): Promise<void>;
    getPlaybackState(): AudioState;
    isPlayingState(): boolean;
    getQueueSize(): number;
    getCurrentAudioId(): string | null;
    getStats(): Promise<any>;
    private generateAudioId;
    destroy(): Promise<void>;
}
export default AudioService;
//# sourceMappingURL=AudioService.d.ts.map