import { default as L } from 'leaflet'; import { default as Supercluster, ClusterFeature, PointFeature } from 'supercluster'; import { NumericAccessor, StringAccessor } from '../../../types/accessor'; import { GenericDataRecord } from '../../../types/data'; import { LeafletMapPoint, LeafletMapPointShape, LeafletMapPieDatum, LeafletMapPointStyles, PointExpandedClusterProperties, LeafletMapPointDatum, LeafletMapClusterDatum } from '../types'; import { LeafletMapConfigInterface } from '../config'; export declare function bBoxMerge(bBoxArray: ({ x1: number; x2: number; y1: number; y2: number; })[]): { x: number; y: number; width: number; height: number; }; export declare const getNextZoomLevelOnClusterClick: (level: number) => number; export declare function projectPoint(geoJSONPoint: LeafletMapPoint | ClusterFeature> | PointFeature>, leafletMap: L.Map): { x: number; y: number; }; export declare function getPointRadius(geoPoint: ClusterFeature> | PointFeature> | PointFeature>, pointRadius: NumericAccessor> | NumericAccessor>, zoomLevel: number): number; export declare function getPointPos(point: LeafletMapPoint | ClusterFeature> | PointFeature>, leafletMap: L.Map): { x: number; y: number; }; export declare function getPointDisplayOrder(d: LeafletMapPoint, pointStatus: StringAccessor | LeafletMapClusterDatum>, colorMap: LeafletMapPointStyles): number; export declare function toGeoJSONPoint(d: D, i: number, pointLatitude: NumericAccessor, pointLongitude: NumericAccessor): PointFeature; export declare function calculateClusterIndex(data: D[], config: LeafletMapConfigInterface, maxClusterZoomLevel?: number): Supercluster; export declare function getNodePathData({ x, y }: { x: number; y: number; }, radius: number, shape: LeafletMapPointShape): string; export declare function getDonutData(d: LeafletMapClusterDatum | LeafletMapPointDatum, colorMap: LeafletMapPointStyles): LeafletMapPieDatum[]; export declare function geoJsonPointToScreenPoint(geoPoint: ClusterFeature> | PointFeature>, i: number, leafletMap: L.Map, config: LeafletMapConfigInterface): LeafletMapPoint; export declare function shouldClusterExpand(cluster: LeafletMapPoint, zoomLevel: number, midLevel?: number, maxLevel?: number, maxClusterZoomLevel?: number): boolean; export declare function findPointAndClusterByPointId(points: LeafletMapPoint[], id: string, pointId: StringAccessor): { point: PointFeature | undefined; cluster: LeafletMapPoint | undefined; }; export declare function getNodeRelativePosition(d: LeafletMapPoint, leafletMap: L.Map): { x: number; y: number; }; export declare function getClusterRadius(cluster: { points: PointFeature>[]; cluster: LeafletMapPoint; }): number; export declare function getClustersAndPoints(clusterIndex: Supercluster, leafletMap: L.Map, customBounds?: [number, number, number, number]): (ClusterFeature> | PointFeature)[];