export interface Effect { readonly id: string getInputNode(): AudioNode getOutputNode(): AudioNode updateParams(values: Record): void setBypass(bypass: boolean): void getModulatableParams?(): Map dispose(): void } export interface EffectFactory { create(audioContext: AudioContext): Effect }