react-map-gl-supercluster
Version:
17 lines (16 loc) • 1.3 kB
TypeScript
import { type RefObject } from 'react';
import Supercluster from 'supercluster';
import type { Cluster, PointFeature, PointFeatureProperties, SuperclusterOptions, SuperclusterInstance, GeoJsonProperties, RelMapRef } from './types.js';
export type UseSuperclusterReturnValue<TFeatureProperties extends GeoJsonProperties, TClusterProperties extends GeoJsonProperties> = {
clusters: Array<Cluster<TFeatureProperties, TClusterProperties>>;
supercluster: SuperclusterInstance<TFeatureProperties, TClusterProperties>;
};
export type UseSuperclusterOptions<MapRef extends RelMapRef, TFeatureProperties extends GeoJsonProperties, TClusterProperties extends GeoJsonProperties> = SuperclusterOptions<TFeatureProperties, TClusterProperties> & {
mapRef?: MapRef | RefObject<MapRef> | undefined;
};
type UseMap<T> = () => {
[id: string]: T | undefined;
current?: T;
};
export declare function create<MapRef extends RelMapRef>(useMap: UseMap<MapRef>): <TFeatureProperties extends GeoJsonProperties, TClusterProperties extends GeoJsonProperties>(points: Supercluster.PointFeature<PointFeatureProperties<TFeatureProperties>>[], options?: UseSuperclusterOptions<MapRef, TFeatureProperties, TClusterProperties>) => UseSuperclusterReturnValue<TFeatureProperties, TClusterProperties>;
export {};