import { GeoJsonLayer } from '@deck.gl/layers';
import AggregationLayer, { AggregationLayerConfig } from '../aggregation-layer';
import { EnhancedHexagonLayer } from '@kepler.gl/deckgl-layers';
import HexagonLayerIcon from './hexagon-layer-icon';
import { ColorRange, VisConfigBoolean, VisConfigColorRange, VisConfigNumber, VisConfigRange, VisConfigSelection, Merge } from '@kepler.gl/types';
import { AggregationTypes } from '@kepler.gl/constants';
export type HexagonLayerVisConfigSettings = {
    opacity: VisConfigNumber;
    worldUnitSize: VisConfigNumber;
    resolution: VisConfigNumber;
    colorRange: VisConfigColorRange;
    coverage: VisConfigNumber;
    sizeRange: VisConfigRange;
    percentile: VisConfigRange;
    elevationPercentile: VisConfigRange;
    elevationScale: VisConfigNumber;
    enableElevationZoomFactor: VisConfigBoolean;
    colorAggregation: VisConfigSelection;
    sizeAggregation: VisConfigSelection;
    enable3d: VisConfigBoolean;
};
export type HexagonLayerVisConfig = {
    opacity: number;
    worldUnitSize: number;
    resolution: number;
    colorRange: ColorRange;
    coverage: number;
    sizeRange: [number, number];
    percentile: [number, number];
    elevationPercentile: [number, number];
    elevationScale: number;
    enableElevationZoomFactor: boolean;
    colorAggregation: AggregationTypes;
    sizeAggregation: AggregationTypes;
    enable3d: boolean;
};
export type HexagonLayerConfig = Merge<AggregationLayerConfig, {
    visConfig: HexagonLayerVisConfig;
}>;
export declare const hexagonVisConfigs: {
    opacity: 'opacity';
    worldUnitSize: 'worldUnitSize';
    resolution: 'resolution';
    colorRange: 'colorRange';
    coverage: 'coverage';
    sizeRange: 'elevationRange';
    percentile: 'percentile';
    elevationPercentile: 'elevationPercentile';
    elevationScale: 'elevationScale';
    enableElevationZoomFactor: 'enableElevationZoomFactor';
    fixedHeight: 'fixedHeight';
    colorAggregation: 'colorAggregation';
    sizeAggregation: 'sizeAggregation';
    enable3d: 'enable3d';
};
export default class HexagonLayer extends AggregationLayer {
    visConfigSettings: HexagonLayerVisConfigSettings;
    config: HexagonLayerConfig;
    constructor(props: any);
    get type(): 'hexagon';
    get name(): 'Hexbin';
    get layerIcon(): typeof HexagonLayerIcon;
    renderLayer(opts: any): (EnhancedHexagonLayer | GeoJsonLayer<any, {
        visible: any;
        wrapLongitude: false;
        data: {
            type: "Feature";
            properties: {};
            geometry: {
                coordinates: any;
                type: "LineString";
            };
        }[];
        getLineColor: import("@kepler.gl/types").RGBColor | import("@kepler.gl/types").RGBAColor;
        lineWidthScale: number;
        id: string;
        pickable: boolean;
        coordinateSystem: 1;
    }>)[];
}
