import { IAudioNode } from '../interfaces';
import { TActiveInputConnection } from './active-input-connection';
import { TContext } from './context';
import { TPassiveAudioNodeInputConnection } from './passive-audio-node-input-connection';

export type TAddPassiveInputConnectionToAudioNodeFunction = <T extends TContext>(
    passiveInputs: WeakMap<IAudioNode<T>, Set<TPassiveAudioNodeInputConnection>>,
    input: number,
    [source, output, eventListener]: TActiveInputConnection<T>,
    ignoreDuplicates: boolean
) => void;
