import type LayerView from "./LayerView.js";
import type { FeatureLayerViewMixinProperties, FeatureLayerViewMixin } from "./FeatureLayerViewMixin.js";
import type { HighlightLayerViewMixin, HighlightLayerViewMixinProperties } from "./HighlightLayerViewMixin.js";
import type { LayerViewProperties } from "./LayerView.js";

export interface CSVLayerViewProperties extends HighlightLayerViewMixinProperties, FeatureLayerViewMixinProperties, LayerViewProperties {}

/**
 * Represents the [LayerView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-LayerView.html) of a [CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html)
 * after it 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 CSVLayerView is responsible for rendering a
 * [CSVLayer's](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html)
 * features as [graphics](https://developers.arcgis.com/javascript/latest/api-reference/esri-Graphic.html) in the [View](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html).
 *
 * @since 4.4
 * @see [CSVLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html)
 */
export default interface CSVLayerView extends HighlightLayerViewMixin, FeatureLayerViewMixin, LayerView {}