import type { Arguments } from '../runtime.js'; import type { Capabilities } from './capabilities.js'; export interface ModifierCapabilitiesVersions { // passes factoryFor(...).class to `.createModifier` // uses args proxy, does not provide a way to opt-out '3.22': { disableAutoTracking?: boolean; }; } export interface ModifierCapabilities extends Capabilities { disableAutoTracking: boolean; } export interface ModifierManager { capabilities: ModifierCapabilities; createModifier(factory: unknown, args: Arguments): ModifierStateBucket; installModifier(instance: ModifierStateBucket, element: Element, args: Arguments): void; updateModifier(instance: ModifierStateBucket, args: Arguments): void; destroyModifier(instance: ModifierStateBucket, args: Arguments): void; }