import { VzBaseElement } from '../core/base-element.js'; /** * — a spatial 360 "lobby" that organizes VR content into clickable * poster panels. Selecting a panel plays that item in place (an inline * vz-video/vz-img with a "back to lobby" control); returning restores the * gallery. Enterprise-gated: without the license the lobby shows as a static * panorama with an upgrade note (graceful downgrade). * * @example * ```html * * * * * ``` */ export declare class VzHubElement extends VzBaseElement { private renderer; private containerEl; private items; private panelManager; private controller; private controlsOverlay; private compass; private fullscreenButton; private vrButton; private xrManager; private cleanupFullscreen; private loader; private bgTexture; private playingEl; private hubLocked; protected onConnected(): void; protected onDisconnected(): void; protected onAttributeChanged(): void; protected onResize(): void; /** * Hub is an Enterprise feature; WebXR is gated separately. On license resolve: * - hub not licensed → lock to a static lobby panorama (panels removed, an * upgrade note shown) — graceful downgrade, the background still renders. * - webxr not licensed → remove the VR button. */ protected onLicenseResolved(): void; toggleFullscreen(): void; /** Show the lobby: background panorama + clickable panels (unless locked). */ private showLobby; /** Play a selected item inline via a child vz-video/vz-img + a back control. */ private playItem; /** Return to the lobby: tear down the inline player, re-render panels. */ private returnToLobby; private showUpgradeOverlay; /** Parse children into a normalized item list. */ private parseItems; } /** Register the custom element. */ export declare function registerHub(): void; //# sourceMappingURL=vz-hub.d.ts.map