import type { RendererBase } from "./Renderer.js";
import type { Color } from "./Symbol.js";
/**
 * The HeatmapRenderer renders point data into a raster visualization that
 * emphasizes areas of higher density or weighted values.
 *
 * See
 * {@link https://developers.arcgis.com/web-map-specification/objects/heatmapRenderer/}.
 *
 * @deprecated Use "json/*" modules instead.
 */
export interface HeatmapRenderer extends RendererBase {
    /**
     * The radius (in pixels) of the circle over which the majority of each
     * points value is spread over.
     */
    blurRadius?: number;
    /**
     * Value specifying the field used in generating the heat map.
     */
    field?: string;
    /**
     * The pixel intensity value which is assigned the final color in the color
     * ramp.
     */
    maxPixelIntensity?: number;
    /**
     * The pixel intensity value which is assigned the initial color in the
     * color ramp.
     */
    minPixelIntensity?: number;
    /**
     * An array of colorStop objects describing the renderer's color ramp with
     * more specificity than just colors.
     */
    colorStops?: ColorStop[];
    /**
     * @inheritDoc
     */
    type: "heatmap";
}
/**
 * A colorStop object describes the renderer's color ramp with more specificity
 * than just colors. Note that either ratio or value is required.
 *
 * See
 * {@link https://developers.arcgis.com/web-map-specification/objects/colorStop/}.
 *
 * @deprecated Use "json/*" modules instead.
 */
export interface ColorStop {
    /**
     * A CSS color string or an array of RGBA values. The color to place at the
     * stop indicated by either a ratio or value.
     */
    color?: string | Color;
    /**
     * A number between 0-1. Describes what portion along the gradient the
     * colorStop is added. Preferred over the value property, since everything
     * will use the ratio internally.
     */
    ratio?: number;
    /**
     * The pixel intensity value. Describes the pixel intensity value that the
     * color should be associated with. Just like in colorInfo, using value will
     * ignore maxPixelIntensity and minPixelIntensity properties. It will
     * actually set those properties to maximum and minimum values you set in
     * the colorStops array. The hard values are converted to ratios to create
     * the color gradient that is used in the heatmap calculations. Setting
     * minPixelIntensity or maxPixelIntensity, after setting colorStops with
     * values, removes the hard link between the color ramp and the pixel
     * intensity values that were used to create it.
     */
    value?: number;
}
