/// <reference types="@arcgis/core/interfaces.d.ts" />
/// <reference types="../../index.d.ts" />
import { Use } from '@arcgis/lumina/controllers';
import { default as VideoView } from '@arcgis/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 ArcGIS Video component provides a view for displaying video feeds from a
 * [VideoLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-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://developers.arcgis.com/javascript/latest/references/map-components/arcgis-video/)
 *
 * @example
 * ```html
 * <arcgis-video></arcgis-video>
 * ```
 *
 * ```js
 * const VideoLayer = await $arcgis.import("@arcgis/core/layers/VideoLayer.js");
 * const videoElement = document.querySelector("arcgis-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 ArcgisVideo extends LitElement {
    /** @default false */
    autoDestroyDisabled: boolean;
    /** The [VideoView](https://developers.arcgis.com/javascript/latest/api-reference/esri-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://developers.arcgis.com/javascript/latest/api-reference/esri-views-VideoView.html#ready)
     *
     * @default false
     */
    readonly ready: boolean;
    /**
     * The [VideoLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-VideoLayer.html) to display in the view.
     *
     * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-VideoView.html#layer)
     */
    layer: nullish | __esri.VideoLayer;
    /**
     * A reference to the associated [Map](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html) or [WebMap](https://developers.arcgis.com/javascript/latest/api-reference/esri-WebMap.html).
     *
     * @default null
     */
    map: __esri.Map | nullish | __esri.WebMap;
    /** Destroys the view, and any associated resources, including its map, popup, and UI elements. */
    destroy(): Promise<void>;
    readonly arcgisViewReadyChange: TargetedEvent<this, void>;
}
export {};
