/// <reference types="react" />
import PropTypes from 'prop-types';
import L from 'leaflet';
import { ContextType } from '../RCMap/Context';
import Layer from '../Layer';
import MassLayer, { EventTarget, MassLayerOptions } from './MassLayer';
declare type Props = Readonly<MassLayerOptions>;
declare type State = Readonly<{
    clickPoint: EventTarget;
    hoverPoint: EventTarget;
}>;
export { EventTarget, MassLayerOptions };
export default class MassPoints extends Layer<MassLayer, Props, State> {
    static propTypes: {
        iconUrl: PropTypes.Requireable<string>;
        iconSize: PropTypes.Requireable<number[] | [number, number] | L.Point>;
        iconAnchor: PropTypes.Requireable<number[] | [number, number] | L.Point>;
        popupAnchor: PropTypes.Requireable<number[] | [number, number] | L.Point>;
        tooltipAnchor: PropTypes.Requireable<number[] | [number, number] | L.Point>;
        points: PropTypes.Validator<PropTypes.InferProps<{
            iconUrl: PropTypes.Requireable<string>;
            iconSize: PropTypes.Requireable<number[] | [number, number] | L.Point>;
            iconAnchor: PropTypes.Requireable<number[] | [number, number] | L.Point>;
            popupAnchor: PropTypes.Requireable<number[] | [number, number] | L.Point>;
            tooltipAnchor: PropTypes.Requireable<number[] | [number, number] | L.Point>;
            position: PropTypes.Requireable<number[] | L.LatLng | PropTypes.InferProps<{
                lat: PropTypes.Validator<number>;
                lng: PropTypes.Validator<number>;
            }>>;
        }>[]>;
        group: PropTypes.Requireable<L.LayerGroup<unknown>>;
        pane: PropTypes.Requireable<string>;
        attribution: PropTypes.Requireable<string>;
        onCreate: PropTypes.Requireable<(...args: any[]) => any>;
        onAdd: PropTypes.Requireable<(...args: any[]) => any>;
        onUpdate: PropTypes.Requireable<(...args: any[]) => any>;
        onBeforeRemove: PropTypes.Requireable<(...args: any[]) => any>;
        onRemove: PropTypes.Requireable<(...args: any[]) => any>;
        children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        onClick: PropTypes.Requireable<(...args: any[]) => any>;
        onMouseOver: PropTypes.Requireable<(...args: any[]) => any>;
        onMouseOut: PropTypes.Requireable<(...args: any[]) => any>;
    };
    static defaultProps: {
        throttleThreshold: number;
        throttleDuration: number;
    };
    protected constructor(props: Props, context: ContextType);
    componentDidUpdate(prevProps: Props): void;
    protected createInstance(props: Props): MassLayer;
    private onPopupClose;
    private onClick;
    private onMouseOut;
    private onMouseOver;
    render(): React.ReactNode;
}
