import 'leaflet/dist/leaflet.css';
import L, { type ControlPosition, type LatLngExpression } from 'leaflet';
import React from 'react';
import type { MapContainerProps } from 'react-leaflet';
import { type ThemedClassName } from '@dxos/react-ui';
import { type ControlProps } from '../Toolbar';
import { type MapCanvasProps } from '../types';
type MapRootProps = ThemedClassName<MapContainerProps>;
type MapController = {
    setCenter: (center: LatLngExpression, zoom?: number) => void;
    setZoom: (cb: (zoom: number) => number) => void;
};
type MapControlProps = {
    position?: ControlPosition;
} & Pick<ControlProps, 'onAction'>;
export declare const Map: {
    Root: ({ classNames, center, zoom, ...props }: MapRootProps) => React.JSX.Element;
    Canvas: React.ForwardRefExoticComponent<Omit<{
        markers?: import("../..").MapMarker[];
        selected?: string[];
        zoom?: number;
        center?: L.LatLngLiteral;
        onChange?: (ev: {
            center: L.LatLngLiteral;
            zoom: number;
        }) => void;
    }, "className"> & {
        classNames?: import("@dxos/react-ui-types").ClassNameValue;
    } & React.RefAttributes<MapController>>;
    Zoom: ({ onAction, position, ...props }: MapControlProps) => React.JSX.Element;
    Action: ({ onAction, position, ...props }: MapControlProps) => React.JSX.Element;
};
export { type MapCanvasProps, type MapController };
//# sourceMappingURL=Map.d.ts.map