import React from 'react';
import SplitMapButtonFactory from './split-map-button';
import Toggle3dButtonFactory from './toggle-3d-button';
import LayerSelectorPanelFactory from './layer-selector-panel';
import MapLegendPanelFactory from './map-legend-panel';
import MapDrawPanelFactory from './map-draw-panel';
import LocalePanelFactory from './locale-panel';
import { Layer } from '@kepler.gl/layers';
import { Editor, MapControls, MapState } from '@kepler.gl/types';
import { Datasets } from '@kepler.gl/table';
import { MapStateActions, UIStateActions } from '@kepler.gl/actions';
export declare type MapControlProps = {
    availableLocales: ReadonlyArray<string>;
    datasets: Datasets;
    dragRotate: boolean;
    isSplit: boolean;
    primary: boolean;
    layers: Layer[];
    layersToRender: {
        [key: string]: boolean;
    };
    mapIndex: number;
    mapControls: MapControls;
    onTogglePerspective: () => void;
    onToggleSplitMap: typeof MapStateActions.toggleSplitMap;
    onToggleSplitMapViewport: ({ isViewportSynced, isZoomLocked }: {
        isViewportSynced: boolean;
        isZoomLocked: boolean;
    }) => void;
    onMapToggleLayer: (layerId: string) => void;
    onToggleMapControl: (control: string) => void;
    onSetEditorMode: (mode: string) => void;
    onToggleEditorVisibility: () => void;
    top: number;
    onSetLocale: typeof UIStateActions.setLocale;
    locale: string;
    logoComponent?: React.FC | React.ReactNode;
    isExport?: boolean;
    mapState?: MapState;
    readOnly?: boolean;
    scale?: number;
    mapLayers?: {
        [key: string]: boolean;
    };
    editor: Editor;
    actionComponents?: React.ComponentType<any>[];
    mapHeight?: number;
};
declare function MapControlFactory(SplitMapButton: ReturnType<typeof SplitMapButtonFactory>, Toggle3dButton: ReturnType<typeof Toggle3dButtonFactory>, LayerSelectorPanel: ReturnType<typeof LayerSelectorPanelFactory>, MapLegendPanel: ReturnType<typeof MapLegendPanelFactory>, MapDrawPanel: ReturnType<typeof MapDrawPanelFactory>, LocalePanel: ReturnType<typeof LocalePanelFactory>): React.FC<MapControlProps>;
declare namespace MapControlFactory {
    var deps: (typeof LocalePanelFactory | typeof SplitMapButtonFactory | typeof Toggle3dButtonFactory | typeof LayerSelectorPanelFactory | typeof MapLegendPanelFactory | typeof MapDrawPanelFactory)[];
}
export default MapControlFactory;
