import type FramePlayer from '@/utils/framePlayer';
export interface AudioDebuggerDeps {
    getFramePlayer: () => FramePlayer | null;
    getCore: () => any | null;
    playIdleAnimation: () => void;
}
export declare class AudioDebugger {
    private deps;
    private debugAudioChunks;
    private debugAudioSampleRate;
    private debugAudioEnabled;
    private debugBlendShapes;
    constructor(deps: AudioDebuggerDeps);
    get isEnabled(): boolean;
    reset(): void;
    setSampleRate(rate: number): void;
    addAudioChunk(chunk: ArrayBuffer): void;
    addBlendShapes(shapes: number[][]): void;
    getChunkCount(): number;
    getTotalSize(): number;
    getSampleRate(): number;
    getBlendShapeCount(): number;
    enableAudioDebug(enabled?: boolean): void;
    getDebugAudioInfo(): {
        sampleRate: number;
        totalSize: number;
        chunks: number;
    };
    downloadDebugAudio(filename?: string): void;
    playDebugAudio(sampleRateOverride?: number): Promise<void>;
    playDebugAudio2(sampleRateOverride?: number, streamMode?: boolean): Promise<void>;
    private mergeAudioChunks;
    private createWavFile;
    private writeString;
    destroy(): void;
}
//# sourceMappingURL=AudioDebugger.d.ts.map