export declare class AudioPlayer {
    private audioContext;
    private sourceNode;
    private audioQueue;
    private gainNode;
    private isMuted;
    private isPlaying;
    private isPaused;
    private pausedAt;
    private startTime;
    private currentBuffer;
    private preloading;
    private channels;
    private sampleRate;
    private onPlay;
    private onStop;
    private onStateChangeCallback;
    constructor(sampleRate: number);
    private initializeAudioContext;
    preload(): void;
    addChunk(data: Uint8Array, sampleRate?: number | null): void;
    playAudio(): void;
    private playNextChunk;
    private playBuffer;
    pauseAudio(): void;
    resumeAudio(): void;
    stopAudio(): void;
    private notifyStateChange;
    getVolume(): number;
    setAudioVolume(volume: number): void;
    onPlayStart(fn: () => void): void;
    onPlayStop(fn: () => void): void;
    onStateChange(fn: (state: string) => void): void;
}
