import { Dispatch } from 'react'; import { PickingInfo } from '@deck.gl/core'; import { RenderingLayer } from '../../shared/models/models.layers'; import { OneOfStateActions } from '../../shared/appState/state.models.actions'; import { AppSharedState } from '../../shared/appState/state.models'; /** * Parameters for handleMapClick function. */ export interface HandleMapClickParams { event: PickingInfo; sharedState: AppSharedState; sharedStateDispatch: Dispatch; mapKey: string; controlIsDown: boolean; mapLayers: RenderingLayer[] | undefined; } /** * Handles map click events for feature selection logic. * * Logic: * - If Ctrl is held and the feature is already selected: remove it from selection. * - If Ctrl is held and the feature is not selected: add it to selection (if maxSelectionCount not reached). * - If only one feature is selected and it's clicked again: remove it from selection. * - Otherwise: set the clicked feature as the only selected feature. * * Selection is only allowed if enabled in the layer configuration. * * @param {HandleMapClickParams} params - The parameters for the click handler. */ export declare function handleMapClick({ event, sharedState, sharedStateDispatch, mapKey, controlIsDown, mapLayers, }: HandleMapClickParams): void;