/**
 * Performs various operations on an image service resource:
 *
 * Identify the content of an image service for the input location and mosaic rule.
 * Compute histograms based on the provided [ImageHistogramParameters](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageHistogramParameters.html).
 * Compute [statistics](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-types.html#RasterBandStatistics) and [histograms](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-types.html#RasterHistogram)
 * for the provided [ImageHistogramParameters](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageHistogramParameters.html).
 *
 * @since 4.19
 */
import type FindImagesParameters from "./support/FindImagesParameters.js";
import type FindImagesResult from "./support/FindImagesResult.js";
import type ImageAngleParameters from "./support/ImageAngleParameters.js";
import type ImageAngleResult from "./support/ImageAngleResult.js";
import type ImageAreaParameters from "./support/ImageAreaParameters.js";
import type ImageAreaResult from "./support/ImageAreaResult.js";
import type ImageBoundaryParameters from "./support/ImageBoundaryParameters.js";
import type ImageBoundaryResult from "./support/ImageBoundaryResult.js";
import type ImageDistanceParameters from "./support/ImageDistanceParameters.js";
import type ImageDistanceResult from "./support/ImageDistanceResult.js";
import type ImageGPSInfoParameters from "./support/ImageGPSInfoParameters.js";
import type ImageGPSInfoResult from "./support/ImageGPSInfoResult.js";
import type ImageHeightParameters from "./support/ImageHeightParameters.js";
import type ImageHeightResult from "./support/ImageHeightResult.js";
import type ImageHistogramParameters from "./support/ImageHistogramParameters.js";
import type ImageIdentifyParameters from "./support/ImageIdentifyParameters.js";
import type ImageIdentifyResult from "./support/ImageIdentifyResult.js";
import type ImagePixelLocationParameters from "./support/ImagePixelLocationParameters.js";
import type ImagePixelLocationResult from "./support/ImagePixelLocationResult.js";
import type ImagePointParameters from "./support/ImagePointParameters.js";
import type ImagePointResult from "./support/ImagePointResult.js";
import type ImageSampleParameters from "./support/ImageSampleParameters.js";
import type ImageSampleResult from "./support/ImageSampleResult.js";
import type ImageToMapMultirayParameters from "./support/ImageToMapMultirayParameters.js";
import type ImageToMapParameters from "./support/ImageToMapParameters.js";
import type ImageUrlParameters from "./support/ImageUrlParameters.js";
import type ImageUrlResult from "./support/ImageUrlResult.js";
import type MapToImageParameters from "./support/MapToImageParameters.js";
import type MeasureAreaFromImageResult from "./support/MeasureAreaFromImageResult.js";
import type MeasureFromImageParameters from "./support/MeasureFromImageParameters.js";
import type MeasureLengthFromImageResult from "./support/MeasureLengthFromImageResult.js";
import type { GeometryUnion } from "../geometry/types.js";
import type { RasterBandStatistics, RasterHistogram } from "../layers/support/types.js";
import type { RequestOptions } from "../request/types.js";

export interface ImageServiceHistogramsResult {
  /** Result containing raster histograms. */
  histograms: RasterHistogram[];
}

export interface ImageServiceStatisticsHistogramsResult {
  /** Raster band statistics. */
  histograms: RasterHistogram[];
  /** Result containing raster histograms. */
  statistics: RasterBandStatistics[];
}

/**
 * Computes the rotation angle of a [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html) at a given location.
 * This operation is supported at 10.9.1 and later.
 *
 * @param url - URL to the ArcGIS Server REST resource that represents an image service.
 * @param parameters - Specifies parameters for computing angles.
 * @param requestOptions - Additional [options](https://developers.arcgis.com/javascript/latest/api-reference/esri-request.html#request) to be used for the data request.
 * @returns When resolved, returns an instance of [ImageAngleResult](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageAngleResult.html)
 * containing computed north and up angles.
 * @since 4.22
 * @see [ArcGIS REST API - Compute Angles](https://developers.arcgis.com/rest/services-reference/enterprise/compute-angles.htm)
 */
export function computeAngles(url: string, parameters: ImageAngleParameters, requestOptions?: RequestOptions): Promise<ImageAngleResult>;

/**
 * Computes the corresponding pixel location in columns and rows for an [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html) based on input geometry.
 * Requires that the raster catalog item has a valid `icsToPixel` resource.
 *
 * @param url - URL to the ArcGIS Server REST resource that represents an image service.
 * @param parameters - Specifies parameters for computing image space pixel location.
 * @param requestOptions - Additional [options](https://developers.arcgis.com/javascript/latest/api-reference/esri-request.html#request) to be used for the data request.
 * @returns When resolved, returns an instance of
 * [ImagePixelLocationResult](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImagePixelLocationResult.html) containing x and y values for the column and row of each input geometry.
 * @since 4.22
 * @see [ArcGIS REST API - Compute Pixel Location](https://developers.arcgis.com/rest/services-reference/enterprise/compute-pixel-location.htm)
 */
export function computePixelSpaceLocations(url: string, parameters: ImagePixelLocationParameters, requestOptions?: RequestOptions): Promise<ImagePixelLocationResult>;

/**
 * Computes [statistics](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-types.html#RasterBandStatistics) and [histograms](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-types.html#RasterHistogram)
 * for the provided [ImageHistogramParameters](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageHistogramParameters.html).
 * If a [raster function](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageHistogramParameters.html#rasterFunction) and a
 * [mosaic rule](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageHistogramParameters.html#mosaicRule) are not specified, the current settings on the layer will be used.
 * This operation is supported by an image service published with a mosaic dataset or a raster dataset at ArcGIS Server 10.4 and later.
 * The result of this operation contains both statistics and histograms computed for the given extent.
 *
 * @param url - URL to the ArcGIS Server REST resource that represents an image service.
 * @param parameters - Specifies parameters for computing statistics and histograms.
 * @param requestOptions - Additional [options](https://developers.arcgis.com/javascript/latest/api-reference/esri-request.html#request) to be used for the data request.
 * @returns Resolves to an object containing histogram and statistics results.
 * See the object specification table below for details.
 *
 * Property | Type | Description
 * ---------|------|-------------
 * histograms[] | [RasterHistogram](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-types.html#RasterHistogram) | Result containing raster histograms.
 * bandStatistics[] | [RasterBandStatistics](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-types.html#RasterBandStatistics) | Raster band statistics.
 */
export function computeStatisticsHistograms(url: string, parameters: ImageHistogramParameters, requestOptions?: RequestOptions): Promise<ImageServiceStatisticsHistogramsResult>;

/**
 * Computes histograms based on the provided [ImageHistogramParameters](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageHistogramParameters.html).
 * If a [raster function](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageHistogramParameters.html#rasterFunction) and
 * a [mosaic rule](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageHistogramParameters.html#mosaicRule) are not specified, the current settings on the layer will be used.
 * This operation is supported by an image service published with a mosaic dataset or a raster dataset at ArcGIS Server 10.4 and later.
 * The result of this operation contains histograms computed for the given extent.
 *
 * @param url - URL to the ArcGIS Server REST resource that represents an image service.
 * @param parameters - Specifies parameters for computing histograms.
 * @param requestOptions - Additional [options](https://developers.arcgis.com/javascript/latest/api-reference/esri-request.html#request) to be used for the data request.
 */
export function computeHistograms(url: string, parameters: ImageHistogramParameters, requestOptions?: RequestOptions): Promise<ImageServiceHistogramsResult>;

/**
 * Returns sample point locations, pixel values and corresponding resolutions of the source data for a given geometry. When the input geometry
 * is a [Polyline](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Polyline.html), [Extent](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Extent.html), or [Polygon](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Polygon.html),
 * the sampling is based on [ImageSampleParameters#sampleCount](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageSampleParameters.html#sampleCount) or
 * [ImageSampleParameters#sampleDistance](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageSampleParameters.html#sampleDistance) parameters. When the geometry is a
 * [Point](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html) or [Multipoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Multipoint.html), the point or points are used directly.
 *
 * The number of sample locations in the response is based on the `sampleDistance` or `sampleCount` parameter and cannot exceed the limit imposed by the image
 * service. The sample points are located at the intersection of the provided geometry and the raster item's footprints. They are also filtered by
 * the [ImageSampleParameters#mosaicRule](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageSampleParameters.html#mosaicRule) and [ImageSampleParameters#pixelSize](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageSampleParameters.html#pixelSize) parameters.
 *
 * @param url - URL to the ArcGIS Server REST resource that represents an image service.
 * @param parameters - The parameters used in the getSamples operation.
 * @param requestOptions - Additional [options](https://developers.arcgis.com/javascript/latest/api-reference/esri-request.html#request) to be used for the data request.
 * @returns When resolved, [ImageSampleResult](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageSampleResult.html) is returned
 * containing an array of [ImageSamples](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageSample.html).
 * @since 4.23
 * @example
 * // get all sample points along a polyline
 * // at the specified sample distance and pixel size
 * const param = {
 *   geometry: polyline
 *   returnFirstValueOnly: false,
 *   // resolution - unit of the view's spatial reference
 *   pixelSize: {
 *     x:12,
 *     y:12,
 *     spatialReference: view.spatialReference
 *   },
 *   interpolation: "nearest",
 *   // unit of the geometry's spatial reference is used
 *   sampleDistance: 30,
 *   outFields: ["*"]
 * };
 * imageService.getSamples(url, param).then((results) => {
 *   // use the getSamples results as needed.
 *   console.log(results);
 * })
 * .catch(function(error){
 *   console.log(error)
 * })
 */
export function getSamples(url: string, parameters: ImageSampleParameters, requestOptions?: RequestOptions): Promise<ImageSampleResult>;

/**
 * Sends a request to the ArcGIS REST image service resource to identify content based on the
 * [ImageIdentifyParameters](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageIdentifyParameters.html)
 * specified in the `parameters` argument.
 *
 * @param url - URL to the ArcGIS Server REST resource that represents an image service.
 * @param parameters - Specifies the criteria used to identify the features.
 * @param requestOptions - Additional [options](https://developers.arcgis.com/javascript/latest/api-reference/esri-request.html#request) to be used for the data request.
 * @returns When resolved, returns an instance of
 * [ImageIdentifyResult](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageIdentifyResult.html).
 */
export function identify(url: string, parameters: ImageIdentifyParameters, requestOptions?: RequestOptions): Promise<ImageIdentifyResult>;

/**
 * Calculates the height of an object between two points on an image service. The result of this operation includes the name of the raster dataset being used,
 * the sensor name, and measured values. See the [ImageHeightParameters#operationType](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageHeightParameters.html#operationType) documentation for types of
 * height measurements.
 *
 * @param url - The url of the image service to perform the height measurement on.
 * @param parameters - Specifies the parameters for measuring the height of an object between two points on an image service.
 * @param requestOptions - Additional [options](https://developers.arcgis.com/javascript/latest/api-reference/esri-request.html#request) to be used for the data request.
 * @returns When resolved, returns an instance of [ImageHeightResult](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageHeightResult.html)
 * containing the name of the raster dataset being used, the sensor name, and measured values.
 * @since 4.26
 */
export function measureHeight(url: string, parameters: ImageHeightParameters, requestOptions?: RequestOptions): Promise<ImageHeightResult>;

/**
 * Calculates the area and perimeter of a given geometry on an image service. The result of this operation includes the name of the raster dataset being used,
 * the sensor name, and measured values.
 *
 * @param url - The url of the image service to perform the area and perimeter measurement on.
 * @param parameters - Specifies parameters for measuring the area and perimeter of a given geometry on an image service.
 * @param requestOptions - Additional [options](https://developers.arcgis.com/javascript/latest/api-reference/esri-request.html#request) to be used for the data request.
 * @returns When resolved, returns an instance of [ImageAreaResult](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageAreaResult.html)
 * containing the name of the raster dataset being used, the sensor name, and measured values.
 * @since 4.26
 */
export function measureAreaAndPerimeter(url: string, parameters: ImageAreaParameters, requestOptions?: RequestOptions): Promise<ImageAreaResult>;

/**
 * Returns the location for a given point or centroid of a given area on an image service.
 *
 * @param url - The service url.
 * @param parameters - Specifies parameters for determining a point location or a centroid
 * of a given area on the image service.
 * @param requestOptions - Additional [options](https://developers.arcgis.com/javascript/latest/api-reference/esri-request.html#request) to be used for the data request.
 * @returns When resolved, returns an instance of [ImagePointResult](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImagePointResult.html)
 * containing the name of the raster dataset being used, the sensor name, and measured values.
 * @since 4.26
 */
export function measurePointOrCentroid(url: string, parameters: ImagePointParameters, requestOptions?: RequestOptions): Promise<ImagePointResult>;

/**
 * Calculates the distance and angle between two points on an image service. The result of this operation includes the name of the raster dataset being used,
 * the sensor name, and measured values.
 *
 * @param url - The url of the image service to perform the distance and angle measurement on.
 * @param parameters - Specifies parameters for measuring a distance and an angle on an image between two points.
 * @param requestOptions - Additional [options](https://developers.arcgis.com/javascript/latest/api-reference/esri-request.html#request) to be used for the data request.
 * @returns When resolved, returns an instance of [ImageDistanceResult](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageDistanceResult.html)
 * containing the name of the raster dataset being used, the sensor name, and measured values.
 * @since 4.26
 */
export function measureDistanceAndAngle(url: string, parameters: ImageDistanceParameters, requestOptions?: RequestOptions): Promise<ImageDistanceResult>;

/**
 * Measures the length of a polyline in an image space on a selected raster when the following conditions are met:
 *
 * * Image service must be published from a mosaic dataset.
 * * Raster items in the mosaic dataset must have 3D transformation (e.g. mosaic dataset built with UAV raster type).
 *
 * @param url - The url of the image service to perform the measurement on.
 * @param parameters - Specifies parameters for measuring the length.
 * @param requestOptions - Additional [options](https://developers.arcgis.com/javascript/latest/api-reference/esri-request.html#request) to be used for the data request.
 * @returns When resolved, returns an instance of [MeasureLengthFromImageResult](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-MeasureLengthFromImageResult.html)
 * containing the name of the polyline's shape in map space and its length.
 * @since 4.29
 */
export function measureLengthFromImage(url: string, parameters: MeasureFromImageParameters, requestOptions?: RequestOptions): Promise<MeasureLengthFromImageResult>;

/**
 * Measures the area and the perimeter of a polygon in an image space on a selected raster when the following conditions are met:
 *
 * * Image service must be published from a mosaic dataset.
 * * Raster items in the mosaic dataset must have 3D transformation (e.g. mosaic dataset built with UAV raster type).
 *
 * @param url - The url of the image service to perform the height measurement on.
 * @param parameters - Specifies the parameters for measuring the area.
 * @param requestOptions - Additional [options](https://developers.arcgis.com/javascript/latest/api-reference/esri-request.html#request) to be used for the data request.
 * @returns When resolved, returns an instance of [MeasureAreaFromImageResult](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-MeasureAreaFromImageResult.html)
 * containing the name of the polygon's shape in map space and its length, area, and center.
 * @since 4.29
 */
export function measureAreaFromImage(url: string, parameters: MeasureFromImageParameters, requestOptions?: RequestOptions): Promise<MeasureAreaFromImageResult>;

/**
 * Returns the boundary of an image for the provided [ImageBoundaryParameters](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageBoundaryParameters.html).
 * This operation is supported with ArcGIS Enterprise version 10.6 or higher image services.
 *
 * @param url - The url of the image service to query the boundary for.
 * @param parameters - Specifies the imagery boundary parameters.
 * @param requestOptions - Additional [options](https://developers.arcgis.com/javascript/latest/api-reference/esri-request.html#request) to be used for the data request
 * (will override requestOptions defined during construction).
 * @returns Resolves to an object containing boundary geometry of the image service.
 * @since 4.29
 */
export function queryBoundary(url: string, parameters: ImageBoundaryParameters, requestOptions?: RequestOptions): Promise<ImageBoundaryResult>;

/**
 * Returns GPS information for the provided [ImageGPSInfoParameters](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageGPSInfoParameters.html).
 * It returns information about cameras, GPS locations when the image was taken,
 * and exterior orientation information of each image.
 *
 * This operation is supported with ArcGIS Enterprise version 11.2 or higher image services.
 *
 * @param url - The url of the image service to query GPS information from.
 * @param parameters - Specifies the parameters for query GPS info operation.
 * @param requestOptions - Additional [options](https://developers.arcgis.com/javascript/latest/api-reference/esri-request.html#request) to be used for the data request
 * (will override requestOptions defined during construction).
 * @returns Resolves to an object containing information about images and cameras.
 * @since 4.29
 */
export function queryGPSInfo(url: string, parameters: ImageGPSInfoParameters, requestOptions?: RequestOptions): Promise<ImageGPSInfoResult>;

/**
 * Convert a geometry from an image space to a map space using the provided [ImageToMapParameters](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageToMapParameters.html).
 * This operation is supported with ArcGIS Enterprise version 11.2 or higher image services.
 *
 * @param url - The url of the image service to perform the image to map operation on.
 * @param parameters - Specifies the image to map parameters.
 * @param requestOptions - Additional [options](https://developers.arcgis.com/javascript/latest/api-reference/esri-request.html#request) to be used for the data request
 * (will override requestOptions defined during construction).
 * @returns Resolves to a geometry object.
 * @since 4.29
 */
export function imageToMap(url: string, parameters: ImageToMapParameters, requestOptions?: RequestOptions): Promise<GeometryUnion>;

/**
 * Creates a map space geometry from multiray image space geometries using the provided [ImageToMapMultirayParameters](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageToMapMultirayParameters.html).
 * For example, a house is shown in several raster items. Users can specify the house location on each image using the [ImageToMapMultirayParameters#geometries](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageToMapMultirayParameters.html#geometries)
 * parameter. Then in the [ImageToMapMultirayParameters#rasterIds](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageToMapMultirayParameters.html#rasterIds) parameter, specify the rasterIds of the images in the same order as the geometries.
 * The `imageToMapMultiray` operation will find and return the house location in the map space on all specified images.
 *
 * This operation is supported with ArcGIS Enterprise version 11.2 or higher image services.
 *
 * @param url - The url of the image service to perform the image to map multiray operation on.
 * @param parameters - Specifies the image to map multiray parameters.
 * @param requestOptions - Additional [options](https://developers.arcgis.com/javascript/latest/api-reference/esri-request.html#request) to be used for the data request
 * (will override requestOptions defined during construction).
 * @returns Resolves to a geometry object where the coordinates in map coordinates.
 * @since 4.29
 */
export function imageToMapMultiray(url: string, parameters: ImageToMapMultirayParameters, requestOptions?: RequestOptions): Promise<GeometryUnion>;

/**
 * Converts a given geometry from a map space to an image space using the provided [MapToImageParameters](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-MapToImageParameters.html).
 * This operation is supported with ArcGIS Enterprise version 11.2 or higher image services.
 *
 * @param url - The url of the image service to perform the map to image operation on.
 * @param parameters - Specifies the map to image parameters.
 * @param requestOptions - Additional [options](https://developers.arcgis.com/javascript/latest/api-reference/esri-request.html#request) to be used for the data request.
 * @returns Resolves to a geometry object where the coordinates are in image space.
 * @since 4.29
 */
export function mapToImage(url: string, parameters: MapToImageParameters, requestOptions?: RequestOptions): Promise<GeometryUnion>;

/**
 * Retrieves an image's url using the provided [ImageUrlParameters](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageUrlParameters.html).
 * This operation is supported with ArcGIS Enterprise version 11.3 or higher image services.
 *
 * @param url - The url of the image service to perform the get image url operation on.
 * @param parameters - Specifies the image url parameters.
 * @param requestOptions - Additional [options](https://developers.arcgis.com/javascript/latest/api-reference/esri-request.html#request) to be used for the data request.
 * @returns Resolves to a [ImageUrlResult](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-ImageUrlResult.html) containing the image's url.
 * @since 4.30
 */
export function getImageUrl(url: string, parameters: ImageUrlParameters, requestOptions?: RequestOptions): Promise<ImageUrlResult>;

/**
 * Finds images based on the provided [FindImagesParameters](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-FindImagesParameters.html).
 * It locates all images that contain a [FindImagesParameters#toGeometry](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-FindImagesParameters.html#toGeometry) and sorts them accordingly.
 * The [FindImagesParameters#fromGeometry](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-FindImagesParameters.html#fromGeometry) can be a 3D SceneView's [camera position](https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html#position)
 * and the [FindImagesParameters#toGeometry](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-FindImagesParameters.html#toGeometry) is a clicked location on the map.
 *
 * This operation is supported with ArcGIS Enterprise version 11.2 or higher image services..
 *
 * @param url - The url of the image service to perform the find images operation on.
 * @param parameters - Specifies the find images parameters.
 * @param requestOptions - Additional [options](https://developers.arcgis.com/javascript/latest/api-reference/esri-request.html#request) to be used for the data request
 * (will override requestOptions defined during construction).
 * @returns Resolves to a [FindImagesResult](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-FindImagesResult.html) containing images that met the search requirements.
 * @since 4.29
 */
export function findImages(url: string, parameters: FindImagesParameters, requestOptions?: RequestOptions): Promise<FindImagesResult>;