import * as React from 'react';
import './style/index.css';
import { TooltipPlacement } from '@/components/tooltip';
export declare const prefixCls = "map-control";
export declare enum LayoutDirection {
    row = "row",
    column = "column"
}
export declare enum ToggleableToolboxLayoutDirection {
    top = "top",
    right = "right",
    bottom = "bottom",
    left = "left"
}
export interface ZoomToolbox {
    id: 'map-zoom-toolbox';
    zoom?: number | string;
    onValueClick?: () => void;
    onZoomIn?: () => void;
    onZoomOut?: () => void;
    reverseLayout?: boolean;
}
export interface IconAndTooltipConfig {
    id: string;
    icon: string | React.ReactNode;
    tooltip?: string;
    tooltipPlacement?: TooltipPlacement;
    mouseEnterDelay?: number;
    mouseLeaveDelay?: number;
}
export interface NormalToolboxProps extends IconAndTooltipConfig {
    onClick: (id: string, e: React.MouseEvent) => void;
    style?: React.CSSProperties;
}
export interface ToggleableToolboxProps extends NormalToolboxProps {
    id: string;
    subItems: Array<NormalToolboxProps>;
    onClick: (id: string, e: React.MouseEvent) => void;
    layoutDirection?: ToggleableToolboxLayoutDirection;
}
export declare type Toolbox = NormalToolboxProps | ToggleableToolboxProps | ZoomToolbox;
interface MapControlProps {
    id?: string;
    toolboxes: Toolbox[];
    style?: React.CSSProperties;
    layoutDirection?: LayoutDirection;
}
declare const MapControl: React.MemoExoticComponent<React.ForwardRefExoticComponent<MapControlProps & React.RefAttributes<HTMLDivElement | null>>>;
export default MapControl;
