/// <reference types="@geoscene/core/interfaces.d.ts" />
/// <reference types="../../index.d.ts" />
import { Use } from '@arcgis/lumina/controllers';
import { default as VideoView } from '@geoscene/core/views/VideoView.js';
import { PublicLitElement as LitElement, TargetedEvent } from '@arcgis/lumina';

declare const useVideoView: (component: LitElement & Omit<Pick<VideoView, "container" | "map" | "navigation" | "scale" | "ui" | "layer">, "container" | "navigation" | "scale" | ("destroyed" | "initialized" | "declaredClass" | "set" | "watch" | "addHandles" | "removeHandles" | "hasHandles") | "ui"> & {
    autoDestroyDisabled: boolean;
    destroy: () => Promise<void>;
}) => VideoView;
/**
 * The GeoScene Video component provides a view for displaying video feeds from a
 * [VideoLayer](https://doc.geoscene.cn/javascript/4.33/api-reference/geoscene-layers-VideoLayer.html).
 * It is designed to render and interact with video layers.
 *
 * A Video component must have a valid VideoLayer.
 * It supports various features such as navigating, zooming, and panning, making it suitable for
 * applications that require interactive video overlays.
 *
 * [Read more...](https://doc.geoscene.cn/javascript/4.33/references/map-components/geoscene-video/)
 *
 * @example
 * ```html
 * <geoscene-video></geoscene-video>
 * ```
 *
 * ```js
 * const VideoLayer = await $geoscene.import("@geoscene/core/layers/VideoLayer.js");
 * const videoElement = document.querySelector("geoscene-video");
 *
 * const videoLayer = new VideoLayer({
 *   url: "YOUR_VIDEO_LAYER_URL",
 * });
 *
 * await videoLayer.load();
 * if (videoLayer.loaded) {
 *   videoElement.layer = videoLayer;
 * }
 * ```
 * @since 4.33
 */
export declare class GeosceneVideo extends LitElement {
    /** @default false */
    autoDestroyDisabled: boolean;
    /** The [VideoView](https://doc.geoscene.cn/javascript/4.33/api-reference/geoscene-views-VideoView.html) instance created and manged by the component. Accessible once the component is fully loaded. */
    readonly view: VideoView;
    /**
     * When `true`, this property indicates whether the view successfully satisfied all dependencies,
     * signaling that the following conditions are met.
     *
     * [Read more...](https://doc.geoscene.cn/javascript/4.33/api-reference/geoscene-views-VideoView.html#ready)
     *
     * @default false
     */
    readonly ready: boolean;
    /**
     * The [VideoLayer](https://doc.geoscene.cn/javascript/4.33/api-reference/geoscene-layers-VideoLayer.html) to display in the view.
     *
     * [Read more...](https://doc.geoscene.cn/javascript/4.33/api-reference/geoscene-views-VideoView.html#layer)
     */
    layer: nullish | __geoscene.VideoLayer;
    /**
     * A reference to the associated [Map](https://doc.geoscene.cn/javascript/4.33/api-reference/geoscene-Map.html) or [WebMap](https://doc.geoscene.cn/javascript/4.33/api-reference/geoscene-WebMap.html).
     *
     * @default null
     */
    map: __geoscene.Map | nullish | __geoscene.WebMap;
    /** Destroys the view, and any associated resources, including its map, popup, and UI elements. */
    destroy(): Promise<void>;
    readonly geosceneViewReadyChange: TargetedEvent<this, void>;
}
export {};