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

export interface ElevationProfileLineViewOptionsProperties extends ClonableMixinProperties, Partial<Pick<ElevationProfileLineViewOptions, "hoveredPointVisible" | "lineVisible">> {}

/**
 * Provides configuration options, such as its visibility, for visualizing a specific elevation profile line within a view.
 * The results remain available even if the line is not visible.
 *
 * @since 4.34
 * @see [ElevationProfileAnalysis](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-ElevationProfileAnalysis.html)
 * @see [ElevationProfileViewOptions](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-ElevationProfile-ElevationProfileViewOptions.html)
 * @see [ElevationProfileLineChartOptions](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-ElevationProfile-ElevationProfileLineChartOptions.html)
 */
export default class ElevationProfileLineViewOptions extends Clonable {
  constructor(properties?: ElevationProfileLineViewOptionsProperties);
  /**
   * Whether to show the profile point in the view when hovering over the profile chart.
   * If false, the point is not displayed, but results are still available.
   *
   * @default true
   * @see [ElevationProfileAnalysisView2D#hoveredPoints](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-2d-analysis-ElevationProfileAnalysisView2D.html#hoveredPoints)
   * @see [ElevationProfileAnalysisView3D#hoveredPoints](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-analysis-ElevationProfileAnalysisView3D.html#hoveredPoints)
   */
  accessor hoveredPointVisible: boolean;
  /**
   * Whether to show the profile line in the view.
   * If false, the line is not displayed in the view, but results are still available.
   *
   * @default true
   */
  accessor lineVisible: boolean;
}