import { ArcgisMapLayerType } from '../ArcgisMap/index.types'; import { ArcgisMapType } from '../ArcgisMap/core/createMap'; export type LayoutType = 'DEFAULT' | 'LEFT' | 'RIGHT'; export interface TreeNodeTypes { isGraphic: any; dataType: any; fileId: boolean | string; id: any; name: string; layer: any; dataSource?: string; layers?: any[]; type?: ArcgisMapLayerType; url?: string; proxyUrl?: string; dataYear?: string; opacity?: number; layout?: LayoutType; nodeItem?: any; geoJson?: any; cesiumSupport?: boolean; children?: TreeNodeTypes[]; geometryType?: string; hasData: boolean; isDrawGraphic?: boolean; graphic?: any; queryType?: string; serverFields?: any[]; featureId?: string; serverId?: any; blendMode?: string; isYJDVectorTileLayer?: boolean; } export interface ControlItemProps { data: TreeNodeTypes; index: number; mapMode: string; mapInstance: ArcgisMapType; isInitFinish?: boolean; isExpand?: boolean; isDragOverlay?: boolean; isSplit?: boolean; isPanel?: boolean; attributes?: any; listeners?: any; setNodeRef?: any; transform?: any; transition?: any; onExpandChange?: (key: string, status: boolean) => void; onOpacity?: (opacity: number, data: any) => void; onLocation?: (key: string) => void; onRemove?: (key: string) => void; onStatistics?: (data: any) => void; onSplit?: (key: string, layout: LayoutType, node: TreeNodeTypes) => void; onViewTable?: (key: string, layerName: string) => void; onStyle?: (data: any) => void; controlBtn?: any; querySelectId?: any; btnType?: any; onQuery?: (data: any, type: 'query' | 'analysis', quertType?: 'point' | 'polygon' | 'rectangle') => void; } export interface SortItemProps { data: TreeNodeTypes; index: number; mapMode: string; mapInstance: ArcgisMapType; isInitFinish?: boolean; isSplit?: boolean; isExpand?: boolean; isPanel?: boolean; controlBtn?: any; querySelectId?: any; btnType?: any; } export interface ControlProps { mapMode: string; data: TreeNodeTypes[]; mapInstance: ArcgisMapType; layerList: any[]; collapse?: boolean; height?: number; isPanel?: boolean; styleShowData?: any; } export interface SplitListDataType { key: string; node: TreeNodeTypes; layout: LayoutType; }