import type WFSLayer from "@arcgis/core/layers/WFSLayer.js";
import type WCSLayer from "@arcgis/core/layers/WCSLayer.js";
import type VoxelLayer from "@arcgis/core/layers/VoxelLayer.js";
import type SubtypeSublayer from "@arcgis/core/layers/support/SubtypeSublayer.js";
import type SubtypeGroupLayer from "@arcgis/core/layers/SubtypeGroupLayer.js";
import type Sublayer from "@arcgis/core/layers/support/Sublayer.js";
import type StreamLayer from "@arcgis/core/layers/StreamLayer.js";
import type SceneLayer from "@arcgis/core/layers/SceneLayer.js";
import type ParquetLayer from "@arcgis/core/layers/ParquetLayer.js";
import type OrientedImageryLayer from "@arcgis/core/layers/OrientedImageryLayer.js";
import type OGCFeatureLayer from "@arcgis/core/layers/OGCFeatureLayer.js";
import type KnowledgeGraphSublayer from "@arcgis/core/layers/knowledgeGraph/KnowledgeGraphSublayer.js";
import type ImageryTileLayer from "@arcgis/core/layers/ImageryTileLayer.js";
import type ImageryLayer from "@arcgis/core/layers/ImageryLayer.js";
import type GeoJSONLayer from "@arcgis/core/layers/GeoJSONLayer.js";
import type FeatureLayer from "@arcgis/core/layers/FeatureLayer.js";
import type CSVLayer from "@arcgis/core/layers/CSVLayer.js";
import type CatalogLayer from "@arcgis/core/layers/CatalogLayer.js";
import type CatalogFootprintLayer from "@arcgis/core/layers/catalog/CatalogFootprintLayer.js";

/**
 * All supported layer types
 *
 * @internal
 */
export type FieldPickListLayer = CatalogFootprintLayer | CatalogLayer | CSVLayer | FeatureLayer | GeoJSONLayer | ImageryLayer | ImageryTileLayer | KnowledgeGraphSublayer | OGCFeatureLayer | OrientedImageryLayer | ParquetLayer | SceneLayer | StreamLayer | Sublayer | SubtypeGroupLayer | SubtypeSublayer | VoxelLayer | WCSLayer | WFSLayer;