export type FullscreenTarget = string | HTMLElement | null | undefined; declare global { interface HTMLElement { webkitRequestFullscreen?: () => Promise; mozRequestFullScreen?: () => Promise; msRequestFullscreen?: () => Promise; } interface Document { webkitFullscreenElement?: Element | null; mozFullScreenElement?: Element | null; msFullscreenElement?: Element | null; webkitExitFullscreen?: () => Promise; mozCancelFullScreen?: () => Promise; msExitFullscreen?: () => Promise; } } /** * 进入全屏 * @param target 目标元素(选择器字符串或 DOM 元素),不传则全屏 documentElement * @returns Promise */ export declare function enterFullscreen(target?: FullscreenTarget): Promise; /** * 退出全屏 * @returns Promise */ export declare function exitFullscreen(): Promise; /** * 切换全屏状态 * @param target 目标元素 * @returns Promise 切换后是否处于全屏 */ export declare function toggleFullscreen(target?: FullscreenTarget): Promise; /** * 判断是否处于全屏状态 * @returns boolean */ export declare function isFullscreen(): boolean; /** * 获取当前全屏元素 * @returns Element | null */ export declare function getFullscreenElement(): Element | null; /** * 监听全屏变化 * @param callback 回调函数,参数为 (isFullscreen, element) * @returns 取消监听的函数 */ export declare function onFullscreenChange(callback: (isFullscreen: boolean, element: Element | null) => void): () => void; declare const _default: { enter: typeof enterFullscreen; exit: typeof exitFullscreen; toggle: typeof toggleFullscreen; isFullscreen: typeof isFullscreen; getElement: typeof getFullscreenElement; onChange: typeof onFullscreenChange; }; export default _default;