@arcgis/map-components
Version:
ArcGIS Map Components
761 lines (759 loc) • 39.3 kB
TypeScript
/// <reference types="@arcgis/core/interfaces.d.ts" />
/// <reference types="../../index.d.ts" />
import { Nil } from '@arcgis/components-utils';
import { default as SceneView } from '@arcgis/core/views/SceneView.js';
import { default as WebScene } from '@arcgis/core/WebScene.js';
import { PublicLitElement as LitElement, TargetedEvent } from '@arcgis/lumina';
import { Use } from '@arcgis/lumina/controllers';
declare const useWebScene: (component: LitElement & Omit<Pick<WebScene, "basemap" | "focusAreas" | "ground" | "clippingArea" | "layers" | "tables" | "presentation" | "widgets" | "applicationProperties" | "authoringApp" | "authoringAppVersion" | "floorInfo" | "initialViewProperties" | "portalItem" | "thumbnailUrl" | "clippingEnabled" | "heightModelInfo">, "basemap" | "ground" | ("destroyed" | "initialized" | "declaredClass" | "set" | "watch" | "addHandles" | "removeHandles" | "hasHandles") | "layers" | "tables" | "presentation" | "widgets" | "applicationProperties" | "authoringApp" | "authoringAppVersion" | "floorInfo" | "initialViewProperties" | "portalItem" | "thumbnailUrl" | "clippingEnabled" | "heightModelInfo"> & {
autoDestroyDisabled: boolean;
destroy: () => Promise<void>;
}) => WebScene;
declare const useSceneView: (component: LitElement & Omit<Pick<SceneView, "container" | "map" | "basemapView" | "center" | "constraints" | "extent" | "fatalError" | "graphics" | "highlights" | "navigation" | "padding" | "popup" | "scale" | "spatialReference" | "theme" | "timeExtent" | "viewpoint" | "zoom" | "floors" | "highlightOptions" | "alphaCompositingEnabled" | "analyses" | "camera" | "clippingArea" | "environment" | "qualityProfile" | "viewingMode" | "breakpoints" | "heightBreakpoint" | "popupEnabled" | "widthBreakpoint" | "ui" | "animation" | "displayFilterEnabled">, "container" | "center" | ("destroyed" | "initialized" | "declaredClass" | "set" | "watch" | "addHandles" | "removeHandles" | "hasHandles") | "breakpoints" | "heightBreakpoint" | "popupEnabled" | "widthBreakpoint" | "ui" | "animation" | "displayFilterEnabled"> & {
autoDestroyDisabled: boolean;
destroy: () => Promise<void>;
}) => SceneView;
/**
* The ArcGIS Scene component is used to add 3D maps to web applications. For 2D maps, use the
* [ArcGIS Map component](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-map/).
*
* The Scene component creates a [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html)
* and loads a [WebScene](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebScene.html) item from either
* [ArcGIS Online](https://www.arcgis.com/home/index.html) or [ArcGIS Enterprise portal](https://enterprise.arcgis.com/en/portal/latest/administer/windows/what-is-portal-for-arcgis-.htm).
*
* ```html
* <arcgis-scene item-id="e2da7564e4f24eaaa918ffd70378056a"></arcgis-scene>
* ```
*
* Alternatively, the Scene component can be initialized without a WebScene item:
*
* ```html
* <arcgis-scene
* basemap="satellite"
* ground="world-elevation"
* camera-position="12.3808, 46.3959, 4400"
* camera-tilt="75"
* camera-heading="300">
* </arcgis-scene>
* ```
*
* Further components can be added and connected to the Scene component:
*
* ```html
* <arcgis-scene item-id="e2da7564e4f24eaaa918ffd70378056a">
* <arcgis-layer-list position="bottom-right"></arcgis-layer-list>
* </arcgis-scene>
* ```
*
* The Scene component can be customized further using any of the [core API functionalities](https://developers.arcgis.com/javascript/latest/api-reference/)
* of the ArcGIS Maps SDK for JavaScript.
*
* ```js
* const viewElement = document.querySelector("arcgis-scene");
* await viewElement.viewOnReady();
* // The view is now ready to be used.
* const layer = new GraphicsLayer({ title: "My layer"});
* viewElement.map.add(layer);
* ```
*
* **See also**
*
* - [SDK sample apps using the Scene component](https://developers.arcgis.com/javascript/latest/sample-code/?tagged=arcgis-scene)
* - [Get started](https://developers.arcgis.com/javascript/latest/get-started/)
* - [Programming patterns](https://developers.arcgis.com/javascript/latest/programming-patterns/)
*
* [Read more...](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/)
*/
export declare class ArcgisScene extends LitElement {
/** The [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html) instance created and managed by the component. Accessible once the component is fully loaded. */
readonly view: SceneView;
/**
* Collection containing a flat list of all the created [LayerViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-LayerView.html)
* related to the basemap, operational layers, and group layers in this view.
*/
readonly allLayerViews: __esri.Collection<__esri.LayerView>;
/**
* Allows the view to be partially or fully transparent when composited with the webpage elements behind it.
*
* @default false
*/
alphaCompositingEnabled: boolean;
/**
* Allows for adding analyses directly to the default analyses in the View.
*
* [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#analyses)
*/
analyses: __esri.Collection<__esri.AnalysisUnion>;
/**
* If true, the component will not be destroyed automatically when it is
* disconnected from the document. This is useful when you want to move the
* component to a different place on the page, or temporarily hide it. If this
* is set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/#destroy) method when you are done to
* prevent memory leaks.
*
* @default false
*/
autoDestroyDisabled: boolean;
/**
* Specifies a basemap for the map. The basemap is a set of layers that give
* geographic context to the view and the other operational layers
* in the map.
* It can either be set using a basemap ID string ([see values](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap)),
* [Basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html)
* or [BasemapStyle](https://developers.arcgis.com/javascript/latest/api-reference/esri-support-BasemapStyle.html).
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap)
*/
basemap?: __esri.Basemap | string;
/**
* Represents the [view for a single basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-BasemapView.html)
* after it has been added to the map.
*/
basemapView: __esri.BasemapView;
/**
* The [camera](https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html) allows to set the observation point from which the visible portion (or perspective)
* of the view is determined. When set in the constructor, this property overrides the [center](#center), [extent](#extent), [scale](#scale), [viewpoint](#viewpoint), and [zoom](#zoom) properties.
*
* Setting the camera immediately changes the current view. For animating the view, see this component's
* [goTo()](#goTo) method.
*/
get camera(): __esri.Camera;
set camera(newValue: __esri.Camera);
/**
* The diagonal field of view (fov) angle for the camera. The range of angles must be between 1 and 170 degrees.
*
* Setting the camera fov immediately changes the current view. For animating the view, see this component's
* [goTo()](#goTo) method.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html#fov)
*/
get cameraFov(): Nil | number;
set cameraFov(newValue: Nil | number);
/**
* The compass heading of the camera in degrees.
*
* Setting the camera heading immediately changes the current view. For animating the view, see this component's
* [goTo()](#goTo) method.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html#heading)
*/
get cameraHeading(): Nil | number;
set cameraHeading(newValue: Nil | number);
/**
* The position of the camera defined by a map point. It can either be set with a
* [Point](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html) instance
* or a string in the format: longitude, latitude, elevation. E.g. `"12.3808, 46.3959, 4400"`.
*
* Setting the camera position immediately changes the current view. For animating the view, see this component's
* [goTo()](#goTo) method.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html#position)
*/
get cameraPosition(): __esri.Point | Nil | number[] | string;
set cameraPosition(newValue: __esri.Point | Nil | number[] | string);
/**
* The tilt of the camera in degrees with respect to the surface as projected down from the camera position.
*
* Setting the camera tilt immediately changes the current view. For animating the view, see this component's
* [goTo()](#goTo) method.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html#tilt)
*/
get cameraTilt(): Nil | number;
set cameraTilt(newValue: Nil | number);
/**
* Represents the center point of the view. It can be a string with the format `"<longitude>, <latitude>"`
* or a [Point](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html) instance.
*
* Setting the center immediately changes the current view. For animating the view, see this component's
* [goTo()](#goTo) method.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#center)
*/
get center(): __esri.SceneView["center"];
set center(newValue: __esri.SceneView["center"] | Nil | number[] | string);
/**
* Represents an optional clipping area used to define the visible [extent](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Extent.html)
* of a Scene in `local` [viewingMode](#viewingMode).
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#clippingArea)
*/
clippingArea: nullish | __esri.Extent;
/**
* Specifies constraints for the camera's tilt, altitude, and view's clip distance.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#constraints)
*/
constraints: __esri.SceneViewConstraints;
/**
* Indicates whether a layer's `displayFilter` is honored when rendering layers in the view.
* If `false`, the display filters are ignored and all features are rendered.
*
* @default false
*/
displayFilterDisabled: boolean;
/**
* Specifies various properties of the environment's visualization within the view, including lighting, background, weather, and more.
* The Scene will redraw automatically when any property of environment changes.
*
* Modifying the lighting:
*
* ```js
* viewElement.environment.lighting = {
* type: "sun", // autocasts as new SunLighting()
* date: new Date(), // sets the lighting to reflect the current time of day
* directShadowsEnabled: true,
* };
* ```
*
* Setting the background:
*
* ```js
* viewElement.environment = {
* background: {
* type: "color",
* color: [255, 252, 244, 1]
* },
* starsEnabled: false,
* atmosphereEnabled: false
* };
* ```
*
* Changing the weather in the scene:
*
* ```js
* viewElement.environment.weather = {
* type: "rainy", // autocasts as new RainyWeather({ cloudCover: 0.7, precipitation: 0.3 })
* cloudCover: 0.7,
* precipitation: 0.3
* };
* ```
*
* **See also**
*
* - [SunLighting](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-environment-SunLighting.html)
* - [VirtualLighting](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-environment-VirtualLighting.html)
* - [SunnyWeather](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-environment-SunnyWeather.html)
* - [CloudyWeather](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-environment-CloudyWeather.html)
* - [RainyWeather](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-environment-RainyWeather.html)
* - [SnowyWeather](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-environment-SnowyWeather.html)
* - [FoggyWeather](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-environment-FoggyWeather.html)
* - [Sample - Daylight component](https://developers.arcgis.com/javascript/latest/sample-code/daylight/)
* - [Sample - Weather component](https://developers.arcgis.com/javascript/latest/sample-code/weather/)
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#environment)
*/
environment: __esri.SceneViewEnvironment;
/**
* The extent represents the visible portion of a [map](#map) within the view as an instance of
* [Extent](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Extent.html).
*
* Setting the extent immediately changes the view without animation. To animate
* the view, see this component's [goTo()](#goTo) method.
* When the view is rotated, the extent does not update to include the newly visible portions of the map.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#extent)
*/
get extent(): __esri.SceneView["extent"];
set extent(newValue: __esri.SceneView["extent"]);
/**
* A rejected view indicates a fatal [error](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Error.html)
* making it unable to display.
*
* [Read more](https://next.sites.afd.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#fatalError)
*/
fatalError: nullish | __esri.Error;
/**
* Applies a display filter on the view for a specific set of floor levels.
* It can filter the map display on floor-aware layers by zero or more level IDs.
*/
floors: __esri.Collection<string>;
/**
* A container of all [focus areas](https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusAreas.html) present in the map.
*
* [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#focusAreas)
*
* @since 4.33
*/
get focusAreas(): __esri.FocusAreas;
set focusAreas(newValue: __esri.FocusAreas);
/** Gamepad input specific configuration settings. */
get gamepad(): __esri.GamepadSettings;
/**
* Allows for adding graphics directly to the default graphics in the view.
*
* @example
* ```js
* // Adds a graphic to the View
* graphics.add(pointGraphic);
* // Removes a graphic from the View
* graphics.remove(pointGraphic);
* ```
*/
graphics: __esri.Collection<__esri.Graphic>;
/**
* Specifies the surface properties for the [map](#map). It can be either a [Ground](https://developers.arcgis.com/javascript/latest/api-reference/esri-Ground.html)
* instance or a string with one of the following values:
* * `"world-elevation"`
* * `"world-topobathymetry"`
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#ground)
*/
get ground(): typeof this._map.ground;
set ground(value: __esri.Ground | string);
/**
* The view for the ground of the map.
*
* [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#groundView)
*/
readonly groundView: __esri.GroundView;
/**
* Represents a collection of [HighlightOptions](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-support-HighlightOptions.html) objects which can be used to
* highlight features throughout an application.
*
* [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html#highlights)
*/
highlights: __esri.Collection<__esri.HighlightOptions>;
/**
* Options for configuring the highlight.
*
* @deprecated since 4.32, use [highlights](https://next.sites.afd.arcgis.com/javascript/latest/references/map-components/arcgis-scene/#highlights) property instead.
*/
highlightOptions: __esri.HighlightOptions;
/**
* Indication whether the view is being interacted with (for example when panning or by an interactive tool).
*
* @default false
*/
get interacting(): boolean;
/**
* The ID of a [WebScene](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebScene.html) item from either
* [ArcGIS Online](https://www.arcgis.com/home/index.html) or [ArcGIS Enterprise portal](https://enterprise.arcgis.com/en/portal/latest/administer/windows/what-is-portal-for-arcgis-.htm).
*
* To configure the portal url you must set the [config.portalUrl](https://next.sites.afd.arcgis.com/javascript/latest/api-reference/esri-config.html#portalUrl) property before the Scene component loads.
*/
get itemId(): Nil | string;
set itemId(newValue: Nil | string);
/**
* A collection containing a hierarchical list of all the created
* [LayerViews](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-LayerView.html) of the
* [operational layers](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#layers) in the [map](#map).
*/
readonly layerViews: __esri.Collection<__esri.LayerView>;
/** The magnifier allows for showing a portion of the view as a magnifier image on top of the view. */
readonly magnifier: __esri.Magnifier;
/** An instance of a [Map](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html) object to display in the view. */
map: __esri.Map | nullish;
/**
* Indication whether the view is being navigated (for example when panning).
*
* @default false
*/
get navigating(): boolean;
/**
* Options to configure the navigation behavior of the view.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#navigation)
*/
navigation: __esri.Navigation;
/**
* Use the padding property to make the [center](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#center),
* and [extent](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#extent),
* etc. work off a subsection of the full view.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#padding)
*
* @default {left: 0, top: 0, right: 0, bottom: 0}
*/
padding: __esri.ViewPadding;
/**
* This property contains performance information of the view, e.g. global memory usage and additional
* details for layers about memory consumption and number of features.
*/
get performanceInfo(): __esri.SceneViewPerformanceInfo;
/**
* A [Popup](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html)
* object that displays general content or attributes from [layers](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#layers)
* in the [map](#map).
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#popup)
*/
popup: nullish | __esri.Popup;
/**
* Controls whether the popup opens when users click on the view.
*
* @default false
*/
popupDisabled: boolean;
/**
* Scenes can be drawn in three different quality modes: `high`, `medium` and `low`.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#qualityProfile)
*/
qualityProfile: "medium" | "low" | "high";
/**
* When `true`, this property indicates whether the view successfully satisfied all dependencies,
* signaling that the necessary conditions are met.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#ready)
*
* @default false
*/
readonly ready: boolean;
/**
* Represents the current value of one pixel in the unit of the view's
* [spatialReference](#spatialReference).
* The resolution is calculated by dividing the [Scene's extent](#extent) [width](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Extent.html#width)
* by [its width](#width).
*/
get resolution(): number;
/**
* Represents the map scale at the center of the view.
*
* Setting the scale immediately changes the view. For animating
* the view, see this component's [goTo()](#goTo) method.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#scale)
*/
get scale(): number;
set scale(newValue: number);
/**
* The [spatial reference](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-SpatialReference.html) of the view.
* This indicates the projected or geographic coordinate system used
* to locate geographic features in the map.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#spatialReference)
*
* @default null
*/
spatialReference: __esri.SpatialReference;
/**
* Indication whether the view is animating, being navigated with or resizing.
*
* @default false
*/
get stationary(): boolean;
/**
* Indicates if the view is visible on the page.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#suspended)
*
* @default true
*/
readonly suspended: boolean;
/**
* This property specifies the base colors used by some components to render graphics and labels.
* This only affects those elements that would otherwise use the default orange pattern.
*
* @default null
*/
theme: nullish | __esri.Theme;
/**
* The view's time extent. Time-aware layers display their temporal data that falls within
* the view's time extent. Setting the view's time extent is similar to setting the spatial
* extent because once the time extent is set, the
* view updates automatically to conform to the change.
*
* @default null
*/
timeExtent: nullish | __esri.TimeExtent;
/**
* Indicates whether the view is being updated by additional data requests to the network,
* or by processing received data.
*
* @default false
*/
readonly updating: boolean;
/**
* The viewing mode sets whether the view renders the earth as a sphere (global mode) or on a flat plane (local mode).
*
* Note that the viewing mode must be set before the Scene component loads.
* Depending on the viewing mode different [supported coordinate systems](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#supported-coordinate-systems) are available.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#viewingMode)
*
* @default "global"
*/
viewingMode: "global" | "local";
/**
* Represents the current view as a [Viewpoint](https://developers.arcgis.com/javascript/latest/api-reference/esri-Viewpoint.html)
* or point of observation on the view.
*
* Setting the viewpoint immediately changes the current view. For animating
* the view, see this component's [goTo()](#goTo) method.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#viewpoint)
*/
get viewpoint(): __esri.Viewpoint;
set viewpoint(newValue: __esri.Viewpoint);
/**
* The visibleArea represents the visible portion of a [map](#map) within the view as an instance of a
* [Polygon](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Polygon.html).
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#visibleArea)
*/
readonly visibleArea: nullish | __esri.Polygon;
/**
* Represents the level of detail (LOD) at the center of the view.
*
* Setting the zoom immediately changes the current view. For animating the view, see this component's [goTo()](#goTo) method.
* Setting this property in conjunction with [center](#center)
* is a convenient way to set the initial extent of the view.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#zoom)
*/
get zoom(): number;
set zoom(newValue: number);
/**
* @deprecated
* since 4.33, use `element.map.add(layer)` instead.
*
* Adds a layer to the [map's](https://next.sites.afd.arcgis.com/javascript/latest/references/map-components/arcgis-scene/#map) `layers` collection.
*/
addLayer(layer: __esri.Layer | Promise<any>, index?: number): Promise<void>;
/**
* @deprecated
* since 4.33, use `element.map.addMany([layer])` instead.
*
* Adds a layer or array of layers to the [map's](https://next.sites.afd.arcgis.com/javascript/latest/references/map-components/arcgis-scene/#map) `layers` collection.
*/
addLayers(layers: __esri.Layer[], index?: number): Promise<void>;
/**
* @deprecated
* since 4.33, use `element.map.tables.add(table)` instead.
*
* Adds a table to the [map's](https://next.sites.afd.arcgis.com/javascript/latest/references/map-components/arcgis-scene/#map) `tables` collection.
*/
addTable(table: __esri.FeatureLayer): Promise<void>;
/**
* @deprecated
* since 4.33, use `element.map.tables.addMany([table])` instead.
*
* Adds a table or array of tables to the [map's](https://next.sites.afd.arcgis.com/javascript/latest/references/map-components/arcgis-scene/#map) `tables` collection.
*/
addTables(tables: __esri.FeatureLayer[], index?: number): Promise<void>;
/** Closes the [popup](#popup). */
closePopup(): Promise<void>;
/**
* Destroys the Scene component, and any associated resources, including its [map](#map), [popup](#popup),
* and removes components or other UI DOM elements added to it.
*/
destroy(): Promise<void>;
/**
* Sets the view to a given target.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#goTo)
*/
goTo(target: __esri.GoToTarget3D, options?: __esri.GoToOptions3D): Promise<unknown>;
/**
* Returns [hit test results](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#HitTestResult)
* from each layer that intersects the specified screen coordinates.
*
* ```js
* viewElement.addEventListener("arcgisViewClick", (event) => {
* viewElement.hitTest(event.detail).then((response) => {
* const result = response.results[0];
* if (result?.type === "graphic") {
* const { longitude, latitude } = result.mapPoint;
* console.log("Hit graphic at (" + longitude + ", " + latitude + ")", result.graphic);
* } else {
* console.log("Did not hit any graphic");
* }
* });
* });
* ```
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#hitTest)
*/
hitTest(screenPoint: __esri.SceneViewScreenPoint | MouseEvent, options?: __esri.SceneViewHitTestOptions): Promise<__esri.SceneViewHitTestResult>;
/**
* Opens the popup based on input options.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#openPopup)
*/
openPopup(options?: __esri.PopupViewOpenPopupOptions): Promise<void>;
/**
* Creates a screenshot of the current view.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#takeScreenshot)
*/
takeScreenshot(options?: __esri.SceneViewTakeScreenshotOptions): Promise<__esri.SceneViewScreenshot>;
/** Converts the given screen point to a [map point](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html). */
toMap(screenPoint: __esri.SceneViewScreenPoint | MouseEvent, options?: __esri.SceneViewToMapOptions): __esri.Point | nullish;
/** Converts the given [map point](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html) to a screen point. */
toScreen(point: __esri.Point): __esri.SceneViewScreenPoint;
/** Call this method to clear any fatal errors resulting from a lost WebGL context. */
tryFatalErrorRecovery(): Promise<void>;
/**
* `viewOnReady()` may be leveraged once an instance of the component and its underlying [view](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-scene/#view) is created and ready.
* This method takes two input parameters, a `callback` function and an `errback` function, and returns a promise. The `callback` executes when the promise resolves, and the `errback` executes if the promise is rejected.
*
* @since 4.33
* @see [Watch for changes - waiting for components or views to be ready](https://developers.arcgis.com/javascript/latest/watch-for-changes/#waiting-for-components-or-views-to-be-ready)
* @example
* ```js
* const viewElement = document.querySelector("arcgis-scene");
* await viewElement.viewOnReady();
* // The view is now ready to be used.
* viewElement.map.add(new FeatureLayer({...}));
* ```
*/
viewOnReady(callback?: () => void, errback?: (error: Error) => void): Promise<void>;
/**
* Gets the analysis view created for the given analysis object.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#whenAnalysisView)
*/
whenAnalysisView(analysis: __esri.AreaMeasurementAnalysis | __esri.DimensionAnalysis | __esri.DirectLineMeasurementAnalysis | __esri.LineOfSightAnalysis | __esri.SliceAnalysis | __esri.ViewshedAnalysis): Promise<__esri.AreaMeasurementAnalysisView3D | __esri.DimensionAnalysisView3D | __esri.DirectLineMeasurementAnalysisView3D | __esri.LineOfSightAnalysisView3D | __esri.SliceAnalysisView3D | __esri.ViewshedAnalysisView3D>;
/**
* Gets the layer view created on the view for the given layer.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#whenLayerView)
*/
whenLayerView(layer: __esri.Layer): Promise<__esri.LayerView>;
/**
* This event is for view related property changes: [zoom](#zoom), [scale](#scale), [center](#center), [rotation](#rotation), [extent](#extent),
* [camera](#camera), [viewpoint](#viewpoint). This event will also emit if [stationary](#stationary) toggles from `true` to `false`.
*/
readonly arcgisViewChange: TargetedEvent<this, void>;
/**
* Fires after a user clicks on the view.
*
* ```js
* viewElement.addEventListener("arcgisViewClick", (event) => {
* viewElement.hitTest(event.detail).then((response) => {
* const result = response.results[0];
* // ....
* });
* });
* ```
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-click)
*/
readonly arcgisViewClick: TargetedEvent<this, __esri.ViewClickEvent>;
/**
* Fires after double-clicking on the view.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-double-click)
*/
readonly arcgisViewDoubleClick: TargetedEvent<this, __esri.ViewDoubleClickEvent>;
/**
* Fires during a pointer drag on the view.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-drag)
*/
readonly arcgisViewDrag: TargetedEvent<this, __esri.ViewDragEvent>;
/**
* Fires after holding either a mouse button or a single finger on the view for a short amount of time.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-hold)
*/
readonly arcgisViewHold: TargetedEvent<this, __esri.ViewHoldEvent>;
/**
* Fires right after a user clicks on the view.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-immediate-click)
*/
readonly arcgisViewImmediateClick: TargetedEvent<this, __esri.ViewImmediateClickEvent>;
/**
* Is emitted after two consecutive immediate-click events.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-immediate-double-click)
*/
readonly arcgisViewImmediateDoubleClick: TargetedEvent<this, __esri.ViewImmediateDoubleClickEvent>;
/**
* Fires after a keyboard key is pressed.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-key-down)
*/
readonly arcgisViewKeyDown: TargetedEvent<this, __esri.ViewKeyDownEvent>;
/**
* Fires after a keyboard key is released.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-key-up)
*/
readonly arcgisViewKeyUp: TargetedEvent<this, __esri.ViewKeyUpEvent>;
/**
* Fires after each layer in the map has a corresponding LayerView created and rendered in the view.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-layerview-create)
*/
readonly arcgisViewLayerviewCreate: TargetedEvent<this, __esri.ViewLayerviewCreateEvent>;
/**
* Fires when an error emits during the creation of a LayerView after a layer has been added to the map.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-layerview-create-error)
*/
readonly arcgisViewLayerviewCreateError: TargetedEvent<this, __esri.ViewLayerviewCreateErrorEvent>;
/**
* Fires after a LayerView is destroyed and is no longer rendered in the view.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-layerview-destroy)
*/
readonly arcgisViewLayerviewDestroy: TargetedEvent<this, __esri.ViewLayerviewDestroyEvent>;
/**
* Fires when the view for an analysis is created.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-analysis-view-create)
*/
readonly arcgisViewAnalysisViewCreate: TargetedEvent<this, __esri.ViewAnalysisViewCreateEvent>;
/**
* Fires when an error occurs during the creation of an analysis view after an analysis is added to the view.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-analysis-view-create-error)
*/
readonly arcgisViewAnalysisViewCreateError: TargetedEvent<this, __esri.ViewAnalysisViewCreateErrorEvent>;
/**
* Fires after an analysis view is destroyed.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-analysis-view-destroy)
*/
readonly arcgisViewAnalysisViewDestroy: TargetedEvent<this, __esri.ViewAnalysisViewDestroyEvent>;
/**
* Fires when a wheel button of a pointing device (typically a mouse) is scrolled on the view.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-mouse-wheel)
*/
readonly arcgisViewMouseWheel: TargetedEvent<this, __esri.ViewMouseWheelEvent>;
/**
* Fires after a mouse button is pressed, or a finger touches the display.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-pointer-down)
*/
readonly arcgisViewPointerDown: TargetedEvent<this, __esri.ViewPointerDownEvent>;
/**
* Fires after a mouse cursor enters the view, or a display touch begins.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-pointer-enter)
*/
readonly arcgisViewPointerEnter: TargetedEvent<this, __esri.ViewPointerEnterEvent>;
/**
* Fires after a mouse cursor leaves the view, or a display touch ends.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-pointer-leave)
*/
readonly arcgisViewPointerLeave: TargetedEvent<this, __esri.ViewPointerLeaveEvent>;
/**
* Fires after the mouse or a finger on the display moves.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-pointer-move)
*/
readonly arcgisViewPointerMove: TargetedEvent<this, __esri.ViewPointerMoveEvent>;
/**
* Fires after a mouse button is released, or a display touch ends.
*
* [Read more](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#event-pointer-up)
*/
readonly arcgisViewPointerUp: TargetedEvent<this, __esri.ViewPointerUpEvent>;
/**
* This event is for the [ready](#ready) property and will be emitted when the view is ready.
* This event will also emit if the [map](#map) property is changed.
*/
readonly arcgisViewReadyChange: TargetedEvent<this, void>;
private _map: __esri.Map;
readonly _setterTypes: {
center?: __esri.SceneView["center"] | Nil | number[] | string;
ground?: __esri.Ground | string;
};
}
export {};