import type BaseImageMeasureResult from "./BaseImageMeasureResult.js";
import type ImageMeasureResultLengthValue from "./ImageMeasureResultLengthValue.js";
import type { ImageMeasureResultLengthValueProperties } from "./ImageMeasureResultLengthValue.js";
import type { BaseImageMeasureResultProperties } from "./BaseImageMeasureResult.js";

export interface ImageHeightResultProperties extends BaseImageMeasureResultProperties {
  /** An object containing results of the height measurement. */
  height?: ImageMeasureResultLengthValueProperties;
}

/**
 * Image service height mensuration result returned when the [ImageryLayer#measureHeight()](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html#measureHeight)
 * or [measureHeight()](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-imageService.html#measureHeight) methods resolve successfully.
 *
 * @since 4.26
 * @see [ImageryLayer#measureHeight()](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html#measureHeight)
 * @see [measureHeight()](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-imageService.html#measureHeight)
 * @see [ImageHeightParameters](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageHeightParameters.html)
 */
export default class ImageHeightResult extends BaseImageMeasureResult {
  constructor(properties?: ImageHeightResultProperties);
  /** An object containing results of the height measurement. */
  get height(): ImageMeasureResultLengthValue;
  set height(value: ImageMeasureResultLengthValueProperties);
}