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

/** Properties that can be used to construct a [VolumeMeasurementInputUnits](https://developers.arcgis.com/javascript/latest/references/core/analysis/VolumeMeasurement/VolumeMeasurementInputUnits/) instance. */
export interface VolumeMeasurementInputUnitsProperties extends Partial<Pick<VolumeMeasurementInputUnits, "elevation">> {}

/**
 * Units used for interpreting input values for the [VolumeMeasurementAnalysis](https://developers.arcgis.com/javascript/latest/references/core/analysis/VolumeMeasurementAnalysis/).
 *
 * @beta
 * @since 4.34
 * @see [VolumeMeasurementAnalysis](https://developers.arcgis.com/javascript/latest/references/core/analysis/VolumeMeasurementAnalysis/)
 * @see [VolumeMeasurementAnalysisView3D](https://developers.arcgis.com/javascript/latest/references/core/views/3d/analysis/VolumeMeasurementAnalysisView3D/)
 */
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