UNPKG

react-map-gl-supercluster

Version:

17 lines (16 loc) 1.3 kB
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 {};