import type { IAudioGraphPlugin, IAudioEqualizer, IAudioEqualizerConfig } from "../types"; /** * Многополосный эквалайзер-плагин. * * Каждая частотная полоса из конфигурации получает собственный * BiquadFilterNode (peaking). Полосы соединены последовательно между * входом и выходом плагина: * * input → filter₁ → filter₂ → … → filterₙ → output * * Все экземпляры в рамках одного AudioContext имеют общие настройки * усиления: ConstantSourceNodes (по одному на полосу) хранятся в WeakMap * по ключу AudioContext и переиспользуются между экземплярами. Изменение * усиления на любом экземпляре обновляет их все. */ export declare class EqualizerPlugin implements IAudioGraphPlugin { readonly id = "equalizer"; private static _sources; private readonly _inputNode; private readonly _outputNode; private readonly _filterMap; readonly equalizer: IAudioEqualizer; constructor(ctx: AudioContext, config: IAudioEqualizerConfig); get inputNode(): AudioNode; get outputNode(): AudioNode; /** Сбросить все полосы к усилениям по умолчанию (влияет на все экземпляры). */ resetAll(): void; /** Отключить все фильтры от общих ConstantSourceNodes. */ dispose(): void; private rebuild; }