import Layer, { LayerColumn, LayerBaseConfig, LayerColorConfig, LayerSizeConfig, LayerBounds } from '../base-layer'; import { ArcLayer as DeckArcLayer } from '@deck.gl/layers'; import ArcLayerIcon from './arc-layer-icon'; import { DataContainerInterface } from '../../utils/table-utils/data-container-interface'; import { RGBColor, Merge } from '../../reducers'; import { VisConfigColorRange, VisConfigColorSelect, VisConfigNumber, VisConfigRange } from '../layer-factory'; import { ColorRange } from '../../constants/color-ranges'; import KeplerTable from '../../utils/table-utils/kepler-table'; export type ArcLayerVisConfigSettings = { opacity: VisConfigNumber; thickness: VisConfigNumber; colorRange: VisConfigColorRange; sizeRange: VisConfigRange; targetColor: VisConfigColorSelect; }; export type ArcLayerColumnsConfig = { lat0: LayerColumn; lat1: LayerColumn; lng0: LayerColumn; lng1: LayerColumn; }; export type ArcLayerVisConfig = { colorRange: ColorRange; opacity: number; sizeRange: [number, number]; targetColor: RGBColor; thickness: number; }; export type ArcLayerVisualChannelConfig = LayerColorConfig & LayerSizeConfig; export type ArcLayerConfig = Merge & ArcLayerVisualChannelConfig; export type ArcLayerData = { index: number; sourcePosition: [number, number, number]; targetPosition: [number, number, number]; }; export type ArcLayerMeta = { bounds: LayerBounds; }; export declare const arcPosAccessor: ({ lat0, lng0, lat1, lng1 }: ArcLayerColumnsConfig) => (dc: DataContainerInterface) => (d: any) => any[]; export declare const arcRequiredColumns: string[]; export declare const arcColumnLabels: { lat0: string; lng0: string; lat1: string; lng1: string; }; export declare const arcVisConfigs: { opacity: 'opacity'; thickness: 'thickness'; colorRange: 'colorRange'; sizeRange: 'strokeWidthRange'; targetColor: 'targetColor'; }; export default class ArcLayer extends Layer { visConfigSettings: ArcLayerVisConfigSettings; config: ArcLayerConfig; meta: ArcLayerMeta; constructor(props: any); get type(): string; get isAggregated(): boolean; get layerIcon(): typeof ArcLayerIcon; get requiredLayerColumns(): string[]; get columnLabels(): { lat0: string; lng0: string; lat1: string; lng1: string; }; get columnPairs(): import("../base-layer").ColumnPairs; get visualChannels(): { sourceColor: { property: string; key: string; accessor: string; defaultValue: (config: any) => any; field: string; scale: string; domain: string; range: 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; }; targetColor: { property: string; key: string; accessor: string; defaultValue: (config: any) => any; field: string; scale: string; domain: string; range: 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: { 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; }; }; static findDefaultLayerProps({ fieldPairs }: KeplerTable): { props: { color?: RGBColor; columns: ArcLayerColumnsConfig; label: string; }[]; }; calculateDataAttribute({ dataContainer, filteredIndex }: { dataContainer: any; filteredIndex: any; }, getPosition: any): ArcLayerData[]; formatLayerData(datasets: any, oldLayerData: any): {}; updateLayerMeta(dataContainer: any): void; renderLayer(opts: any): DeckArcLayer[]; }