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

export interface ElevationProfileLineViewOptionsProperties extends Partial<Pick<ElevationProfileLineViewOptions, "indicatorPointVisible" | "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/references/core/analysis/ElevationProfileAnalysis/)
 * @see [ElevationProfileViewOptions](https://developers.arcgis.com/javascript/latest/references/core/analysis/ElevationProfile/ElevationProfileViewOptions/)
 * @see [ElevationProfileLineChartOptions](https://developers.arcgis.com/javascript/latest/references/core/analysis/ElevationProfile/ElevationProfileLineChartOptions/)
 */
export default class ElevationProfileLineViewOptions extends Clonable {
  constructor(properties?: ElevationProfileLineViewOptionsProperties);
  /**
   * Whether to show an indicator point in the view when an
   * [indicator location](https://developers.arcgis.com/javascript/latest/references/core/views/3d/analysis/ElevationProfileAnalysisView3D/#indicatorRelativePosition) is set.
   * If false, the indicator point is not displayed, but results are still available.
   *
   * @default true
   * @see [ElevationProfileAnalysisView2D.indicatorRelativePosition](https://developers.arcgis.com/javascript/latest/references/core/views/2d/analysis/ElevationProfileAnalysisView2D/#indicatorRelativePosition)
   * @see [ElevationProfileAnalysisView3D.indicatorRelativePosition](https://developers.arcgis.com/javascript/latest/references/core/views/3d/analysis/ElevationProfileAnalysisView3D/#indicatorRelativePosition)
   * @see [ElevationProfileAnalysisView2D.indicatorPoints](https://developers.arcgis.com/javascript/latest/references/core/views/2d/analysis/ElevationProfileAnalysisView2D/#indicatorPoints)
   * @see [ElevationProfileAnalysisView3D.indicatorPoints](https://developers.arcgis.com/javascript/latest/references/core/views/3d/analysis/ElevationProfileAnalysisView3D/#indicatorPoints)
   */
  accessor indicatorPointVisible: 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;
}