/// import Layer, { LayerBaseConfig, LayerColorConfig, LayerColumn, LayerCoverageConfig, LayerSizeConfig } from '../base-layer'; import { GeoJsonLayer } from '@deck.gl/layers'; import { H3HexagonLayer } from '@deck.gl/geo-layers'; import { Centroid } from './h3-utils'; import H3HexagonLayerIcon from './h3-hexagon-layer-icon'; import { VisConfigBoolean, VisConfigColorRange, VisConfigNumber, VisConfigRange } from '../layer-factory'; import { Merge } from '../../reducers'; import { DataContainerInterface } from '../../utils/table-utils/data-container-interface'; import { ColorRange } from '../../constants/color-ranges'; import { KeplerTable } from '../../utils'; export type HexagonIdLayerColumnsConfig = { hex_id: LayerColumn; }; export type HexagonIdLayerVisConfigSettings = { opacity: VisConfigNumber; colorRange: VisConfigColorRange; coverage: VisConfigNumber; enable3d: VisConfigBoolean; sizeRange: VisConfigRange; coverageRange: VisConfigRange; elevationScale: VisConfigNumber; enableElevationZoomFactor: VisConfigBoolean; }; export type HexagonIdLayerVisConfig = { opacity: number; colorRange: ColorRange; coverage: number; enable3d: boolean; sizeRange: [number, number]; coverageRange: [number, number]; elevationScale: number; enableElevationZoomFactor: boolean; }; export type HexagonIdLayerVisualChannelConfig = LayerColorConfig & LayerSizeConfig & LayerCoverageConfig; export type HexagonIdLayerConfig = Merge & HexagonIdLayerVisualChannelConfig; export type HexagonIdLayerData = { index: number; id: any; centroid: Centroid; }; export declare const hexIdRequiredColumns: ['hex_id']; export declare const hexIdAccessor: ({ hex_id }: HexagonIdLayerColumnsConfig) => (dc: DataContainerInterface) => (d: any) => any; export declare const defaultElevation = 500; export declare const defaultCoverage = 1; export declare const HexagonIdVisConfigs: { opacity: 'opacity'; colorRange: 'colorRange'; coverage: 'coverage'; enable3d: 'enable3d'; sizeRange: 'elevationRange'; coverageRange: 'coverageRange'; elevationScale: 'elevationScale'; enableElevationZoomFactor: 'enableElevationZoomFactor'; }; export default class HexagonIdLayer extends Layer { dataToFeature: { centroids: Centroid[]; }; config: HexagonIdLayerConfig; visConfigSettings: HexagonIdLayerVisConfigSettings; constructor(props: any); get type(): 'hexagonId'; get name(): 'H3'; get requiredLayerColumns(): ["hex_id"]; get layerIcon(): typeof H3HexagonLayerIcon; get visualChannels(): { color: { accessor: string; property: string; field: string; scale: string; domain: string; range: string; key: string; channelScaleType: string; nullValue?: any; defaultMeasure?: any; condition?: (config: any) => boolean; getAttributeValue?: (config: any) => (d: any) => any; defaultValue?: any; fixed?: any; supportedFieldTypes?: ("string" | "boolean" | "point" | "geojson" | "date" | "integer" | "real" | "timestamp")[]; aggregation?: import("../base-layer").VisualChannelAggregation; }; size: { property: string; accessor: string; nullValue: number; condition: (config: any) => any; defaultValue: number; field: string; scale: string; domain: string; range: string; key: string; channelScaleType: string; defaultMeasure?: any; getAttributeValue?: (config: any) => (d: any) => any; fixed?: any; supportedFieldTypes?: ("string" | "boolean" | "point" | "geojson" | "date" | "integer" | "real" | "timestamp")[]; aggregation?: import("../base-layer").VisualChannelAggregation; }; coverage: { property: string; field: string; scale: string; domain: string; range: string; key: string; channelScaleType: "radius"; accessor: string; nullValue: number; defaultValue: number; }; }; setInitialLayerConfig(dataset: any): this; static findDefaultLayerProps({ fields, dataContainer }: KeplerTable): { props: any; }; getDefaultLayerConfig(props?: {}): { coverageField: any; coverageDomain: number[]; coverageScale: string; dataId: string; label: string; color: import("../../reducers").RGBColor; columns: import("../base-layer").LayerColumns; isVisible: boolean; isConfigActive: boolean; highlightColor: import("../../reducers").RGBAColor | import("../../reducers").RGBColor; hidden: boolean; visConfig: import("../layer-factory").LayerVisConfig; textLabel: import("../layer-factory").LayerTextLabel[]; colorUI: { color: import("../layer-factory").ColorUI; colorRange: import("../layer-factory").ColorUI; }; animation: { enabled: boolean; domain?: null; }; colorField?: import("../../utils/table-utils/kepler-table").Field; colorDomain?: import("../base-layer").VisualChannelDomain; colorScale?: "point" | "log" | "ordinal" | "quantile" | "quantize" | "linear" | "sqrt" | "custom" | "logarithmic" | "identity"; sizeDomain?: import("../base-layer").VisualChannelDomain; sizeScale?: "point" | "log" | "ordinal" | "quantile" | "quantize" | "linear" | "sqrt" | "custom" | "logarithmic" | "identity"; sizeField?: import("../../utils/table-utils/kepler-table").Field; }; calculateDataAttribute({ dataContainer, filteredIndex }: KeplerTable, getHexId: any): HexagonIdLayerData[]; formatLayerData(datasets: any, oldLayerData: any, opt?: {}): {}; updateLayerMeta(dataContainer: any, getHexId: any): void; renderLayer(opts: any): (H3HexagonLayer | GeoJsonLayer)[]; }