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, LayerVisConfig, MapControls, MapState } from '@kepler.gl/types';
import { Datasets } from '@kepler.gl/table';
import { MapStateActions, UIStateActions } from '@kepler.gl/actions';
export type MapControlProps = {
    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;
    onLayerVisConfigChange: (oldLayer: Layer, newVisConfig: Partial<LayerVisConfig>) => void;
    onToggleLayerVisibility?: (layer: Layer) => void;
    top: number;
    onSetLocale: typeof UIStateActions.setLocale;
    availableLocales: string[];
    locale: string;
    logoComponent?: React.FC | React.ReactNode;
    isExport?: boolean;
    setMapControlSettings: typeof UIStateActions.setMapControlSettings;
    activeSidePanel: string | null;
    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> & {
    defaultActionComponents: MapControlProps["actionComponents"];
};
declare namespace MapControlFactory {
    var deps: (typeof LocalePanelFactory | typeof SplitMapButtonFactory | typeof Toggle3dButtonFactory | typeof LayerSelectorPanelFactory | typeof MapLegendPanelFactory | typeof MapDrawPanelFactory)[];
}
export default MapControlFactory;
