import type FeatureLayer from "../../layers/FeatureLayer.js";
import type SubtypeGroupLayer from "../../layers/SubtypeGroupLayer.js";
import type FeatureSet from "../../rest/support/FeatureSet.js";

/** FeatureSetInfo represents the information for the results in the featureset. */
export interface FeatureSetInfo {
  /** The [FeatureSet](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-FeatureSet.html). */
  featureSet: FeatureSet;
  /** The [FeatureLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html) of the dataset. */
  layer: FeatureLayer | SubtypeGroupLayer;
}

/**
 * Contains layerUrl, objectIds, and outFields.
 *
 * @since 4.31
 */
export interface LayerInfo {
  /** The layerUrl of the feature layer. */
  layerUrl: string;
  /** The objectIds of the elements. */
  objectIds: number[];
  /** The outFields of a layer. */
  outFields?: string[];
}