import type NoiseSuppressionAudioWorkletNode from '../engine/media/streamEffects/audio/noiseSuppression/NoiseSuppressionAudioWorkletNode'; export interface NoiseSuppressorParams { noiseSuppressor: WebAssembly.WebAssemblyInstantiatedSource; context: AudioContext; } export interface RNNoiseMemory extends WebAssembly.Memory { buffer: ArrayBuffer; } export interface RNNoiseInstance { newState: () => number; deleteState: (state: number) => void; getVadProb: (state: number) => number; getInput: (state: number) => number; pipe: (state: number, frameLength: number) => number; memory: RNNoiseMemory; module: WebAssembly.Module; } export type NoiseSuppressionNode = NoiseSuppressionAudioWorkletNode | ScriptProcessorNode;