+ void AddProperty(std::string name, Property::Index index, Property::Type type, Dali::TypeInfo::SetPropertyFunction setFunc, Dali::TypeInfo::GetPropertyFunction getFunc);
+
+ /**
+ * Adds an event-thread only property to the type.
+ * @param[in] name The name of the property.
+ * @param[in] index The index of the property.
+ * @param[in] type The Property::Type.
+ * @param[in] setFunc The function to call to set the property (Can be nullptr).
+ * @param[in] getFunc The function to call to retrieve the value of the property.
+ */
+ void AddProperty(std::string name, Property::Index index, Property::Type type, Dali::CSharpTypeInfo::SetPropertyFunction setFunc, Dali::CSharpTypeInfo::GetPropertyFunction getFunc);
+
+ /**
+ * Adds an animatable property to the type.
+ * @param[in] name The name of the property.
+ * @param[in] index The index of the property
+ * @param[in] type The Property::Type.
+ */
+ void AddAnimatableProperty(std::string name, Property::Index index, Property::Type type);
+
+ /**
+ * Adds an animatable property with the given default value.
+ * @param[in] name The name of the property.
+ * @param[in] index The index of the property
+ * @param[in] type The Property::Type.
+ */
+ void AddAnimatableProperty(std::string name, Property::Index index, Property::Value defaultValue);
+
+ /**
+ * Adds a component of an animatable property to the type.
+ * The animatable property must have been type-registered and must be a Vector2, Vector3 or Vector4 type.
+ * @param[in] name The name of the component.
+ * @param[in] index The index of the property
+ * @param[in] baseIndex The index of the base animatable property
+ * @param[in] component The index The index of the component.
+ */
+ void AddAnimatablePropertyComponent(std::string name, Property::Index index, Property::Index baseIndex, uint32_t componentIndex);
+
+ /**
+ * Adds a child property to the type.
+ * @param[in] name The name of the property.
+ * @param[in] index The index of the property
+ * @param[in] type The Property::Type.
+ */
+ void AddChildProperty(std::string name, Property::Index index, Property::Type type);