import type ImageInspectionInfo from "./ImageInspectionInfo.js";
import type { JSONSupport, JSONSupportMixinProperties } from "../../core/JSONSupport.js";
import type { ImageInspectionInfoProperties } from "./ImageInspectionInfo.js";

export interface FindImagesResultProperties extends JSONSupportMixinProperties {
  /**
   * An array of image inspection information found between [FindImagesParameters#fromGeometry](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-FindImagesParameters.html#fromGeometry) and
   * [FindImagesParameters#toGeometry](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-FindImagesParameters.html#toGeometry).
   */
  images?: ImageInspectionInfoProperties[];
}

/**
 * Results for the [ImageryLayer#findImages()](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html#findImages)
 * or [findImages()](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-imageService.html#findImages) methods containing images that meet the search requirements.
 *
 * @since 4.29
 * @see [FindImagesParameters](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-FindImagesParameters.html)
 * @see [ImageryLayer#findImages()](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html#findImages)
 * @see [findImages()](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-imageService.html#findImages)
 */
export default class FindImagesResult extends JSONSupport {
  constructor(properties?: FindImagesResultProperties);
  /**
   * An array of image inspection information found between [FindImagesParameters#fromGeometry](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-FindImagesParameters.html#fromGeometry) and
   * [FindImagesParameters#toGeometry](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-FindImagesParameters.html#toGeometry).
   */
  get images(): ImageInspectionInfo[];
  set images(value: ImageInspectionInfoProperties[]);
}