import type ImageSample from "./ImageSample.js";
import type { JSONSupport } from "../../core/JSONSupport.js";
import type { ImageSampleProperties } from "./ImageSample.js";

export interface ImageSampleResultProperties {
  /** An array of image sample results returned in response to [ImageryLayer.getSamples()](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html#getSamples) method. */
  samples?: ImageSampleProperties[];
}

/**
 * The result from the [ImageryLayer.getSamples()](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html#getSamples)
 * method on [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html) containing array of
 * [ImageSample](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageSample.html).
 *
 * @since 4.20
 * @see [ImageSampleParameters](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageSampleParameters.html)
 * @see [ImageryLayer.getSamples()](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html#getSamples)
 */
export default class ImageSampleResult extends JSONSupport {
  constructor(properties?: ImageSampleResultProperties);
  /** An array of image sample results returned in response to [ImageryLayer.getSamples()](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html#getSamples) method. */
  get samples(): ImageSample[];
  set samples(value: ImageSampleProperties[]);
}