/**
 * A convenience module for importing renderer classes that can be used to render
 * [ImageryLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html) when developing with
 * [TypeScript](https://developers.arcgis.com/javascript/latest/get-started/#typescript).
 * For example, rather than importing renderers one at a time like this:
 *
 * ```js
 * import FlowRenderer from "@arcgis/core/renderers/FlowRenderer.js";
 * import ClassBreaksRenderer from "@arcgis/core/renderers/ClassBreaksRenderer.js";
 * import UniqueValueRenderer from "@arcgis/core/renderers/UniqueValueRenderer.js";
 * import RasterStretchRenderer from "@arcgis/core/renderers/RasterStretchRenderer.js";
 * import RasterColormapRenderer from "@arcgis/core/renderers/RasterColormapRenderer.js";
 * import RasterShadedReliefRenderer from "@arcgis/core/renderers/RasterShadedReliefRenderer.js";
 * import VectorFieldRenderer from "@arcgis/core/renderers/VectorFieldRenderer.js";
 * ```
 *
 * You can use this module to import them on a single line:
 *
 * ```js
 * import { FlowRenderer, ClassBreaksRenderer, UniqueValueRenderer, RasterColormapRenderer, RasterStretchRenderer, RasterShadedReliefRenderer, VectorFieldRenderer } from "@arcgis/core/rasterRenderers.js";
 * ```
 *
 * This module also allows you to implement [type guards](https://basarat.gitbook.io/typescript/type-system/typeguard)
 * on renderers, making your code smarter.
 *
 * ```js
 * import { Renderer } from "@arcgis/core/rasterRenderers.js";
 *
 * function logRenderer(renderer: RasterStretchRenderer): void {
 *  if (renderer.type == "raster-stretch") {
 *    // the compiler knows the renderer must be a RasterStretchRenderer
 *    console.log("renderer color ramp: ", renderer.colorRamp);
 *  }
 * }
 * ```
 *
 * @deprecated since version 4.32. Use [unionTypes](https://developers.arcgis.com/javascript/latest/api-reference/esri-unionTypes.html) to import union types, or individual modules to import classes.
 * @since 4.13
 * @see [FlowRenderer](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-FlowRenderer.html)
 * @see [ClassBreaksRenderer](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-ClassBreaksRenderer.html)
 * @see [UniqueValueRenderer](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-UniqueValueRenderer.html)
 * @see [RasterColormapRenderer](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterColormapRenderer.html)
 * @see [RasterStretchRenderer](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html)
 * @see [RasterShadedReliefRenderer](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterShadedReliefRenderer.html)
 * @see [VectorFieldRenderer](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-VectorFieldRenderer.html)
 */
import type ClassBreaksRendererClass from "./renderers/ClassBreaksRenderer.js";
import type FlowRendererClass from "./renderers/FlowRenderer.js";
import type RasterColormapRendererClass from "./renderers/RasterColormapRenderer.js";
import type RasterShadedReliefRendererClass from "./renderers/RasterShadedReliefRenderer.js";
import type RasterStretchRendererClass from "./renderers/RasterStretchRenderer.js";
import type UniqueValueRendererClass from "./renderers/UniqueValueRenderer.js";
import type VectorFieldRendererClass from "./renderers/VectorFieldRenderer.js";

/**
 * FlowRenderer.
 *
 * @deprecated since version 4.32. Import [FlowRenderer](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-FlowRenderer.html) directly instead.
 */
export const FlowRenderer: typeof FlowRendererClass;

/**
 * FlowRenderer.
 *
 * @deprecated since version 4.32. Import [FlowRenderer](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-FlowRenderer.html) directly instead.
 */
export type FlowRenderer = FlowRendererClass;

/**
 * ClassBreaksRenderer.
 *
 * @deprecated since version 4.32. Import [ClassBreaksRenderer](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-ClassBreaksRenderer.html) directly instead.
 */
export const ClassBreaksRenderer: typeof ClassBreaksRendererClass;

/**
 * ClassBreaksRenderer.
 *
 * @deprecated since version 4.32. Import [ClassBreaksRenderer](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-ClassBreaksRenderer.html) directly instead.
 */
export type ClassBreaksRenderer = ClassBreaksRendererClass;

/**
 * UniqueValueRenderer.
 *
 * @deprecated since version 4.32. Import [UniqueValueRenderer](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-UniqueValueRenderer.html) directly instead.
 */
export const UniqueValueRenderer: typeof UniqueValueRendererClass;

/**
 * UniqueValueRenderer.
 *
 * @deprecated since version 4.32. Import [UniqueValueRenderer](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-UniqueValueRenderer.html) directly instead.
 */
export type UniqueValueRenderer = UniqueValueRendererClass;

/**
 * RasterColormapRenderer.
 *
 * @deprecated since version 4.32. Import [ClassBreaksRenderer](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-ClassBreaksRenderer.html) directly instead.
 */
export const RasterColormapRenderer: typeof RasterColormapRendererClass;

/**
 * RasterColormapRenderer.
 *
 * @deprecated since version 4.32. Import [ClassBreaksRenderer](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-ClassBreaksRenderer.html) directly instead.
 */
export type RasterColormapRenderer = RasterColormapRendererClass;

/**
 * RasterStretchRenderer.
 *
 * @deprecated since version 4.32. Import [RasterStretchRenderer](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html) directly instead.
 */
export const RasterStretchRenderer: typeof RasterStretchRendererClass;

/**
 * RasterStretchRenderer.
 *
 * @deprecated since version 4.32. Import [RasterStretchRenderer](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterStretchRenderer.html) directly instead.
 */
export type RasterStretchRenderer = RasterStretchRendererClass;

/**
 * VectorFieldRenderer.
 *
 * @deprecated since version 4.32. Import [ClassBreaksRenderer](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-ClassBreaksRenderer.html) directly instead.
 */
export const VectorFieldRenderer: typeof VectorFieldRendererClass;

/**
 * VectorFieldRenderer.
 *
 * @deprecated since version 4.32. Import [ClassBreaksRenderer](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-ClassBreaksRenderer.html) directly instead.
 */
export type VectorFieldRenderer = VectorFieldRendererClass;

/**
 * RasterShadedReliefRenderer.
 *
 * @deprecated since version 4.32. Import [RasterShadedReliefRenderer](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterShadedReliefRenderer.html) directly instead.
 */
export const RasterShadedReliefRenderer: typeof RasterShadedReliefRendererClass;

/**
 * RasterShadedReliefRenderer.
 *
 * @deprecated since version 4.32. Import [RasterShadedReliefRenderer](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-RasterShadedReliefRenderer.html) directly instead.
 */
export type RasterShadedReliefRenderer = RasterShadedReliefRendererClass;