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

export interface ElevationProfileViewOptionsProperties extends Partial<Pick<ElevationProfileViewOptions, "geometryVisualizationVisible">> {}

/**
 * Provides general configuration options for visualizing an elevation profile within a view,
 * independent of the profile line type.
 *
 * @since 4.34
 * @see [ElevationProfileAnalysis](https://developers.arcgis.com/javascript/latest/references/core/analysis/ElevationProfileAnalysis/)
 * @see [ElevationProfileLineViewOptions](https://developers.arcgis.com/javascript/latest/references/core/analysis/ElevationProfile/ElevationProfileLineViewOptions/)
 * @see [ElevationProfileLineChartOptions](https://developers.arcgis.com/javascript/latest/references/core/analysis/ElevationProfile/ElevationProfileLineChartOptions/)
 */
export default class ElevationProfileViewOptions extends Clonable {
  constructor(properties?: ElevationProfileViewOptionsProperties);
  /**
   * Whether the default visualization of the geometry in the view is visible. Note that this only applies when the
   * analysis is not interactive. Otherwise, the geometry visualization and the manipulators to edit it are always
   * visible.
   *
   * @default true
   */
  accessor geometryVisualizationVisible: boolean;
}