---@meta ---@class cc.EventDispatcher :cc.Ref local EventDispatcher={ } cc.EventDispatcher=EventDispatcher ---* Pauses all listeners which are associated the specified target.
---* param target A given target node.
---* param recursive True if pause recursively, the default value is false. ---@param target cc.Node ---@param recursive boolean ---@return self function EventDispatcher:pauseEventListenersForTarget (target,recursive) end ---* Adds a event listener for a specified event with the priority of scene graph.
---* param listener The listener of a specified event.
---* param node The priority of the listener is based on the draw order of this node.
---* note The priority of scene graph will be fixed value 0. So the order of listener item
---* in the vector will be ' <0, scene graph (0 priority), >0'. ---@param listener cc.EventListener ---@param node cc.Node ---@return self function EventDispatcher:addEventListenerWithSceneGraphPriority (listener,node) end ---* Whether to enable dispatching events.
---* param isEnabled True if enable dispatching events. ---@param isEnabled boolean ---@return self function EventDispatcher:setEnabled (isEnabled) end ---* Adds a event listener for a specified event with the fixed priority.
---* param listener The listener of a specified event.
---* param fixedPriority The fixed priority of the listener.
---* note A lower priority will be called before the ones that have a higher value.
---* 0 priority is forbidden for fixed priority since it's used for scene graph based priority. ---@param listener cc.EventListener ---@param fixedPriority int ---@return self function EventDispatcher:addEventListenerWithFixedPriority (listener,fixedPriority) end ---* Remove a listener.
---* param listener The specified event listener which needs to be removed. ---@param listener cc.EventListener ---@return self function EventDispatcher:removeEventListener (listener) end ---* Dispatches a Custom Event with a event name an optional user data.
---* param eventName The name of the event which needs to be dispatched.
---* param optionalUserData The optional user data, it's a void*, the default value is nullptr. ---@param eventName string ---@param optionalUserData void ---@return self function EventDispatcher:dispatchCustomEvent (eventName,optionalUserData) end ---* Resumes all listeners which are associated the specified target.
---* param target A given target node.
---* param recursive True if resume recursively, the default value is false. ---@param target cc.Node ---@param recursive boolean ---@return self function EventDispatcher:resumeEventListenersForTarget (target,recursive) end ---* Removes all listeners which are associated with the specified target.
---* param target A given target node.
---* param recursive True if remove recursively, the default value is false. ---@param target cc.Node ---@param recursive boolean ---@return self function EventDispatcher:removeEventListenersForTarget (target,recursive) end ---* Sets listener's priority with fixed value.
---* param listener A given listener.
---* param fixedPriority The fixed priority value. ---@param listener cc.EventListener ---@param fixedPriority int ---@return self function EventDispatcher:setPriority (listener,fixedPriority) end ---* Adds a Custom event listener.
---* It will use a fixed priority of 1.
---* param eventName A given name of the event.
---* param callback A given callback method that associated the event name.
---* return the generated event. Needed in order to remove the event from the dispatcher ---@param eventName string ---@param callback function ---@return cc.EventListenerCustom function EventDispatcher:addCustomEventListener (eventName,callback) end ---* Dispatches the event.
---* Also removes all EventListeners marked for deletion from the
---* event dispatcher list.
---* param event The event needs to be dispatched. ---@param event cc.Event ---@return self function EventDispatcher:dispatchEvent (event) end ---* Query whether the specified event listener id has been added.
---* param listenerID The listenerID of the event listener id.
---* return True if dispatching events is exist ---@param listenerID string ---@return boolean function EventDispatcher:hasEventListener (listenerID) end ---* Removes all listeners. ---@return self function EventDispatcher:removeAllEventListeners () end ---* Removes all custom listeners with the same event name.
---* param customEventName A given event listener name which needs to be removed. ---@param customEventName string ---@return self function EventDispatcher:removeCustomEventListeners (customEventName) end ---* Checks whether dispatching events is enabled.
---* return True if dispatching events is enabled. ---@return boolean function EventDispatcher:isEnabled () end ---* Removes all listeners with the same event listener type.
---* param listenerType A given event listener type which needs to be removed. ---@param listenerType int ---@return self function EventDispatcher:removeEventListenersForType (listenerType) end ---* Constructor of EventDispatcher. ---@return self function EventDispatcher:EventDispatcher () end