import LineLayerIcon from './line-layer-icon'; import ArcLayer, { ArcLayerConfig } from '../arc-layer/arc-layer'; import EnhancedLineLayer from 'deckgl-layers/line-layer/line-layer'; import { LayerColumn } from '../base-layer'; import { VisConfigColorRange, VisConfigColorSelect, VisConfigNumber, VisConfigRange } from '../layer-factory'; import { ColorRange } from '../../constants/color-ranges'; import { Merge, RGBColor } from '../../reducers'; import { DataContainerInterface } from 'utils/table-utils/data-container-interface'; import { KeplerTable } from '../../utils'; export type LineLayerVisConfigSettings = { opacity: VisConfigNumber; thickness: VisConfigNumber; colorRange: VisConfigColorRange; sizeRange: VisConfigRange; targetColor: VisConfigColorSelect; elevationScale: VisConfigNumber; }; export type LineLayerColumnsConfig = { lat0: LayerColumn; lng0: LayerColumn; lat1: LayerColumn; lng1: LayerColumn; alt0?: LayerColumn; alt1?: LayerColumn; }; export type LineLayerVisConfig = { colorRange: ColorRange; opacity: number; sizeRange: [number, number]; targetColor: RGBColor; thickness: number; elevationScale: number; }; export type LineLayerConfig = Merge; export declare const linePosAccessor: ({ lat0, lng0, lat1, lng1, alt0, alt1 }: LineLayerColumnsConfig) => (dc: DataContainerInterface) => (d: any) => any[]; export declare const lineRequiredColumns: ['lat0', 'lng0', 'lat1', 'lng1']; export declare const lineOptionalColumns: ['alt0', 'alt1']; export declare const lineColumnLabels: { lat0: string; lng0: string; lat1: string; lng1: string; alt0: string; alt1: string; }; export declare const lineVisConfigs: { opacity: 'opacity'; thickness: 'thickness'; colorRange: 'colorRange'; sizeRange: 'strokeWidthRange'; targetColor: 'targetColor'; elevationScale: VisConfigNumber; }; export default class LineLayer extends ArcLayer { visConfigSettings: LineLayerVisConfigSettings; config: LineLayerConfig; constructor(props: any); get type(): string; get layerIcon(): typeof LineLayerIcon; get requiredLayerColumns(): ["lat0", "lng0", "lat1", "lng1"]; get optionalColumns(): ["alt0", "alt1"]; get columnLabels(): { lat0: string; lng0: string; lat1: string; lng1: string; alt0: string; alt1: string; }; get visualChannels(): { sourceColor: { accessor: string; property: string; key: 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: { columns: LineLayerColumnsConfig; label: string; }[]; }; renderLayer(opts: any): EnhancedLineLayer[]; }