/**
 * AudioDecoder - Decodes encoded audio data to AudioData
 * Implements the W3C WebCodecs AudioDecoder interface
 */
import { AudioData } from './AudioData';
import { EncodedAudioChunk } from './EncodedAudioChunk';
import { CodecState, DOMException, BufferSource } from './types';
export interface AudioDecoderConfig {
    codec: string;
    sampleRate: number;
    numberOfChannels: number;
    description?: BufferSource;
}
export interface AudioDecoderInit {
    output: (data: AudioData) => void;
    error: (error: DOMException) => void;
}
export interface AudioDecoderSupport {
    supported: boolean;
    config: AudioDecoderConfig;
}
export declare class AudioDecoder {
    private _native;
    private _state;
    private _outputCallback;
    private _errorCallback;
    private _decodeQueueSize;
    private _config;
    static isConfigSupported(config: AudioDecoderConfig): Promise<AudioDecoderSupport>;
    constructor(init: AudioDecoderInit);
    get state(): CodecState;
    get decodeQueueSize(): number;
    configure(config: AudioDecoderConfig): void;
    decode(chunk: EncodedAudioChunk): void;
    flush(): Promise<void>;
    reset(): void;
    close(): void;
    private _onData;
    private _onError;
}
//# sourceMappingURL=AudioDecoder.d.ts.map