import { type DataChange } from "@colyseus/schema"; export declare class StateTreeView { private container; private getState; private expandedPaths; private refIds; private nextRefId; private valueIndex; private fullRenderTimer; private lastFullRender; private dirty; constructor(container: HTMLElement, getState: () => any); /** Detach document-level listeners and timers. Call when discarding the view. */ dispose(): void; private onVisibilityChange; /** Full (re)render of the whole tree. Preserves expanded paths. */ render(): void; /** * Apply a batch of decoder changes. Patches primitive value changes in * place; falls back to a (throttled) full render for anything structural. */ applyChanges(changes: DataChange[]): void; /** * Returns the in-place patches for `changes`, or `null` if any change is * not a primitive value update on an already-rendered slot (in which case * the caller should do a full re-render). */ private collectPatches; private applyPatch; private scheduleFullRender; private buildValueIndex; private localIdFor; private toggleExpand; /** Recursively render any value to an HTML string. */ private renderNode; /** Render a single `key: value` entry of an object/collection. */ private renderKeyValue; }