---@class cc.Technique :cc.Ref local Technique={ } cc.Technique=Technique ---* Returns the number of Passes in the Technique ---@return int function Technique:getPassCount () end ---* ---@param material cc.Material ---@return self function Technique:setMaterial (material) end ---* Returns a new clone of the Technique ---@return self function Technique:clone () end ---* Adds a new pass to the Technique.
---* Order matters. First added, first rendered ---@param pass cc.Pass ---@return self function Technique:addPass (pass) end ---* Returns the list of passes ---@return array_table function Technique:getPasses () end ---* Returns the name of the Technique ---@return string function Technique:getName () end ---* Returns the Pass at given index ---@param index int ---@return cc.Pass function Technique:getPassByIndex (index) end ---* Creates a new Technique with a GLProgramState.
---* Method added to support legacy code ---@param parent cc.Material ---@param state cc.backend.ProgramState ---@return self function Technique:createWithProgramState (parent,state) end ---* ---@param parent cc.Material ---@return self function Technique:create (parent) end