import MapboxGLLayer, { MapboxLayerGLConfig } from '../mapboxgl-layer'; import HeatmapLayerIcon from './heatmap-layer-icon'; import { LayerColumn, LayerWeightConfig, VisualChannels } from '../base-layer'; import { DataContainerInterface } from 'utils/table-utils/data-container-interface'; import { VisConfigColorRange, VisConfigNumber } from '../layer-factory'; import { ColorRange } from 'constants/color-ranges'; import { Merge } from 'reducers'; export type HeatmapLayerVisConfigSettings = { opacity: VisConfigNumber; colorRange: VisConfigColorRange; radius: VisConfigNumber; }; export type HeatmapLayerColumnsConfig = { lat: LayerColumn; lng: LayerColumn; }; export type HeatmapLayerVisConfig = { opacity: number; colorRange: ColorRange; radius: number; }; export type HeatmapLayerVisualChannelConfig = LayerWeightConfig; export type HeatmapLayerConfig = Merge & HeatmapLayerVisualChannelConfig; export declare const MAX_ZOOM_LEVEL = 18; export declare const pointPosAccessor: ({ lat, lng }: HeatmapLayerColumnsConfig) => (dc: DataContainerInterface) => (d: any) => any[]; export declare const pointColResolver: ({ lat, lng }: HeatmapLayerColumnsConfig) => string; export declare const heatmapVisConfigs: { opacity: 'opacity'; colorRange: 'colorRange'; radius: 'heatmapRadius'; }; declare class HeatmapLayer extends MapboxGLLayer { visConfigSettings: HeatmapLayerVisConfigSettings; config: HeatmapLayerConfig; getPosition: (config: HeatmapLayerColumnsConfig) => any; constructor(props: any); get type(): 'heatmap'; get visualChannels(): VisualChannels; get layerIcon(): typeof HeatmapLayerIcon; getVisualChannelDescription(channel: any): { label: string; measure: string; }; getDefaultLayerConfig(props?: {}): HeatmapLayerConfig; getPositionAccessor(dataContainer: any): any; updateLayerMeta(dataContainer: any): void; columnsSelector: (config: any) => string; visConfigSelector: (config: any) => any; weightFieldSelector: (config: any) => any; weightDomainSelector: (config: any) => any; paintSelector: ((state: any) => { 'heatmap-weight': number | any[]; 'heatmap-intensity': (string | number | string[])[]; 'heatmap-color': (string | number | string[])[]; 'heatmap-radius': any[]; 'heatmap-opacity': any; }) & import("reselect").OutputSelectorFields<(args_0: any, args_1: any, args_2: any) => { 'heatmap-weight': number | any[]; 'heatmap-intensity': (string | number | string[])[]; 'heatmap-color': (string | number | string[])[]; 'heatmap-radius': any[]; 'heatmap-opacity': any; }, { clearCache: () => void; }> & { clearCache: () => void; }; computeHeatmapConfiguration: ((state: any, datasets: any) => { filter?: unknown; type: string; id: string; source: string; layout: { visibility: string; }; maxzoom: number; paint: { 'heatmap-weight': number | any[]; 'heatmap-intensity': (string | number | string[])[]; 'heatmap-color': (string | number | string[])[]; 'heatmap-radius': any[]; 'heatmap-opacity': any; }; }) & import("reselect").OutputSelectorFields<(args_0: string, args_1: unknown, args_2: { 'heatmap-weight': number | any[]; 'heatmap-intensity': (string | number | string[])[]; 'heatmap-color': (string | number | string[])[]; 'heatmap-radius': any[]; 'heatmap-opacity': any; }) => { filter?: unknown; type: string; id: string; source: string; layout: { visibility: string; }; maxzoom: number; paint: { 'heatmap-weight': number | any[]; 'heatmap-intensity': (string | number | string[])[]; 'heatmap-color': (string | number | string[])[]; 'heatmap-radius': any[]; 'heatmap-opacity': any; }; }, { clearCache: () => void; }> & { clearCache: () => void; }; formatLayerData(datasets: any, oldLayerData: any): { columns?: undefined; config?: undefined; data?: undefined; weightField?: undefined; getPosition?: undefined; } | { columns: HeatmapLayerColumnsConfig; config: { filter?: unknown; type: string; id: string; source: string; layout: { visibility: string; }; maxzoom: number; paint: { 'heatmap-weight': number | any[]; 'heatmap-intensity': (string | number | string[])[]; 'heatmap-color': (string | number | string[])[]; 'heatmap-radius': any[]; 'heatmap-opacity': any; }; }; data: any[]; weightField: import("../../utils/table-utils/kepler-table").Field; getPosition: any; }; } export default HeatmapLayer;