import type { SceneObject } from "../scene/objectStore.js"; import type { RuntimeObjectRow } from "./snapshot.js"; /** * Convert a live placed object into its persisted row — the bridge between `ctx.scene.object` and * `GameRuntimeSnapshot.server.objects`/`chunks[].objects`. Per-instance `state` is carried as * `flags`. Presentation overrides (`visual`, `animation`) are catalog- and authoring-resolved and * deliberately stay off the persisted row — put anything a command must own in `state`. * * @capability placed-object-rows a placed object's per-instance state and container contents convert to and from the persisted snapshot row a host stores */ export declare function toRuntimeObjectRow(object: SceneObject): RuntimeObjectRow; /** * Inverse of {@link toRuntimeObjectRow}: rebuild the live placed object a host persisted. * * @capability placed-object-rehydrate rebuild live placed objects, with their state and slot contents, from persisted snapshot rows */ export declare function fromRuntimeObjectRow(row: RuntimeObjectRow): SceneObject;