import React, { MouseEventHandler, TouchEventHandler, CSSProperties } from 'react'; import LayerConfiguratorFactory from './layer-configurator'; import LayerPanelHeaderFactory from './layer-panel-header'; import { Datasets } from 'reducers'; import { Layer } from 'layers'; import { toggleModal } from 'actions/ui-state-actions'; import * as VisStateActions from 'actions/vis-state-actions'; import { ActionHandler } from 'actions'; type LayerPanelProps = { className?: string; disabled?: boolean; style?: CSSProperties; onMouseDown?: MouseEventHandler; onTouchStart?: TouchEventHandler; layer: Layer; datasets: Datasets; idx: number; layerTypeOptions: { id: string; label: string; icon: any; requireData: any; }[]; isDraggable?: boolean; openModal: ActionHandler; layerColorUIChange: ActionHandler; layerConfigChange: ActionHandler; layerVisualChannelConfigChange: ActionHandler; layerTypeChange: ActionHandler; layerVisConfigChange: ActionHandler; layerTextLabelChange: ActionHandler; removeLayer: ActionHandler; duplicateLayer: ActionHandler; updateLayerVisualChannelConfigCallback?: Function; }; declare function LayerPanelFactory(LayerConfigurator: ReturnType, LayerPanelHeader: ReturnType): React.ComponentType; declare namespace LayerPanelFactory { var deps: (typeof LayerConfiguratorFactory | typeof LayerPanelHeaderFactory)[]; } export default LayerPanelFactory;