import { type Entity, type MapInteractionState } from "@trackunit/react-map-adapter-shared"; type SelectAction = Readonly<{ type: "SELECT"; entity: Entity | null; }>; type HoverAction = Readonly<{ type: "HOVER"; entity: Entity | null; }>; type ClearSelectionAction = Readonly<{ type: "CLEAR_SELECTION"; }>; type ClearHoverAction = Readonly<{ type: "CLEAR_HOVER"; }>; type ClearAllAction = Readonly<{ type: "CLEAR_ALL"; }>; /** * Discriminated union of all interaction actions. */ export type InteractionAction = Readonly; /** * Pure reducer for map entity interaction state. * * - SELECT / HOVER replace the current selected/hovered entity (cross-layer). * - CLEAR_SELECTION / CLEAR_HOVER reset that specific field. * - CLEAR_ALL resets both to null. */ export declare const interactionReducer: (state: MapInteractionState, action: InteractionAction) => MapInteractionState; export {};