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

export interface BaseImageMeasureResultValueProperties extends JSONSupportMixinProperties, 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 abstract class BaseImageMeasureResultValue extends JSONSupport {
  /** Measured value represented in significant figures in string format. Display value takes a count into uncertainty. */
  accessor displayValue: string;
  /** Uncertainty of the measurement. Used together with the measured value. */
  accessor uncertainty: number | null | undefined;
  /** Unit used in the mensuration operation. */
  accessor unit: string;
  /** Measured value. Used together with [uncertainty](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-BaseImageMeasureResultValue.html#uncertainty). */
  accessor value: number;
}