---@class ccb.ProgramState :cc.Ref local ProgramState={ } ccb.ProgramState=ProgramState ---* Set texture.
---* param uniformLocation Specifies texture location.
---* param slot Specifies texture slot selector.
---* param texture Specifies a pointer to backend texture. ---@param uniformLocation cc.backend.UniformLocation ---@param slot unsigned_int ---@param texture cc.backend.TextureBackend ---@return cc.backend.ProgramState function ProgramState:setTexture (uniformLocation,slot,texture) end ---* Deep clone ProgramState ---@return cc.backend.ProgramState function ProgramState:clone () end ---* Sets a uniform auto-binding.
---* This method parses the passed in autoBinding string and attempts to convert it
---* to an enumeration value. If it matches to one of the predefined strings, it will create a
---* callback to get the correct value at runtime.
---* param uniformName The name of the material parameter to store an auto-binding for.
---* param autoBinding A string matching one of the built-in AutoBinding enum constants. ---@param uniformName string ---@param autoBinding string ---@return cc.backend.ProgramState function ProgramState:setParameterAutoBinding (uniformName,autoBinding) end ---* Get the program object. ---@return cc.backend.Program function ProgramState:getProgram () end ---@overload fun(string0:int):self ---@overload fun(string:string):self ---@param name string ---@return int function ProgramState:getAttributeLocation (name) end ---* param program Specifies the program. ---@param program cc.backend.Program ---@return cc.backend.ProgramState function ProgramState:ProgramState (program) end