/** * SceneSerializer.ts * * Serializes HoloScript+ scene graphs to JSON-compatible format. * Handles Map/Set conversion, circular reference protection, * and trait config extraction. */ import type { HSPlusNode } from '../types/HoloScriptPlus'; import { World } from '../ecs/World'; export interface SerializedScene { version: number; timestamp: string; name: string; root: SerializedNode; metadata?: Record; } export interface SerializedNode { id: string; type: string; properties: Record; traits: Record; children: SerializedNode[]; } export declare class SceneSerializer { private world?; private visitedIds; constructor(world?: World); /** * Serialize a scene. * Overload 1: serialize(root: HSPlusNode, name?, metadata?) — from node tree * Overload 2: serialize(name?, metadata?) — from World entities */ serialize(rootOrName?: HSPlusNode | string, sceneNameOrMeta?: string | Record, metadata?: Record): SerializedScene; /** * Node-based serialization helper. */ private serializeFromNode; private serializeEntity; /** * Legacy/Utility: Serialize a HSPlusNode tree */ serializeNode(node: HSPlusNode): SerializedNode; /** * Serialize a node tree to a JSON string. */ toJSON(root: HSPlusNode, sceneName?: string): string; private sanitizeProperties; private sanitizeValue; } //# sourceMappingURL=SceneSerializer.d.ts.map