import Resampler from "./Resampler";
export default class AudioDevice {
    inputBuffer: Float32Array;
    inputBufferSize: number;
    resampler: Resampler;
    outputBuffer: Float32Array;
    outputBufferSize: number;
    outputBufferStart: number;
    outputBufferEnd: number;
    volume: number;
    context: AudioContext;
    audioWorkletSupport: boolean;
    samplesPerCallback: number;
    channelsAllocated: number;
    sampleRate: number;
    bufferSize: number;
    minBufferSize: number;
    maxBufferSize: number;
    gainNode: GainNode;
    audioNode: AudioNode;
    constructor({ context, channels, minBufferSize }: any);
    setSampleRate(sampleRate: number): void;
    setMaxBufferSize(maxBufferSize: number): void;
    writeAudio(buffer: Float32Array): void;
    remainingBuffer(): number;
    init(): Promise<void>;
    processAudio(e: AudioProcessingEvent): void;
    setVolume(volume: number): void;
    resetAudioBuffer(targetSampleRate: number): void;
    refillResampledBuffer(): void;
    initializeResampler(targetSampleRate: number): void;
    resampledSamplesLeft(): number;
    getBufferSamples(): Float32Array;
}
