///
import Layer, { LayerBaseConfig, LayerColumn } from '../base-layer';
import { TripsLayer as DeckGLTripsLayer } from '@deck.gl/geo-layers';
import TripLayerIcon from './trip-layer-icon';
import { GeojsonDataMaps } from 'layers/geojson-layer/geojson-utils';
import { DataContainerInterface } from '../../utils/table-utils/data-container-interface';
import { ColorRange } from '../../constants/color-ranges';
import { VisConfigColorRange, VisConfigNumber, VisConfigRange } from '../layer-factory';
import { Merge } from '../../reducers';
import { KeplerTable } from '../../utils';
export type TripLayerVisConfigSettings = {
opacity: VisConfigNumber;
thickness: VisConfigNumber;
colorRange: VisConfigColorRange;
trailLength: VisConfigNumber;
sizeRange: VisConfigRange;
};
export type TripLayerColumnsConfig = {
geojson: LayerColumn;
};
export type TripLayerVisConfig = {
opacity: number;
thickness: number;
colorRange: ColorRange;
trailLength: number;
sizeRange: [number, number];
};
export type TripLayerConfig = Merge;
export type TripLayerMeta = {
getFeature: any;
};
export declare const defaultThickness = 0.5;
export declare const defaultLineWidth = 1;
export declare const tripVisConfigs: {
opacity: 'opacity';
thickness: VisConfigNumber;
colorRange: 'colorRange';
trailLength: 'trailLength';
sizeRange: 'strokeWidthRange';
};
export declare const geoJsonRequiredColumns: ['geojson'];
export declare const featureAccessor: ({ geojson }: TripLayerColumnsConfig) => (dc: DataContainerInterface) => (d: any) => any;
export declare const featureResolver: ({ geojson }: TripLayerColumnsConfig) => number;
export default class TripLayer extends Layer {
visConfigSettings: TripLayerVisConfigSettings;
config: TripLayerConfig;
meta: TripLayerMeta;
dataToFeature: GeojsonDataMaps;
dataToTimeStamp: {}[];
getFeature: (columns: TripLayerColumnsConfig) => (dataContainer: DataContainerInterface) => any;
_layerInfoModal: () => JSX.Element;
constructor(props: any);
static get type(): 'trip';
get type(): "trip";
get name(): 'Trip';
get layerIcon(): typeof TripLayerIcon;
get requiredLayerColumns(): ["geojson"];
get visualChannels(): {
color: {
accessor: string;
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;
condition?: (config: any) => boolean;
fixed?: any;
supportedFieldTypes?: ("string" | "boolean" | "point" | "geojson" | "date" | "integer" | "real" | "timestamp")[];
aggregation?: import("../base-layer").VisualChannelAggregation;
};
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;
};
};
get animationDomain(): null;
get layerInfoModal(): {
id: string;
template: () => JSX.Element;
modalProps: {
title: string;
};
};
getPositionAccessor(dataContainer: DataContainerInterface): any;
static findDefaultLayerProps({ label, fields, dataContainer, id }: KeplerTable, foundLayers: any[]): {
props: any[];
foundLayers?: undefined;
} | {
props: {
label: string;
columns: any;
isVisible: boolean;
}[];
foundLayers: any[];
};
getDefaultLayerConfig(props: any): {
animation: {
enabled: boolean;
domain: any;
};
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;
};
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): {};
updateAnimationDomain(domain: any): void;
updateLayerMeta(dataContainer: any): void;
setInitialLayerConfig({ dataContainer }: {
dataContainer: any;
}): this;
renderLayer(opts: any): DeckGLTripsLayer[];
}