import Layer, { LayerBaseConfig, LayerColorConfig, LayerColumn, LayerHeightConfig, LayerRadiusConfig, LayerSizeConfig, LayerStrokeColorConfig } from '../base-layer'; import { GeoJsonLayer as DeckGLGeoJsonLayer } from '@deck.gl/layers'; import { GeojsonDataMaps } from './geojson-utils'; import GeojsonLayerIcon from './geojson-layer-icon'; import { VisConfigNumber, VisConfigColorSelect, VisConfigColorRange, VisConfigRange, VisConfigBoolean } from '../layer-factory'; import { DataContainerInterface } from '../../utils/table-utils/data-container-interface'; import { Merge, RGBColor } from '../../reducers'; import { ColorRange } from '../../constants/color-ranges'; import { KeplerTable } from '../../utils'; export declare const geojsonVisConfigs: { opacity: 'opacity'; strokeOpacity: VisConfigNumber; thickness: VisConfigNumber; strokeColor: 'strokeColor'; colorRange: 'colorRange'; strokeColorRange: 'strokeColorRange'; radius: 'radius'; sizeRange: 'strokeWidthRange'; radiusRange: 'radiusRange'; heightRange: 'elevationRange'; elevationScale: 'elevationScale'; enableElevationZoomFactor: 'enableElevationZoomFactor'; stroked: 'stroked'; filled: 'filled'; enable3d: 'enable3d'; wireframe: 'wireframe'; }; export type GeoJsonVisConfigSettings = { opacity: VisConfigNumber; strokeOpacity: VisConfigNumber; thickness: VisConfigNumber; strokeColor: VisConfigColorSelect; colorRange: VisConfigColorRange; strokeColorRange: VisConfigColorRange; radius: VisConfigNumber; sizeRange: VisConfigRange; radiusRange: VisConfigRange; heightRange: VisConfigRange; elevationScale: VisConfigNumber; enableElevationZoomFactor: VisConfigBoolean; stroked: VisConfigBoolean; filled: VisConfigBoolean; enable3d: VisConfigBoolean; wireframe: VisConfigBoolean; }; export type GeoJsonLayerColumnsConfig = { geojson: LayerColumn; }; export type GeoJsonLayerVisConfig = { opacity: number; strokeOpacity: number; thickness: number; strokeColor: RGBColor; colorRange: ColorRange; strokeColorRange: ColorRange; radius: number; sizeRange: [number, number]; radiusRange: [number, number]; heightRange: [number, number]; elevationScale: number; enableElevationZoomFactor: boolean; stroked: boolean; filled: boolean; enable3d: boolean; wireframe: boolean; }; type GeoJsonLayerVisualChannelConfig = LayerColorConfig & LayerStrokeColorConfig & LayerSizeConfig & LayerHeightConfig & LayerRadiusConfig; export type GeoJsonLayerConfig = Merge & GeoJsonLayerVisualChannelConfig; export type GeoJsonLayerMeta = { featureTypes?: { polygon: boolean; point: boolean; line: boolean; }; fixedRadius?: boolean; }; export declare const geoJsonRequiredColumns: ['geojson']; export declare const featureAccessor: ({ geojson }: GeoJsonLayerColumnsConfig) => (dc: DataContainerInterface) => (d: any) => any; export declare const defaultElevation = 500; export declare const defaultLineWidth = 1; export declare const defaultRadius = 1; export default class GeoJsonLayer extends Layer { config: GeoJsonLayerConfig; visConfigSettings: GeoJsonVisConfigSettings; meta: GeoJsonLayerMeta; dataToFeature: GeojsonDataMaps; constructor(props: any); get type(): "geojson"; static get type(): 'geojson'; get name(): string; get layerIcon(): typeof GeojsonLayerIcon; get requiredLayerColumns(): ["geojson"]; get visualChannels(): { color: { accessor: string; condition: (config: any) => any; nullValue: any; getAttributeValue: (config: any) => (d: any) => any; defaultValue: (config: any) => any; property: string; field: string; scale: string; domain: string; range: string; key: string; channelScaleType: string; defaultMeasure?: any; fixed?: any; supportedFieldTypes?: ("string" | "boolean" | "point" | "geojson" | "date" | "integer" | "real" | "timestamp")[]; aggregation?: import("../base-layer").VisualChannelAggregation; }; strokeColor: { property: string; field: string; scale: string; domain: string; range: string; key: string; channelScaleType: "color"; accessor: string; condition: (config: any) => any; nullValue: any; getAttributeValue: (config: any) => (d: any) => any; defaultValue: (config: any) => any; }; size: { property: string; accessor: string; condition: (config: any) => any; nullValue: number; getAttributeValue: () => (d: any) => any; field: string; scale: string; domain: string; range: string; key: string; channelScaleType: string; defaultMeasure?: any; defaultValue?: any; fixed?: any; supportedFieldTypes?: ("string" | "boolean" | "point" | "geojson" | "date" | "integer" | "real" | "timestamp")[]; aggregation?: import("../base-layer").VisualChannelAggregation; }; height: { property: string; field: string; scale: string; domain: string; range: string; key: string; channelScaleType: "size"; accessor: string; condition: (config: any) => any; nullValue: number; getAttributeValue: () => (d: any) => any; }; radius: { property: string; field: string; scale: string; domain: string; range: string; key: string; channelScaleType: "radius"; accessor: string; nullValue: number; getAttributeValue: () => (d: any) => any; }; }; static findDefaultLayerProps({ label, fields }: KeplerTable): { props: { label: string; columns: any; isVisible: boolean; }[]; }; getDefaultLayerConfig(props?: {}): { heightField: any; heightDomain: number[]; heightScale: string; radiusField: any; radiusDomain: number[]; radiusScale: string; strokeColorField: any; strokeColorDomain: number[]; strokeColorScale: string; dataId: string; label: string; color: RGBColor; columns: import("../base-layer").LayerColumns; isVisible: boolean; isConfigActive: boolean; highlightColor: import("../../reducers").RGBAColor | 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; }; getHoverData(object: any, dataContainer: any): any; calculateDataAttribute({ dataContainer, filteredIndex }: { dataContainer: any; filteredIndex: any; }, getPosition: any): any; formatLayerData(datasets: any, oldLayerData: any): {}; updateLayerMeta(dataContainer: any): void; setInitialLayerConfig({ dataContainer }: { dataContainer: any; }): this; renderLayer(opts: any): DeckGLGeoJsonLayer[]; } export {};