export type FullscreenElement = Element & { requestFullscreen?: () => Promise; mozRequestFullScreen?: () => Promise; webkitRequestFullscreen?: () => Promise; msRequestFullscreen?: () => Promise; }; export type DocumentWithFullscreen = Document & { exitFullscreen?: () => Promise; mozCancelFullScreen?: () => Promise; webkitExitFullscreen?: () => Promise; msExitFullscreen?: () => Promise; }; /** * Request fullscreen on `el` (or the document root). Resolves `true` when fullscreen * was actually entered, `false` when it was a no-op or blocked — e.g. inside an iframe * whose `allow` lacks `fullscreen` (SFDC embed / app host), where the browser rejects * with "TypeError: Disallowed by permissions policy". Swallowing that rejection keeps * it from surfacing as an unhandled rejection (IMPACT-WEB-NG-GH/GG). * * IMPORTANT: resolution does NOT mean fullscreen is active — callers that run side * effects on entering fullscreen (set state, broadcast events, reparent DOM, steal * focus) MUST gate them on the returned boolean. */ export declare function requestFullscreen(el?: FullscreenElement | null): Promise; export declare function exitFullscreen(): Promise; export declare function toggleFullscreen(element: FullscreenElement): void; export declare function isFullscreen(): boolean;