/// <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 {};
