/**
 * Function for generating statistics from a [Layer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-Layer.html) for
 * a [HeatmapRenderer](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-HeatmapRenderer.html) visualization.
 *
 * It is important to note that the input layer must have features available in the input view
 * for the [heatmapStatistics()](https://developers.arcgis.com/javascript/latest/api-reference/esri-smartMapping-statistics-heatmapStatistics.html#heatmapStatistics) method to generate pixel intensity statistics.
 *
 * > [!WARNING]
 * >
 * > **Known Limitations**
 * >
 * > Only layers with point geometries are supported.
 *
 * @since 4.8
 */
import type { HeatmapStatisticsParameters, HeatmapStatisticsResult } from "./types.js";

/**
 * Returns an object containing various statistics describing the intensity values
 * for a heatmap visualization of a given point [Layer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-Layer.html).
 *
 * @param parameters - The function parameters.
 * @returns Returns
 *   a promise that resolves to [HeatmapStatisticsResult](https://developers.arcgis.com/javascript/latest/api-reference/esri-smartMapping-statistics-types.html#HeatmapStatisticsResult).
 * @example
 * heatmapStatistics({
 *   layer: featureLayer,
 *   view: mapView
 * }).then(function(stats){
 *   // `stats` contains statistics used to construct a heatmap renderer
 * });
 */
export default function heatmapStatistics(parameters: HeatmapStatisticsParameters): Promise<HeatmapStatisticsResult>;