import { VzMediaElement } from '../core/media-element.js'; /** * - Virtual cinema: flat video on a screen inside a panoramic room. * * @example * ```html * * * * ``` */ export declare class VzCinemaElement extends VzMediaElement { private cinemaProjection; private videoDataReady; /** Guard so the projection (cinema or flat fallback) is only built once. */ private projectionSetup; static get observedAttributes(): string[]; protected onMediaConnected(): void; /** * Cinema is a paid feature. The base class runs its own gates (format, webxr, * spatial audio) here; we add the cinema gate and (re)attempt projection * setup now that the license is known. */ protected onLicenseResolved(): void; /** * Build the projection once BOTH the video data is ready AND the license has * resolved. Licensed → the cinema room projection. Unlicensed → graceful * downgrade to flat (mono) playback of the same clip. */ private maybeSetupProjection; /** * Graceful downgrade when the tier lacks cinema: render the clip as an * ordinary flat video instead of projecting it onto a screen inside a room. */ private setupFlatFallback; protected onMediaDisconnected(): void; private setupCinemaProjection; private getNumAttr; } /** Register the custom element */ export declare function registerCinema(): void; //# sourceMappingURL=vz-cinema.d.ts.map