import React from 'react';
import { Layer, LayerBaseConfig, VisualChannel, VisualChannelDescription } from '@kepler.gl/layers';
interface StyledMapControlLegendProps {
    width?: number;
    last?: boolean;
}
export declare const StyledMapControlLegend: import("styled-components").StyledComponent<"div", any, StyledMapControlLegendProps, never>;
export declare const VisualChannelMetric: ({ name }: {
    name: any;
}) => React.JSX.Element;
export declare type LayerSizeLegendProps = {
    label: string;
    name: string | undefined;
};
/** @type {typeof import('./map-legend').LayerSizeLegend} */
export declare const LayerSizeLegend: React.FC<LayerSizeLegendProps>;
export declare type SingleColorLegendProps = {
    width: number;
    color: string;
};
/** @type {typeof import('./map-legend').SingleColorLegend} */
export declare const SingleColorLegend: React.FC<SingleColorLegendProps>;
export declare type LayerColorLegendProps = {
    description: VisualChannelDescription;
    config: LayerBaseConfig;
    width: number;
    colorChannel: VisualChannel;
};
/** @type {typeof import('./map-legend').LayerColorLegend} */
export declare const LayerColorLegend: React.FC<LayerColorLegendProps>;
export declare type LayerLegendHeaderProps = {
    layer: Layer;
    options?: {
        showLayerName?: boolean;
    };
};
export declare function LayerLegendHeaderFactory(): React.FC<LayerLegendHeaderProps>;
export declare type LayerLegendContentProps = {
    layer: Layer;
    containerW: number;
};
export declare function LayerLegendContentFactory(): React.FC<LayerLegendContentProps>;
export declare type MapLegendProps = {
    layers?: ReadonlyArray<Layer>;
    width?: number;
    mapHeight?: number;
    options?: {
        showLayerName?: boolean;
    };
};
declare function MapLegendFactory(LayerLegendHeader: any, LayerLegendContent: any): React.FC<MapLegendProps>;
declare namespace MapLegendFactory {
    var deps: (typeof LayerLegendHeaderFactory | typeof LayerLegendContentFactory)[];
}
export default MapLegendFactory;
