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/references/core/layers/ImageryLayer/#measureHeight)
 * or [measureHeight()](https://developers.arcgis.com/javascript/latest/references/core/rest/imageService/#measureHeight) methods resolve successfully.
 *
 * @since 4.26
 * @see [ImageryLayer.measureHeight()](https://developers.arcgis.com/javascript/latest/references/core/layers/ImageryLayer/#measureHeight)
 * @see [measureHeight()](https://developers.arcgis.com/javascript/latest/references/core/rest/imageService/#measureHeight)
 * @see [ImageHeightParameters](https://developers.arcgis.com/javascript/latest/references/core/rest/support/ImageHeightParameters/)
 */
export default class ImageHeightResult extends BaseImageMeasureResult {
  constructor(properties?: ImageHeightResultProperties);
  /** An object containing results of the height measurement. */
  get height(): ImageMeasureResultLengthValue;
  set height(value: ImageMeasureResultLengthValueProperties);
}