import { VzBaseElement } from '../core/base-element.js'; /** * - Interactive panoramic tour with navigable probes. * * @example * ```html * * * * * * * * * ``` */ export declare class VzTourElement extends VzBaseElement { private renderer; private containerEl; private probes; private currentProbeId; private hotspotManager; private textureCache; private controlsOverlay; private compass; private fullscreenButton; private vrButton; private xrManager; private cleanupFullscreen; private loader; /** * True once the license resolves without the `tours` feature. In that state * the tour degrades to a single static panorama (the start probe): portal * navigation between probes is disabled. */ private toursLocked; /** * A tour-id embed (`` with no DOM children) fetches * its probe/portal graph from the delivery API and injects the equivalent * / children before onConnected() runs — so * dashboard-authored tours load in a hosted embed. A DOM-authored tour (any * child) wins and skips the fetch entirely. Mirrors * VzMediaElement.beforeConnect()'s content-id hydration. */ protected beforeConnect(): Promise | void; private hydrateFromDeliveryApi; /** Inject the fetched tour graph as the DOM children parseProbes() expects. */ private applyTourToDom; protected onConnected(): void; protected onDisconnected(): void; protected onAttributeChanged(_name: string): void; protected onResize(): void; /** * Interactive tours are a paid feature, and WebXR (Enter-VR) is gated * separately. Once the license resolves, enforce both. * * - tours not licensed → graceful downgrade to a single static panorama: the * start probe stays visible but portal navigation is disabled (existing * portals cleared, future ones suppressed). * - webxr not licensed → remove the VR button (flat viewing continues). */ protected onLicenseResolved(): void; /** Navigate to a specific probe by ID */ navigateTo(probeId: string): Promise; /** Get current probe ID */ get currentProbe(): string | null; toggleFullscreen(): void; /** Parse all children into the probes map */ private parseProbes; /** Load a texture, using cache if available */ private loadOrGetTexture; /** Preload textures for neighboring probes (fire-and-forget) */ private preloadNeighbors; } /** Register the custom element */ export declare function registerTour(): void; //# sourceMappingURL=vz-tour.d.ts.map