/// <reference types="@arcgis/core/interfaces.d.ts" />
/// <reference types="../../index.d.ts" />
import { Use } from '@arcgis/lumina/controllers';
import { JsxNode, PublicLitElement as LitElement, TargetedEvent } from '@arcgis/lumina';
import { ArcgisReferenceElement } from '../../utils/component-utils';
import { useView } from '../../controllers/useView';
import { default as MapView } from '@arcgis/core/views/MapView.js';
import { default as SceneView } from '@arcgis/core/views/SceneView.js';
import { default as LinkChartView } from '@arcgis/core/views/LinkChartView.js';

/**
 * The Fullscreen component allows users to toggle the map or scene to fullscreen mode.
 * Use the escape key (`esc`) to exit fullscreen mode.
 *
 * **Known limitations**
 *
 * * The Fullscreen widget only works with browsers that implement the [Fullscreen](https://developer.mozilla.org/en-US/docs/Web/API/Fullscreen_API) API.
 *   Thus, iOS Safari is not supported.
 *
 * [Read more...](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-fullscreen/)
 */
export declare class ArcgisFullscreen extends LitElement {
    /** The [HTMLElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement) to present in fullscreen mode. */
    get element(): Element | undefined;
    set element(value: Element | string | undefined);
    /** The component's default label. */
    label?: string;
    /**
     * Replace localized message strings with your own strings.
     *
     * _**Note**: Individual message keys may change between releases._
     */
    messageOverrides?: typeof this.messages._overrides;
    /** @default "top-left" */
    position: __esri.UIPosition;
    /**
     * By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.
     *
     * @see [Associate components with a Map or Scene component](https://developers.arcgis.com/javascript/latest/programming-patterns/#associate-components-with-a-map-or-scene-component)
     */
    referenceElement?: ArcgisReferenceElement | string;
    get state(): "active" | "disabled" | "ready" | "unsupported";
    /** Emitted when the value of a property is changed. Use this to listen to changes to properties. */
    readonly arcgisPropertyChange: TargetedEvent<this, {
        name: "state";
    }>;
    /** Emitted when the component associated with a map or scene view is is ready to be interacted with. */
    readonly arcgisReady: TargetedEvent<this, void>;
    private messages: Partial<{
        componentLabel: string;
        enter: string;
        exit: string;
    }> & import('@arcgis/lumina/controllers').T9nMeta<{
        componentLabel: string;
        enter: string;
        exit: string;
    }>;
    readonly _setterTypes: {
        element?: Element | string | undefined;
    };
}
