import type { JSONSupport } from "../../core/JSONSupport.js";

/** @since 5.0 */
export interface BaseImageMeasureResultValueProperties extends Partial<Pick<BaseImageMeasureResultValue, "displayValue" | "uncertainty" | "unit" | "value">> {}

/**
 * An object containing measurement values returned from a mensuration operation. See the object specification table below for details.
 *
 * @since 4.26
 */
export default class BaseImageMeasureResultValue extends JSONSupport {
  constructor(properties?: BaseImageMeasureResultValueProperties);
  /**
   * Measured value represented in significant figures in string format. Display value takes a count into uncertainty.
   *
   * @since 5.0
   */
  accessor displayValue: string;
  /**
   * Uncertainty of the measurement. Used together with the measured value.
   *
   * @since 5.0
   */
  accessor uncertainty: number | null | undefined;
  /**
   * Unit used in the mensuration operation.
   *
   * @since 5.0
   */
  accessor unit: string;
  /**
   * Measured value. Used together with [uncertainty](https://developers.arcgis.com/javascript/latest/references/core/rest/support/BaseImageMeasureResultValue/#uncertainty).
   *
   * @since 5.0
   */
  accessor value: number;
}