import { IAudioNode, IAudioNodeRenderer, IMinimalOfflineAudioContext, IOfflineAudioContext } from '../interfaces'; import { TContext } from './context'; import { TNativeAudioNode } from './native-audio-node'; export type TAudioNodeConstructor = new = {}>( context: T, isActive: boolean, nativeAudioNode: TNativeAudioNode, audioNodeRenderer: T extends IMinimalOfflineAudioContext | IOfflineAudioContext ? IAudioNodeRenderer> : null ) => IAudioNode;