/// import { EventEmitter } from 'events'; import { Tracker, TrackerValue, TrackerValuesContext } from './TrackTileService'; export type EventTypeHandlers = { trackerChanged: (...tracker: Tracker[]) => void; trackerRemoved: (tracker: Tracker) => void; valuesChanged: (updates: { valuesContext: TrackerValuesContext; metricId: string; tracker: Partial; drop?: boolean; saveToRecent?: boolean; }[]) => void; saveEditTrackerValue: (resolve?: (newValue: TrackerValue | undefined) => void, reject?: (reason?: unknown) => void) => void; }; export type EventTypes = keyof EventTypeHandlers; export type EventTypeHandler = EventTypeHandlers[T]; export declare class TrackTileEmitter extends EventEmitter { addListener(eventType: T, listener: EventTypeHandler): this; removeListener(eventType: EventTypes, listener: EventTypeHandler): this; emit(eventType: T, ...params: Parameters>): boolean; } export declare const notifier: TrackTileEmitter; export declare const notifyTrackerRemoved: (tracker: Tracker) => boolean; export declare const notifySaveEditTrackerValue: (resolve?: ((newValue: TrackerValue | undefined) => void) | undefined, reject?: ((reason?: unknown) => void) | undefined) => boolean;