import * as GeoJSON from "geojson"; export as namespace supercluster; declare namespace Supercluster { interface Options
{
/**
* Minimum zoom level at which clusters are generated.
*
* @default 0
*/
minZoom?: number | undefined;
/**
* Maximum zoom level at which clusters are generated.
*
* @default 16
*/
maxZoom?: number | undefined;
/**
* Minimum number of points to form a cluster.
*
* @default 2
*/
minPoints?: number | undefined;
/**
* Cluster radius, in pixels.
*
* @default 40
*/
radius?: number | undefined;
/**
* (Tiles) Tile extent. Radius is calculated relative to this value.
*
* @default 512
*/
extent?: number | undefined;
/**
* Size of the KD-tree leaf node. Affects performance.
*
* @default 64
*/
nodeSize?: number | undefined;
/**
* Whether timing info should be logged.
*
* @default false
*/
log?: boolean | undefined;
/**
* Whether to generate ids for input features in vector tiles.
*
* @default false
*/
generateId?: boolean | undefined;
/**
* A function that returns cluster properties corresponding to a single point.
*
* @example
* (props) => ({sum: props.myValue})
*/
map?: ((props: P) => C) | undefined;
/**
* A reduce function that merges properties of two clusters into one.
*
* @example
* (accumulated, props) => { accumulated.sum += props.sum; }
*/
reduce?: ((accumulated: C, props: Readonly = GeoJSON.Feature );
/**
* Loads an array of GeoJSON Feature objects. Each feature's geometry
* must be a GeoJSON Point. Once loaded, index is immutable.
*
* @param points Array of GeoJSON Features, the geometries being GeoJSON Points.
*/
load(points: Array ;
/**
* Returns an array of clusters and points as `GeoJSON.Feature` objects
* for the given bounding box (`bbox`) and zoom level (`zoom`).
*
* @param bbox Bounding box (`[westLng, southLat, eastLng, northLat]`).
* @param zoom Zoom level.
*/
getClusters(bbox: GeoJSON.BBox, zoom: number): Array >;
/**
* For a given zoom and x/y coordinates, returns a
* [geojson-vt](https://github.com/mapbox/geojson-vt)-compatible JSON
* tile object with cluster any point features.
*/
getTile(zoom: number, x: number, y: number): Supercluster.Tile >;
/**
* Returns all the points of a cluster (with pagination support).
*
* @param clusterId Cluster ID (`cluster_id` value from feature properties).
* @param limit The number of points to return (set to `Infinity` for all points).
* @param offset The amount of points to skip (for pagination).
*/
getLeaves(clusterId: number, limit?: number, offset?: number): Array