/** * Function for determining suggested [min](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#minScale) and * [max](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#maxScale) scale ranges for an input layer. * * > [!WARNING] * > * > **Known Limitations** * > * > Input [SceneLayers](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/) must meet the following conditions: * > - [SceneLayers](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/) without the `supportsRenderer` and `supportsLayerQuery` capabilities enabled, unless a predefined * > [statistics](https://developers.arcgis.com/javascript/latest/references/core/smartMapping/statistics/types/#SummaryStatisticsResult) object is passed to the `statistics` parameter of the * > method in conjunction with the layer. To check a SceneLayer's capabilities, use the [SceneLayer.getFieldUsageInfo()](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/#getFieldUsageInfo) method. * * @since 4.12 */ import type { ScaleRangeResult, ScaleRangeParameters } from "./types.js"; /** * Generates a suggested scale range (i.e. [FeatureLayer.minScale](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#minScale) * and [FeatureLayer.maxScale](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#maxScale)) to apply to the input `layer`. These * values suggest the best scale range for viewing the input layer. * * @param parameters - The function parameters. * @returns Resolves to an object containing the suggested `min` and `max` scale for the layer. * @example * scaleRange({ * layer: featureLayer, * view: view * }).then(function(response){ * // apply the suggested scale range to the input layer * featureLayer.minScale = response.minScale; * featureLayer.maxScale = response.maxScale; * * view.map.add(featureLayer); * }); */ export default function scaleRange(parameters: ScaleRangeParameters): Promise;