import React, { ComponentType } from 'react';
import MapControlTooltipFactory from './map-control-tooltip';
import MapControlPanelFactory from './map-control-panel';
import MapLegendFactory from './map-legend';
import { MapControls, MapState } from '@kepler.gl/types';
import { Layer } from '@kepler.gl/layers';
import { ActionHandler, toggleSplitMapViewport } from '@kepler.gl/actions';
export declare type MapLegendPanelFactoryDeps = [
    typeof MapControlTooltipFactory,
    typeof MapControlPanelFactory,
    typeof MapLegendFactory
];
interface MapLegendPanelIcons {
    legend: ComponentType<any>;
}
export declare type MapLegendPanelProps = {
    layers: ReadonlyArray<Layer>;
    scale: number;
    onToggleMapControl: (control: string) => void;
    isExport: boolean;
    logoComponent: Element;
    actionIcons: MapLegendPanelIcons;
    mapControls: MapControls;
    mapState?: MapState;
    mapHeight?: number;
    offsetRight?: number;
    onToggleSplitMapViewport?: ActionHandler<typeof toggleSplitMapViewport>;
    isViewportUnsyncAllowed?: boolean;
    onClickControlBtn?: (e?: MouseEvent) => void;
};
declare function MapLegendPanelFactory(MapControlTooltip: any, MapControlPanel: any, MapLegend: any): React.FC<MapLegendPanelProps>;
declare namespace MapLegendPanelFactory {
    var deps: (typeof MapControlTooltipFactory | typeof MapControlPanelFactory | typeof MapLegendFactory)[];
}
export default MapLegendPanelFactory;
