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

export interface CatalogDynamicGroupLayerViewMixinProperties {}

/**
 * Represents the [LayerView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-LayerView.html) of a [CatalogLayer's dynamicGroupLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CatalogLayer.html#dynamicGroupLayer)
 * after the CatalogLayer has been added to a [Map](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html) in either a [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) or
 * [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html).
 * The CatalogDynamicGroupLayerView provides access to a collection of [LayerViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-LayerView.html). Each layer view represents a layer
 * in [CatalogDynamicGroupLayer#layers](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-catalog-CatalogDynamicGroupLayer.html#layers) collection of the [CatalogDynamicGroupLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-catalog-CatalogDynamicGroupLayer.html).
 *
 * @since 4.30
 * @see [CatalogDynamicGroupLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-catalog-CatalogDynamicGroupLayer.html)
 * @see [CatalogLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CatalogLayer.html)
 */
export abstract class CatalogDynamicGroupLayerViewMixin {
  constructor(...args: any[]);
  /**
   * A collection of layer views within the CatalogDynamicGroupLayerView.
   * Each layer view represents a layer in [CatalogDynamicGroupLayer#layers](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-catalog-CatalogDynamicGroupLayer.html#layers) collection
   * of the [CatalogDynamicGroupLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-catalog-CatalogDynamicGroupLayer.html).
   */
  get layerViews(): Collection<LayerView>;
}

export abstract class CatalogDynamicGroupLayerView extends CatalogDynamicGroupLayerViewSuperclass {}
declare const CatalogDynamicGroupLayerViewSuperclass: & typeof LayerView & typeof CatalogDynamicGroupLayerViewMixin