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

export interface AnalysisOriginWebSceneProperties {}

/**
 * An analysis origin indicating that the analysis was created or applied from a web scene. Analyses
 * in web scenes are either stored in the initial view properties, or in slides in the web scene presentation.
 *
 * Analyses in the [SceneView.analyses](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#analyses) collection that have
 * an origin of type "web-scene" are replaced with the analyses stored in a
 * [Slide](https://developers.arcgis.com/javascript/latest/references/core/webscene/Slide/) when it is applied to a
 * [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/) with [Slide.applyTo()](https://developers.arcgis.com/javascript/latest/references/core/webscene/Slide/#applyTo).
 *
 * Using [WebScene.updateFrom()](https://developers.arcgis.com/javascript/latest/references/core/WebScene/#updateFrom) to update the scene initial view
 * properties, or [Slide.updateFrom()](https://developers.arcgis.com/javascript/latest/references/core/webscene/Slide/#updateFrom) to update a slide,
 * will automatically set the origin of the analyses in the SceneView.analyses to type "web-scene"
 * as they are being captured.
 *
 * @since 4.33
 */
export default class AnalysisOriginWebScene extends Clonable {
  constructor(properties?: AnalysisOriginWebSceneProperties);
  /** The type of the analysis origin. This is always `web-scene` for this class. */
  get type(): "web-scene";
}