UNPKG

804 BTypeScriptView Raw
1import { Arguments } from '../runtime';
2import { Capabilities } from './capabilities';
3
4export interface ModifierCapabilitiesVersions {
5 // passes factoryFor(...).class to `.createModifier`
6 // uses args proxy, does not provide a way to opt-out
7 '3.22': {
8 disableAutoTracking?: boolean;
9 };
10}
11
12export interface ModifierCapabilities extends Capabilities {
13 disableAutoTracking: boolean;
14}
15
16export interface ModifierManager<ModifierStateBucket> {
17 capabilities: ModifierCapabilities;
18 createModifier(factory: unknown, args: Arguments): ModifierStateBucket;
19 installModifier(instance: ModifierStateBucket, element: Element, args: Arguments): void;
20 updateModifier(instance: ModifierStateBucket, args: Arguments): void;
21 destroyModifier(instance: ModifierStateBucket, args: Arguments): void;
22}