/** * A persistent, game-owned HUD layer for player-compute CLIENT mods. A * running client mod never touches the game DOM; it emits `hud_set` payloads * that the broker forwards here. This layer lives outside the studio panel so * a mod's HUD survives panel re-renders and keeps rendering after the coding * panel closes. * * The payload is untrusted mod output: it is rendered as text/simple * structured values only, never as HTML, so a mod cannot inject markup. */ export interface CrowdyStudioHudEntry { /** Stable source key (module name or listing id) so each mod owns one slot. */ source: string; label: string; payload: unknown; } export declare class CrowdyStudioTextHud { private root; private readonly entries; private readonly previews; private ensureRoot; /** Upsert the HUD slot for one mod source and re-render it. */ set(entry: CrowdyStudioHudEntry): void; /** Remove a mod's HUD slot (on uninstall / stop / circuit trip). */ remove(source: string): void; clear(): void; /** * Mirror one source into a game-owned studio preview. The same text-only * renderer is used for the persistent HUD and preview, so untrusted * payloads never become arbitrary overlay DOM. */ mountPreview(container: HTMLElement, source: string): () => void; destroy(): void; private render; private renderPreview; private entryCard; /** Render an untrusted payload as safe text (compact, bounded). */ private describe; } //# sourceMappingURL=hud-layer.d.ts.map