import { JSX } from 'react';
import { Vector as LayerVector } from 'ol/layer';
import { Vector as SourceVector, Cluster as SourceCluster } from 'ol/source';
import BaseObject from 'ol/Object';
import { Feature } from 'ol';
import { Geometry } from 'ol/geom';
import { default as RLayerBaseVector, RLayerBaseVectorProps } from './RLayerBaseVector';
/**
 * @propsfor RLayerCluster
 */
export interface RLayerClusterProps extends RLayerBaseVectorProps<Feature<Geometry>> {
    /** Clustering distance */
    distance?: number;
}
/**
 * A vector layer that clusters its RFeatures
 *
 * Compatible with RLayerVector
 *
 * Requires an `RMap` context
 *
 * Not compatible with a vector layer context for JSX-declared RFeatures
 */
export default class RLayerCluster extends RLayerBaseVector<Feature<Geometry>, RLayerClusterProps> {
    ol: LayerVector<SourceVector<Feature<Geometry>>, Feature<Geometry>>;
    source: SourceCluster<Feature<Geometry>>;
    cluster: SourceVector<Feature<Geometry>>;
    protected createSource(props: Readonly<RLayerClusterProps>): BaseObject[];
    protected refresh(prev?: RLayerClusterProps): void;
    render(): JSX.Element;
}
//# sourceMappingURL=RLayerCluster.d.ts.map