import type { RefObject } from 'react'; import type { TrackingResult } from '../../components/Tracking.js'; type EventHandler = (result: TrackingResult) => void; type PointerEventName = 'onPointerEnter' | 'onPointerDown' | 'onPointerMove' | 'onPointerUp' | 'onPointerLeave'; type ClickEventName = 'onClick' | 'onDoubleClick'; type WheelEventName = 'onWheel'; export type EventName = PointerEventName | ClickEventName | WheelEventName; type PointerEventHandlers = Partial>>; type ClickEventHandlers = Partial>>; type WheelEventHandlers = Partial>>; export type EventsHandlers = PointerEventHandlers & ClickEventHandlers & WheelEventHandlers; type EventMap = Record & Record & Record; export interface PlotEventsUserActions { registerHandlers: (handlersRef: RefObject) => void; unregisterHandlers: (handlersRef: RefObject) => void; } export interface PlotEventsPlotActions { registerPlot: (plotId: string) => void; unregisterPlot: (plotId: string) => void; handleEvent: (plotId: string, eventName: T, eventData: TrackingResult) => void; } export declare function usePlotEventsState(): { userActions: PlotEventsUserActions; plotActions: PlotEventsPlotActions; }; export {}; //# sourceMappingURL=usePlotEvents.d.ts.map