@Serializable sealed class MetaItemProxy { @Serializable class NumberValueProxy(val number: Number) : MetaItemProxy() @Serializable class StringValueProxy(val string: String) : MetaItemProxy() @Serializable class BooleanValueProxy(val boolean: Boolean) : MetaItemProxy() @Serializable object NullValueProxy : MetaItemProxy() @Serializable class MetaProxy(val map: Map) : MetaItemProxy() @Serializable class MetaListProxy(val nodes: List) : MetaItemProxy() }