---@class cc.ProtectedNode :cc.Node local ProtectedNode={ } cc.ProtectedNode=ProtectedNode ---@overload fun(cc.Node:cc.Node,int:int):self ---@overload fun(cc.Node:cc.Node):self ---@overload fun(cc.Node:cc.Node,int:int,int:int):self ---@param child cc.Node ---@param localZOrder int ---@param tag int ---@return self function ProtectedNode:addProtectedChild (child,localZOrder,tag) end ---* ---@return self function ProtectedNode:disableCascadeColor () end ---* Removes a child from the container by tag value. It will also cleanup all running actions depending on the cleanup parameter.
---* param tag An integer number that identifies a child node.
---* param cleanup true if all running actions and callbacks on the child node will be cleanup, false otherwise. ---@param tag int ---@param cleanup boolean ---@return self function ProtectedNode:removeProtectedChildByTag (tag,cleanup) end ---* Reorders a child according to a new z value.
---* param child An already added child node. It MUST be already added.
---* param localZOrder Z order for drawing priority. Please refer to setLocalZOrder(int) ---@param child cc.Node ---@param localZOrder int ---@return self function ProtectedNode:reorderProtectedChild (child,localZOrder) end ---* Removes all children from the container, and do a cleanup to all running actions depending on the cleanup parameter.
---* param cleanup true if all running actions on all children nodes should be cleanup, false otherwise.
---* js removeAllChildren
---* lua removeAllChildren ---@param cleanup boolean ---@return self function ProtectedNode:removeAllProtectedChildrenWithCleanup (cleanup) end ---* ---@return self function ProtectedNode:disableCascadeOpacity () end ---* Sorts the children array once before drawing, instead of every time when a child is added or reordered.
---* This approach can improves the performance massively.
---* note Don't call this manually unless a child added needs to be removed in the same frame ---@return self function ProtectedNode:sortAllProtectedChildren () end ---* Gets a child from the container with its tag.
---* param tag An identifier to find the child node.
---* return a Node object whose tag equals to the input parameter. ---@param tag int ---@return cc.Node function ProtectedNode:getProtectedChildByTag (tag) end ---* Removes a child from the container. It will also cleanup all running actions depending on the cleanup parameter.
---* param child The child node which will be removed.
---* param cleanup true if all running actions and callbacks on the child node will be cleanup, false otherwise. ---@param child cc.Node ---@param cleanup boolean ---@return self function ProtectedNode:removeProtectedChild (child,cleanup) end ---* Removes all children from the container with a cleanup.
---* see `removeAllChildrenWithCleanup(bool)`. ---@return self function ProtectedNode:removeAllProtectedChildren () end ---* Creates a ProtectedNode with no argument.
---* return A instance of ProtectedNode. ---@return self function ProtectedNode:create () end ---* ---@param mask unsigned short ---@param applyChildren boolean ---@return self function ProtectedNode:setCameraMask (mask,applyChildren) end ---* ---@param globalZOrder float ---@return self function ProtectedNode:setGlobalZOrder (globalZOrder) end ---* js NA ---@param renderer cc.Renderer ---@param parentTransform mat4_table ---@param parentFlags unsigned_int ---@return self function ProtectedNode:visit (renderer,parentTransform,parentFlags) end ---* ---@param parentOpacity unsigned_char ---@return self function ProtectedNode:updateDisplayedOpacity (parentOpacity) end ---* ---@param parentColor color3b_table ---@return self function ProtectedNode:updateDisplayedColor (parentColor) end ---* ---@return self function ProtectedNode:cleanup () end ---* ---@return self function ProtectedNode:ProtectedNode () end