export declare type SampleRate = 8000 | 16000 | 24000 | 32000 | 48000 | 96000 | 192000 | 384000 | 11025 | 22050 | 44100 | 88200 | 176400 | 352800;
export default class AudioResampler {
    /**
     * Initialize a AudioResampler instance so that configurations need not to be applied before every chunk.
     *
     * @param {SampleRate} oldSampleRate Input sample rate for the audio buffer
     * @param {SampleRate} newSampleRate Target sample rate for the audio buffer
     * @param {boolean} liveAudio Set whether the audio is live (multiple sequential chunks) or a single audio buffer.
     * @param {boolean} antiAlias Set whether to enable or disable Anti-aliasing filters. Recommended for downsampling, disabled by default for upsampling.
     * @returns {AudioResampler}
     */
    constructor(oldSampleRate: SampleRate, newSampleRate: SampleRate, liveAudio: boolean, antiAlias?: boolean);
    oldSampleRate: SampleRate;
    newSampleRate: SampleRate;
    antiAlias: boolean;
    decimationFactor: number;
    liveAudio: boolean;
    isFirstFrame: boolean;
    filterBuffer: Float32Array;
    /**
     * Lanczos resampling
     * https://en.wikipedia.org/wiki/Lanczos_resampling
     *
     * @private
     * @param {number} a
     * @param {number} t
     * @returns {number}
     */
    private lanczosWindow;
    /**
     * Downsampling with Anti-Aliasing
     *
     * @private
     * @param {Float32Array} buffer
     * @returns {Float32Array}
     */
    private antiAliasDownsample;
    /**
     * Upsampling
     *
     * @private
     * @param {Float32Array} buffer
     * @returns {Float32Array}
     */
    private upsample;
    /**
     * Downsampling without Anti-Aliasing
     *
     * @private
     * @param {Float32Array} buffer
     * @returns {Float32Array}
     */
    private downsample;
    /**
     * Resampling with applied config.
     * Determines whether to downsample or upsample using `oldSampleRate` and `newSampleRate` values.
     * @public
     * @param {Float32Array} buffer
     * @returns {Float32Array}
     */
    resample: (buffer: Float32Array) => Float32Array;
    /**
     * Encodes audio buffers as WAVE Format.
     *
     * @public
     * @param {Float32Array} buffer
     * @returns {DataView}
     */
    encodeAsWav: (buffer: Float32Array) => DataView;
}
//# sourceMappingURL=SpeechAudioResampler.d.ts.map