import type LayerView from "./LayerView.js";
import type { ImageryLayerViewMixin, ImageryLayerViewMixinProperties } from "./ImageryLayerViewMixin.js";
import type { LayerViewProperties } from "./LayerView.js";

export interface ImageryLayerViewProperties extends LayerViewProperties, ImageryLayerViewMixinProperties {}

/**
 * Represents the [LayerView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-LayerView.html) of an [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.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 ImageryLayerView is responsible for rendering [ImageryLayerViewMixin#pixelData](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-ImageryLayerViewMixin.html#pixelData) in the
 * [View](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html). Pixel values can be manipulated to add color to an
 * [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html).
 *
 * @since 4.0
 * @see [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html)
 * @see [Sample - Access pixel values in an ImageryLayer](https://developers.arcgis.com/javascript/latest/sample-code/layers-imagery-pixelvalues/)
 */
export default abstract class ImageryLayerView extends ImageryLayerViewSuperclass {}
declare const ImageryLayerViewSuperclass: typeof LayerView & typeof ImageryLayerViewMixin