import * as L from 'leaflet'; import { AWCLeafletElement } from '../../internal/awc-leaflet.js'; declare global { interface Element { mozRequestFullScreen?: (...params: Parameters) => ReturnType; webkitRequestFullscreen?: (...params: Parameters) => ReturnType; msRequestFullscreen?: (...params: Parameters) => ReturnType; } interface DocumentOrShadowRoot { mozFullScreenElement?: DocumentOrShadowRoot['fullscreenElement']; webkitFullscreenElement?: DocumentOrShadowRoot['fullscreenElement']; msFullscreenElement?: DocumentOrShadowRoot['fullscreenElement']; } interface Document { mozCancelFullScreen?: Document['exitFullscreen']; webkitCancelFullScreen?: Document['exitFullscreen']; msExitFullscreen?: Document['exitFullscreen']; } } declare module 'leaflet' { interface FullscreenOptions extends ControlOptions { pseudoFullscreen: boolean; fullscreenIcon: string | Element; exitIcon: string | Element; title: { false: string; true: string; }; } namespace control { function fullscreen(options: FullscreenOptions): Control.Fullscreen; } namespace Control { class Fullscreen extends Control { constructor(options?: FullscreenOptions); link: HTMLAnchorElement; options: FullscreenOptions; updateIcons(iconsChanged?: boolean): void; protected _map: Map; protected _click(e: Event): void; protected _toggleTitle(): void; } } interface Map { isFullscreen: () => boolean; toggleFullscreen: (options: FullscreenOptions, control: Control.Fullscreen) => Promise; getContainerRoot: () => DocumentOrShadowRoot; _setFullscreen: (state: boolean) => void; _disablePseudoFullscreen: (container: HTMLElement) => void; _enablePseudoFullscreen: (container: HTMLElement) => void; _isPseudoFullscreen: boolean; } } /** * @summary Fullscreen control. * @documentation https://webcomponents.adeliom.io/?path=/docs/components-map-controls-fullscreen--documentation * @status experimental * @since 1.0 * * @slot fullscreen-icon - Enter fullscreen icon. * @slot exit-icon - Exit fullscreen icon. */ export default class AWCMapFullscreenControl extends AWCLeafletElement { container: L.Map; control: L.Control.Fullscreen; private readonly localize; /** * The position of the control (one of the map corners). * Possible values are 'topleft', 'topright', 'bottomleft' or 'bottomright' */ position: 'topleft' | 'topright' | 'bottomleft' | 'bottomright'; pseudoFullscreen: boolean; trueText: string; falseText: string; private exitIcons; private fullscreenIcons; private defaultFullscreenIcon; private defaultExitIcon; get isFullscreen(): boolean; toggleFullscreen(): Promise; containerChanged(): void; disconnectedCallback(): void; render(): import("lit-html").TemplateResult<1>; }