import type { ReactElement, ReactNode } from 'react';
import type { ClusterFeature, MarkerData, MarkerStyle, Region, SpiderMarker } from './types';
interface MarkerElement {
    props: {
        coordinate: {
            latitude: number;
            longitude: number;
        };
        cluster?: boolean;
        children?: ReactNode;
        [key: string]: unknown;
    };
}
declare const isMarkerElement: (child: ReactNode) => child is ReactElement<MarkerElement["props"]>;
export { isMarkerElement as isMarker };
export declare const calculateBBox: (region: Region) => [number, number, number, number];
export declare const returnMapZoom: (region: Region, bBox: [number, number, number, number], minZoom: number) => number;
export declare const markerToGeoJSONFeature: (marker: ReactElement<MarkerElement["props"]>, index: number) => {
    type: "Feature";
    geometry: {
        coordinates: [number, number];
        type: "Point";
    };
    properties: Record<string, unknown>;
};
export declare const generateSpiral: (marker: MarkerData, clusterChildren: ClusterFeature[], markers: MarkerData[], index: number) => SpiderMarker[];
export declare const returnMarkerStyle: (points: number) => MarkerStyle;
