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

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

/**
 * Results for the [ImageryLayer.findImages()](https://developers.arcgis.com/javascript/latest/references/core/layers/ImageryLayer/#findImages)
 * or [findImages()](https://developers.arcgis.com/javascript/latest/references/core/rest/imageService/#findImages) methods containing images that meet the search requirements.
 *
 * @since 4.29
 * @see [FindImagesParameters](https://developers.arcgis.com/javascript/latest/references/core/rest/support/FindImagesParameters/)
 * @see [ImageryLayer.findImages()](https://developers.arcgis.com/javascript/latest/references/core/layers/ImageryLayer/#findImages)
 * @see [findImages()](https://developers.arcgis.com/javascript/latest/references/core/rest/imageService/#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/references/core/rest/support/FindImagesParameters/#fromGeometry) and
   * [FindImagesParameters.toGeometry](https://developers.arcgis.com/javascript/latest/references/core/rest/support/FindImagesParameters/#toGeometry).
   */
  get images(): ImageInspectionInfo[];
  set images(value: ImageInspectionInfoProperties[]);
}