/// import IconLayerIcon from './icon-layer-icon'; import Layer, { LayerBaseConfig, LayerColumn } from '../base-layer'; import { DataContainerInterface } from '../../utils/table-utils/data-container-interface'; import { VisConfigBoolean, VisConfigColorRange, VisConfigNumber, VisConfigRange } from '../layer-factory'; import { ColorRange } from '../../constants/color-ranges'; import { Merge } from '../../reducers'; import { KeplerTable } from '../../utils'; export type IconLayerColumnsConfig = { lat: LayerColumn; lng: LayerColumn; altitude: LayerColumn; icon: LayerColumn; }; type IconGeometry = {} | null; export type IconLayerVisConfigSettings = { radius: VisConfigNumber; fixedRadius: VisConfigBoolean; opacity: VisConfigNumber; colorRange: VisConfigColorRange; radiusRange: VisConfigRange; }; export type IconLayerVisConfig = { radius: number; fixedRadius: boolean; opacity: number; colorRange: ColorRange; radiusRange: [number, number]; }; export type IconLayerConfig = Merge; export type IconLayerData = { index: number; icon: string; }; export declare const SVG_ICON_URL: string; export declare const iconPosAccessor: ({ lat, lng, altitude }: IconLayerColumnsConfig) => (dc: DataContainerInterface) => (d: any) => any[]; export declare const iconAccessor: ({ icon }: IconLayerColumnsConfig) => (dc: DataContainerInterface) => (d: any) => any; export declare const iconRequiredColumns: ['lat', 'lng', 'icon']; export declare const iconOptionalColumns: ['altitude']; export declare const pointVisConfigs: { radius: 'radius'; fixedRadius: 'fixedRadius'; opacity: 'opacity'; colorRange: 'colorRange'; radiusRange: 'radiusRange'; }; export default class IconLayer extends Layer { getIconAccessor: (dataContainer: DataContainerInterface) => (d: any) => any; _layerInfoModal: () => JSX.Element; iconGeometry: IconGeometry; visConfigSettings: IconLayerVisConfigSettings; config: IconLayerConfig; constructor(props?: { id?: string; iconGeometry?: IconGeometry; } & Partial); get type(): 'icon'; get requiredLayerColumns(): ["lat", "lng", "icon"]; get optionalColumns(): ["altitude"]; get columnPairs(): import("../base-layer").ColumnPairs; get layerIcon(): typeof IconLayerIcon; get visualChannels(): { color: { accessor: string; defaultValue: (config: any) => any; 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; fixed?: any; supportedFieldTypes?: ("string" | "boolean" | "point" | "geojson" | "date" | "integer" | "real" | "timestamp")[]; aggregation?: import("../base-layer").VisualChannelAggregation; }; size: { property: string; range: string; channelScaleType: string; accessor: string; defaultValue: number; field: string; scale: string; domain: string; key: string; nullValue?: any; defaultMeasure?: any; condition?: (config: any) => boolean; getAttributeValue?: (config: any) => (d: any) => any; fixed?: any; supportedFieldTypes?: ("string" | "boolean" | "point" | "geojson" | "date" | "integer" | "real" | "timestamp")[]; aggregation?: import("../base-layer").VisualChannelAggregation; }; }; get layerInfoModal(): { id: string; template: () => JSX.Element; modalProps: { title: string; }; }; getSvgIcons(): void; static findDefaultLayerProps({ fieldPairs, fields }: KeplerTable): { props: any[]; }; calculateDataAttribute({ dataContainer, filteredIndex }: KeplerTable, getPosition: any): IconLayerData[]; formatLayerData(datasets: any, oldLayerData: any): {}; updateLayerMeta(dataContainer: any, getPosition: any): void; renderLayer(opts: any): any[]; } export {};