import type Collection from "../../core/Collection.js";
import type LayerView from "./LayerView.js";

export type CatalogDynamicGroupLayerViewMixinProperties = any;

/**
 * Represents the [LayerView](https://developers.arcgis.com/javascript/latest/references/core/views/layers/LayerView/) of a [CatalogLayer's dynamicGroupLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/CatalogLayer/#dynamicGroupLayer)
 * after the CatalogLayer has been added to a [Map](https://developers.arcgis.com/javascript/latest/references/core/Map/) in either a [MapView](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/), [Map component](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-map/),
 * [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/) or [Scene component](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-scene/).
 * The CatalogDynamicGroupLayerView provides access to a collection of [LayerViews](https://developers.arcgis.com/javascript/latest/references/core/views/layers/LayerView/). Each layer view represents a layer
 * in [CatalogDynamicGroupLayer.layers](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogDynamicGroupLayer/#layers) collection of the [CatalogDynamicGroupLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogDynamicGroupLayer/).
 *
 * @since 4.30
 * @see [CatalogDynamicGroupLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogDynamicGroupLayer/)
 * @see [CatalogLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/CatalogLayer/)
 */
export default abstract class CatalogDynamicGroupLayerView extends LayerView {
  /**
   * A collection of layer views within the CatalogDynamicGroupLayerView.
   * Each layer view represents a layer in [CatalogDynamicGroupLayer.layers](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogDynamicGroupLayer/#layers) collection
   * of the [CatalogDynamicGroupLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogDynamicGroupLayer/).
   */
  get layerViews(): Collection<LayerView>;
}