---@meta
---@class cc.SpriteBatchNode :cc.Node@all parent class: Node,TextureProtocol
local SpriteBatchNode={ }
cc.SpriteBatchNode=SpriteBatchNode
---* Append the child.
---* param sprite A Sprite.
---@param sprite cc.Sprite
---@return self
function SpriteBatchNode:appendChild (sprite) end
---*
---@param reorder boolean
---@return self
function SpriteBatchNode:reorderBatch (reorder) end
---*
---@return cc.Texture2D
function SpriteBatchNode:getTexture () end
---*
---@param texture cc.Texture2D
---@return self
function SpriteBatchNode:setTexture (texture) end
---* Removes a child given a certain index. It will also cleanup the running actions depending on the cleanup parameter.
---* param index A certain index.
---* param doCleanup Whether or not to cleanup the running actions.
---* warning Removing a child from a SpriteBatchNode is very slow.
---@param index int
---@param doCleanup boolean
---@return self
function SpriteBatchNode:removeChildAtIndex (index,doCleanup) end
---* Remove a sprite from Atlas.
---* param sprite A Sprite.
---@param sprite cc.Sprite
---@return self
function SpriteBatchNode:removeSpriteFromAtlas (sprite) end
---*
---@param child cc.Sprite
---@param z int
---@param aTag int
---@return self
function SpriteBatchNode:addSpriteWithoutQuad (child,z,aTag) end
---* Get the nearest index from the sprite in z.
---* param sprite The parent sprite.
---* param z Z order for drawing priority.
---* return Index.
---@param sprite cc.Sprite
---@param z int
---@return int
function SpriteBatchNode:atlasIndexForChild (sprite,z) end
---* Increase the Atlas Capacity.
---@return self
function SpriteBatchNode:increaseAtlasCapacity () end
---* Get the Min image block index,in all child.
---* param sprite The parent sprite.
---* return Index.
---@param sprite cc.Sprite
---@return int
function SpriteBatchNode:lowestAtlasIndexInChild (sprite) end
---* lua NA
---@return cc.BlendFunc
function SpriteBatchNode:getBlendFunc () end
---* initializes a SpriteBatchNode with a texture2d and capacity of children.
---* The capacity will be increased in 33% in runtime if it runs out of space.
---@param tex cc.Texture2D
---@param capacity int
---@return boolean
function SpriteBatchNode:initWithTexture (tex,capacity) end
---* Sets the TextureAtlas object.
---* param textureAtlas The TextureAtlas object.
---@param textureAtlas cc.TextureAtlas
---@return self
function SpriteBatchNode:setTextureAtlas (textureAtlas) end
---* reserves capacity for the batch node.
---* If the current capacity is bigger, nothing happens.
---* otherwise, a new capacity is allocated
---@param newCapacity int
---@return self
function SpriteBatchNode:reserveCapacity (newCapacity) end
---* js NA
---@param cleanup boolean
---@return self
function SpriteBatchNode:removeAllChildrenWithCleanup (cleanup) end
---* Inserts a quad at a certain index into the texture atlas. The Sprite won't be added into the children array.
---* This method should be called only when you are dealing with very big AtlasSprite and when most of the Sprite won't be updated.
---* For example: a tile map (TMXMap) or a label with lots of characters (LabelBMFont).
---@param sprite cc.Sprite
---@param index int
---@return self
function SpriteBatchNode:insertQuadFromSprite (sprite,index) end
---* initializes a SpriteBatchNode with a file image (.png, .jpeg, .pvr, etc) and a capacity of children.
---* The capacity will be increased in 33% in runtime if it runs out of space.
---* The file will be loaded using the TextureMgr.
---* js init
---* lua init
---@param fileImage string
---@param capacity int
---@return boolean
function SpriteBatchNode:initWithFile (fileImage,capacity) end
---* code
---* When this function bound into js or lua,the parameter will be changed.
---* In js: var setBlendFunc(var src, var dst).
---* endcode
---* lua NA
---@param blendFunc cc.BlendFunc
---@return self
function SpriteBatchNode:setBlendFunc (blendFunc) end
---* Rebuild index with a sprite all child.
---* param parent The parent sprite.
---* param index The child index.
---* return Index.
---@param parent cc.Sprite
---@param index int
---@return int
function SpriteBatchNode:rebuildIndexInOrder (parent,index) end
---* Returns the TextureAtlas object.
---* return The TextureAtlas object.
---@return cc.TextureAtlas
function SpriteBatchNode:getTextureAtlas () end
---* Get the Max image block index,in all child.
---* param sprite The parent sprite.
---* return Index.
---@param sprite cc.Sprite
---@return int
function SpriteBatchNode:highestAtlasIndexInChild (sprite) end
---* Creates a SpriteBatchNode with a file image (.png, .jpeg, .pvr, etc) and capacity of children.
---* The capacity will be increased in 33% in runtime if it runs out of space.
---* The file will be loaded using the TextureMgr.
---* param fileImage A file image (.png, .jpeg, .pvr, etc).
---* param capacity The capacity of children.
---* return Return an autorelease object.
---@param fileImage string
---@param capacity int
---@return self
function SpriteBatchNode:create (fileImage,capacity) end
---* Creates a SpriteBatchNode with a texture2d and capacity of children.
---* The capacity will be increased in 33% in runtime if it runs out of space.
---* param tex A texture2d.
---* param capacity The capacity of children.
---* return Return an autorelease object.
---@param tex cc.Texture2D
---@param capacity int
---@return self
function SpriteBatchNode:createWithTexture (tex,capacity) end
---@overload fun(cc.Node:cc.Node,int:int,int2:string):self
---@overload fun(cc.Node:cc.Node,int:int,int:int):self
---@param child cc.Node
---@param zOrder int
---@param tag int
---@return self
function SpriteBatchNode:addChild (child,zOrder,tag) end
---* js NA
---@param renderer cc.Renderer
---@param transform mat4_table
---@param flags unsigned_int
---@return self
function SpriteBatchNode:draw (renderer,transform,flags) end
---* js NA
---@return string
function SpriteBatchNode:getDescription () end
---* js NA
---@param renderer cc.Renderer
---@param parentTransform mat4_table
---@param parentFlags unsigned_int
---@return self
function SpriteBatchNode:visit (renderer,parentTransform,parentFlags) end
---*
---@return self
function SpriteBatchNode:sortAllChildren () end
---*
---@param child cc.Node
---@param cleanup boolean
---@return self
function SpriteBatchNode:removeChild (child,cleanup) end
---*
---@return boolean
function SpriteBatchNode:init () end
---* Set ProgramState
---@param programState cc.backend.ProgramState
---@return self
function SpriteBatchNode:setProgramState (programState) end
---*
---@param child cc.Node
---@param zOrder int
---@return self
function SpriteBatchNode:reorderChild (child,zOrder) end
---* js ctor
---@return self
function SpriteBatchNode:SpriteBatchNode () end