class ShaderObject:
    @classmethod
    def create(cls, obj, ref=None): ...
    def __init__(self): ...
    @property
    def name(self): ...
    @property
    def version_pragma(self): ...
    def definition(self, obj_names, version, shader): ...
    def expression(self, obj_names): ...
    def dependencies(self, sort=False): ...
    def static_names(self): ...
    def _add_dep(self, dep): ...
    def _remove_dep(self, dep): ...
    def _dep_changed(self, dep, code_changed=False, value_changed=False): ...
    def changed(self, code_changed=False, value_changed=False): ...
    def compile(self): ...
    def __repr__(self): ...
