export interface AudioStreamPlayerOptions {
    onFirstAudioPlay?: () => void;
}
export declare class AudioStreamPlayer {
    private audioContext;
    private sourceNodes;
    private gainNodes;
    private nextStartTime;
    private expectedChunkIndex;
    private receivedFinalChunk;
    private pcmParameters;
    private pcmDataQueue;
    private bufferDurationTarget;
    private bytesPerSample;
    private isFirstBuffer;
    private currentFormat;
    private fallbackAudio;
    private fallbackChunks;
    private onFirstAudioPlay?;
    constructor(options?: AudioStreamPlayerOptions);
    initAudioContext(): Promise<void>;
    startStream(params: {
        sampleRate: number;
        channels: number;
        bitDepth: number;
    } | undefined, format: string): void;
    addChunk(base64Chunk: string, chunkIndex: number, isFinalChunk: boolean): void;
    private _addPcmChunk;
    private _processPcmQueue;
    private _addFallbackChunk;
    stopStream(): void;
    fadeOutAndStop(fadeTimeMs?: number): void;
    private _resetState;
    get isPlaying(): boolean;
    get isStreaming(): boolean;
}
//# sourceMappingURL=audio_stream_player.d.ts.map