import type GraphicOrigin from "./GraphicOrigin.js";
import type SubtypeGroupLayer from "../layers/SubtypeGroupLayer.js";
import type SubtypeSublayer from "../layers/support/SubtypeSublayer.js";

/**
 * Provides information about the [SubtypeGroupLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SubtypeGroupLayer.html) from which a graphic originates.
 * Also provides access to the [SubtypeSublayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-SubtypeSublayer.html) that contains the graphic.
 * 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-MapView.html#hitTest) or [queryFeatures()](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-SubtypeSublayer.html#queryFeatures).
 *
 * @since 5.0
 * @see [MapView.hitTest()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#hitTest)
 * @see [Map component hitTest()](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-map/#hitTest)
 * @see [SubtypeSublayer.queryFeatures()](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-SubtypeSublayer.html#queryFeatures)
 */
export default class SubtypeGroupGraphicOrigin extends GraphicOrigin {
  constructor(sublayer: SubtypeSublayer);
  /** A layer from which a graphic originates. */
  get layer(): SubtypeGroupLayer;
  /**
   * Indicates the type of layer the graphic originated from.
   *
   * @default "subtype-group"
   */
  readonly type: SubtypeGroupLayer["type"];
}