import type GraphicOrigin from "./GraphicOrigin.js";
import type SceneLayer from "../layers/SceneLayer.js";

/**
 * Provides information about the [SceneLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/) from which a graphic originates.
 * The [origin](https://developers.arcgis.com/javascript/latest/references/core/Graphic/#origin) information may be available when a graphic is returned from methods such as
 * [hitTest()](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#hitTest) or [queryFeatures()](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/#queryFeatures).
 *
 * @since 5.0
 * @see [SceneView.hitTest()](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#hitTest)
 * @see [Scene component hitTest()](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-scene/#hitTest)
 * @see [SceneLayer.queryFeatures()](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/#queryFeatures)
 * @see [SceneLayerView.queryFeatures()](https://developers.arcgis.com/javascript/latest/references/core/views/layers/SceneLayerView/#queryFeatures)
 */
export default class SceneGraphicOrigin extends GraphicOrigin {
  constructor(layer: SceneLayer);
  /** A layer from which a graphic originates. */
  readonly layer: SceneLayer;
  /**
   * Indicates the type of layer the graphic originated from.
   *
   * @default "scene"
   */
  readonly type: SceneLayer["type"];
}