/**
 * A module for importing union types for use in [TypeScript](https://developers.arcgis.com/javascript/latest/get-started/#typescript).
 *
 * @since 4.32
 */
import type { AnalysisUnion as AnalysisUnionAlias } from "./analysis/types.js";
import type { GeometryUnion as GeometryUnionAlias } from "./geometry/types.js";
import type { RendererUnion as RendererUnionAlias, RendererWithVisualVariablesUnion as RendererWithVisualVariablesUnionAlias } from "./renderers/types.js";
import type { PointCloudRendererUnion as PointCloudRendererUnionAlias } from "./renderers/support/pointCloud/types.js";
import type { RasterRendererUnion as RasterRendererUnionAlias } from "./renderers/support/raster/types.js";
import type { SymbolUnion as SymbolUnionAlias, FillSymbol as FillSymbol2DUnionAlias, MarkerSymbol as MarkerSymbol2DUnionAlias, Symbol3DLayerUnion as Symbol3DLayerUnionAlias, Symbol3DUnion as Symbol3DUnionAlias, Symbol2D3DUnion as Symbol2D3DUnionAlias, Symbol2DUnion as Symbol2DUnionAlias } from "./symbols/support/typeUtils.js";
import type { AnalysisView2DUnion as AnalysisView2DUnionAlias } from "./views/2d/analysis/types.js";
import type { AnalysisView3DUnion as AnalysisView3DUnionAlias } from "./views/3d/analysis/types.js";
import type { AnalysisViewUnion as AnalysisViewUnionAlias } from "./views/analysis/types.js";

/** Union of all geometries. */
export type GeometryUnion = GeometryUnionAlias;

/** Union of symbols. */
export type SymbolUnion = SymbolUnionAlias;

/** Union of all possible analysis views that can be created in a [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). */
export type AnalysisView3DUnion = AnalysisView3DUnionAlias;

/** Union of all possible analysis views that can be created in a [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html). */
export type AnalysisView2DUnion = AnalysisView2DUnionAlias;

/** Union of all possible analysis types that can be added to a [View](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html). */
export type AnalysisUnion = AnalysisUnionAlias;

/**
 * Union of renderers.
 *
 * @deprecated since 5.0. Use [RendererUnion](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-types.html#RendererUnion) instead.
 */
export type RendererUnion = RendererUnionAlias;

/**
 * Union of raster renderers.
 *
 * @deprecated since 5.0. Use [RasterRendererUnion](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-support-raster-types.html#RasterRendererUnion) instead.
 */
export type RasterRendererUnion = RasterRendererUnionAlias;

/**
 * Union of point cloud renderers.
 *
 * @deprecated since 5.0. Use [PointCloudRendererUnion](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-support-pointCloud-types.html#PointCloudRendererUnion) instead.
 */
export type PointCloudRendererUnion = PointCloudRendererUnionAlias;

/** Union of 2D fill symbols. */
export type FillSymbol2DUnion = FillSymbol2DUnionAlias;

/** Union of 2D marker symbols. */
export type MarkerSymbol2DUnion = MarkerSymbol2DUnionAlias;

/** Union of 3D symbol layers. */
export type Symbol3DLayerUnion = Symbol3DLayerUnionAlias;

/** Union of 3D symbols. */
export type Symbol3DUnion = Symbol3DUnionAlias;

/** Union of 2D and 3D symbols. */
export type Symbol2D3DUnion = Symbol2D3DUnionAlias;

/**
 * Union of renderers with visual variables.
 *
 * @deprecated since 5.0. Use [RendererWithVisualVariablesUnion](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-types.html#RendererWithVisualVariablesUnion) instead.
 */
export type RendererWithVisualVariablesUnion = RendererWithVisualVariablesUnionAlias;

/** Union of 2D symbols. */
export type Symbol2DUnion = Symbol2DUnionAlias;

/**
 * Union of all possible analysis views that can be created in a [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html) or
 * [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html).
 */
export type AnalysisViewUnion = AnalysisViewUnionAlias;