import type GraphicOrigin from "./GraphicOrigin.js";
import type BuildingSceneLayer from "../layers/BuildingSceneLayer.js";
import type BuildingComponentSublayer from "../layers/buildingSublayers/BuildingComponentSublayer.js";

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