import React from 'react'; import { LayerSourceProps } from './LayerManager'; /** * IconLayerSource is a React component that creates and manages a DeckGL IconLayer. * This component uses the `IconLayer` from `@deck.gl/layers` to render icon markers * based on GeoJSON or array data, with support for selection coloring and interactivity. * It also integrates tooltip functionality for hover, click, and selection-based tooltips. * * **Note:** The `layerStyle` object must include both `iconAtlas` (the icon sprite image) * and `iconMapping` (an object mapping icon names to their positions/sizes in the atlas). * If either is missing, the IconLayer will not render. * * **Note:** Added default `getPosition` accessor to ensure proper icon placement and getSize * for icon sizing. Otherwise there might be issues with icons not appearing. * These can be overridden by providing them in the `layerStyle`. * * @param {LayerSourceProps} props - The props for the IconLayerSource component. * @param {RenderingLayer} props.layer - The layer configuration object. * @param {(id: string, instance: IconLayer | null) => void} props.onLayerUpdate - Callback to handle updates to the layer instance. * @returns {React.ReactNode} Tooltip element for this layer (if any), no DOM for the layer itself. */ export declare const IconLayerSource: React.MemoExoticComponent<({ layer, onLayerUpdate, viewport, CustomTooltip }: LayerSourceProps) => React.ReactNode>;