import type { Clonable, ClonableMixinProperties } from "../../core/Clonable.js";
import type { JSONSupportMixin, JSONSupportMixinProperties } from "../../core/JSONSupport.js";
import type { LengthUnit } from "../../core/units.js";

export interface VolumeMeasurementInputUnitsProperties extends ClonableMixinProperties, JSONSupportMixinProperties, Partial<Pick<VolumeMeasurementInputUnits, "elevation">> {}

/**
 * Units used for interpreting input values
 * for the [VolumeMeasurementAnalysis](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-VolumeMeasurementAnalysis.html).
 *
 * @beta
 * @since 4.34
 * @see [VolumeMeasurementAnalysis](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-VolumeMeasurementAnalysis.html)
 * @see [VolumeMeasurementAnalysisView3D](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-analysis-VolumeMeasurementAnalysisView3D.html)
 */
export default class VolumeMeasurementInputUnits extends VolumeMeasurementInputUnitsSuperclass {
  constructor(properties?: VolumeMeasurementInputUnitsProperties);
  /** Unit used for the cut and fill target elevation. */
  accessor elevation: LengthUnit | null | undefined;
}
declare const VolumeMeasurementInputUnitsSuperclass: typeof Clonable & typeof JSONSupportMixin