import { Sprite } from 'three'; import type { Scene } from 'three'; import type { HubItem } from './hub-model.js'; /** * Renders clickable lobby panels for vz-hub: one sprite per HubItem, positioned * around the viewer via hubPanelLayout on the inside of the panorama sphere. * Each sprite starts as a titled placeholder card and, if the item has a poster, * swaps to the poster texture once it loads. `userData.portalTo` carries the * item index as a string so the shared HotspotInteraction raycaster can drive * selection with no changes. */ export declare class HubPanelRenderer { private sprites; private posterTextures; private scene; private loader; constructor(scene: Scene); /** Build a panel sprite per item and add them to the scene. */ setItems(items: HubItem[]): void; /** Sprites for raycasting (consumed by HotspotInteraction). */ getSprites(): Sprite[]; clear(): void; dispose(): void; private createPanelSprite; } //# sourceMappingURL=hub-panel-renderer.d.ts.map