/** @packageDocumentation * @module DisplayStyles */ import { MapLayerProps } from "./MapLayerSettings"; import { PlanarClipMaskProps, PlanarClipMaskSettings } from "./PlanarClipMask"; import { TerrainProps, TerrainSettings } from "./TerrainSettings"; /** Describes the type of background map displayed by a [[DisplayStyle]] * @see [[BackgroundMapProps]] * @see [[DisplayStyleSettingsProps]] * @public */ export declare enum BackgroundMapType { Street = 1, Aerial = 2, Hybrid = 3 } /** Describes the projection of the background map * @see [[BackgroundMapProps]] * @see [[DisplayStyleSettingsProps]] * @public */ export declare enum GlobeMode { /** Display Earth as 3d ellipsoid */ Ellipsoid = 0, /** Display Earth as plane. */ Plane = 1 } /** JSON representation of the settings associated with a background map displayed by a [[DisplayStyle]]. * @see [[DisplayStyleSettingsProps]] * @public */ export interface BackgroundMapProps { /** The elevation of the map in meters relative the WGS84 ellipsoid. Default value: 0. */ groundBias?: number; /** Identifies the source of the map tiles. Currently supported providers are "BingProvider" and "MapBoxProvider". Support for additional providers may be added in the future. * * Default value: "BingProvider" */ providerName?: string; /** Options for customizing the tiles supplied by the provider. If undefined, default values of all members are used. */ providerData?: { /** The type of map graphics to request. Default value: BackgroundMapType.Hybrid. */ mapType?: BackgroundMapType; }; /** A transparency value from 0.0 (fully opaque) to 1.0 (fully transparent) to apply to map graphics when drawing, or false to indicate the transparency should not be overridden. Default value: false. */ transparency?: number | false; /** If set to true, the map tiles will be rendered with depth, allowing them to obscure other geometry. Otherwise, they are always rendered behind all other geometry. Default value: false. */ useDepthBuffer?: boolean; /** If true, terrain heights will be applied to the map; otherwise the map will be rendered as a plane. */ applyTerrain?: boolean; /** Properties associated with terrain display. */ terrainSettings?: TerrainProps; /** Globe Mode. Default value: GlobeMode.Ellipsoid */ globeMode?: GlobeMode; /** If true, the map will be treated as non-locatable - i.e., tools will not interact with it. This is particularly useful when the map is transparent - it * allows the user to select elements that are behind the map. */ nonLocatable?: boolean; /** A planar mask applied to the map geometry * @beta */ planarClipMask?: PlanarClipMaskProps; } /** The current set of supported background map providers. * @public */ export declare type BackgroundMapProviderName = "BingProvider" | "MapBoxProvider"; /** Normalized representation of a [[BackgroundMapProps]] for which type and provider have been validated and default values have been applied where explicit values not defined. * @public */ export declare class BackgroundMapSettings { /** Elevation in meters, relative to WGS84 Ellipsoid.. */ readonly groundBias: number; /** Identifies the provider from which map image will be obtained. */ readonly providerName: BackgroundMapProviderName; /** The type of map graphics to be drawn. */ readonly mapType: BackgroundMapType; /** A transparency value from 0.0 (fully opaque) to 1.0 (fully transparent) to apply to map graphics when drawing, or false to indicate the transparency should not be overridden. Default value: false. */ readonly transparency: number | false; /** If set to true, the map tiles will be rendered with depth, allowing them to obscure other geometry. Otherwise, they are always rendered behind all other geometry. Default value: false. */ readonly useDepthBuffer: boolean; /** If true, terrain heights will be applied to the map; otherwise the map will be rendered as a plane. */ readonly applyTerrain: boolean; /** Settings associated with terrain display. */ readonly terrainSettings: TerrainSettings; /** Globe display mode. */ readonly globeMode: GlobeMode; /** Planar Mask - used to mask the background map to avoid overlapping with other geometry * @beta */ readonly planarClipMask: PlanarClipMaskSettings; private readonly _locatable; /** If false, the map will be treated as non-locatable - i.e., tools will not interact with it. This is particularly useful when the map is transparent - it * allows the user to select elements that are behind the map. */ get locatable(): boolean; /** If transparency is overridden, the transparency to apply; otherwise, undefined. */ get transparencyOverride(): number | undefined; private constructor(); /** Construct from JSON, performing validation and applying default values for undefined fields. */ static fromJSON(json?: BackgroundMapProps): BackgroundMapSettings; toJSON(): BackgroundMapProps; /** Returns true if these settings are equivalent to the supplied JSON settings. */ equalsJSON(json?: BackgroundMapProps): boolean; equals(other: BackgroundMapSettings): boolean; /** Create a copy of this BackgroundMapSettings, optionally modifying some of its properties. * @param changedProps JSON representation of the properties to change. * @returns A BackgroundMapSettings with all of its properties set to match those of `this`, except those explicitly defined in `changedProps`. * @note If changing the provider it is currently necessary to also make same change to update the imagery base layer. */ clone(changedProps?: BackgroundMapProps): BackgroundMapSettings; /** @internal */ static providerFromMapLayer(props: MapLayerProps): BackgroundMapProps | undefined; } //# sourceMappingURL=BackgroundMapSettings.d.ts.map