export declare type Experiments = { [id: string]: unknown; }; export declare type Properties = { [key: string]: unknown; }; export declare type ElementImporter = (() => Promise); export declare enum TestEvent { UPDATE = "update" } export interface ITest { has(id: string): boolean; set(id: string, value: T): void; setAll(tests: Experiments): void; get(id: string): T | undefined; getAll(): Experiments; remove(id: string): void; removeAll(): void; save(): void; load(): void; getVariation(variations: T[]): T; addEventListener(type: TestEvent, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: TestEvent, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; }