///
import { ScenegraphLayer as DeckScenegraphLayer } from '@deck.gl/mesh-layers';
import Layer, { LayerBaseConfig, LayerColumn } from '../base-layer';
import ScenegraphLayerIcon from './scenegraph-layer-icon';
import { VisConfigColorRange, VisConfigNumber } from '../layer-factory';
import { ColorRange } from '../../constants/color-ranges';
import { Merge } from '../../reducers';
import { DataContainerInterface } from '../../utils/table-utils/data-container-interface';
import { KeplerTable } from '../../utils';
export type ScenegraphLayerVisConfigSettings = {
opacity: VisConfigNumber;
colorRange: VisConfigColorRange;
sizeScale: VisConfigNumber;
angleX: VisConfigNumber;
angleY: VisConfigNumber;
angleZ: VisConfigNumber;
};
export type ScenegraphLayerColumnsConfig = {
lat: LayerColumn;
lng: LayerColumn;
altitude?: LayerColumn;
};
export type ScenegraphLayerVisConfig = {
opacity: number;
colorRange: ColorRange;
sizeScale: number;
angleX: number;
angleY: number;
angleZ: number;
scenegraph: string;
};
export type ScenegraphLayerConfig = Merge;
export type ScenegraphLayerData = {
position: number[];
index: number;
};
export declare const scenegraphRequiredColumns: ['lat', 'lng'];
export declare const scenegraphOptionalColumns: ['altitude'];
export declare const scenegraphPosAccessor: ({ lat, lng, altitude }: ScenegraphLayerColumnsConfig) => (dc: DataContainerInterface) => (d: any) => any[];
export declare const scenegraphVisConfigs: {
opacity: 'opacity';
colorRange: 'colorRange';
sizeScale: 'sizeScale';
angleX: VisConfigNumber;
angleY: VisConfigNumber;
angleZ: VisConfigNumber;
};
export default class ScenegraphLayer extends Layer {
visConfigSettings: ScenegraphLayerVisConfigSettings;
config: ScenegraphLayerConfig;
_layerInfoModal: () => JSX.Element;
constructor(props: any);
get type(): '3D';
get requiredLayerColumns(): ["lat", "lng"];
get optionalColumns(): ["altitude"];
get columnPairs(): import("../base-layer").ColumnPairs;
get layerIcon(): typeof ScenegraphLayerIcon;
get layerInfoModal(): {
id: string;
template: () => JSX.Element;
modalProps: {
title: string;
};
};
calculateDataAttribute({ dataContainer, filteredIndex }: KeplerTable, getPosition: any): ScenegraphLayerData[];
formatLayerData(datasets: any, oldLayerData: any): {
data?: undefined;
getPosition?: undefined;
getFilterValue?: undefined;
} | {
data: any[];
getPosition: (...args: any[]) => any;
getFilterValue: any;
};
updateLayerMeta(dataContainer: any, getPosition: any): void;
renderLayer(opts: any): DeckScenegraphLayer[];
}