import type { IEntity } from './common'; import { Feature } from '@turf/turf'; import { ILayerType } from './layer'; export type IDatasetFieldType = 'string' | 'number' | 'boolean'; export interface IDatasetStringField { type: 'string'; name: T | string; values: string[]; uniqueValues: string[]; range?: [number, number]; } export interface IDatasetNumberField { type: 'number'; name: T | string; values: number[]; uniqueValues: number[]; range: [number, number]; } export type IDatasetDownloadType = 'json' | 'csv'; export interface IDatasetBooleanField { type: 'boolean'; name: T | string; } export type IDatasetField = | IDatasetStringField | IDatasetBooleanField | IDatasetNumberField; export type IDatasetGeoJsonMap = Partial<{ [key in ILayerType]: Feature[]; }>; export interface IDatasetGeoJson { enable: boolean; map: IDatasetGeoJsonMap; layerTypes: ILayerType[]; } export interface IExportDataset { src: string; datasetId: string; name: string; } export interface IDataset

> extends IEntity { type: 'json' | 'csv'; url?: string; data: P[]; fields: IDatasetField[]; id: string; geoJson?: IDatasetGeoJson; markColor?: string | null; }