import typing
import bpy_types

GenericType = typing.TypeVar("GenericType")

class NODE_MT_category_shader_color(bpy_types.Menu, bpy_types._GenericUI):
    bl_idname: typing.Any
    bl_label: typing.Any
    bl_rna: typing.Any
    id_data: typing.Any

    def append(self, draw_func): ...
    def as_pointer(self): ...
    def bl_rna_get_subclass(self): ...
    def bl_rna_get_subclass_py(self): ...
    def draw(self, _context): ...
    def draw_collapsible(self, context, layout): ...
    def draw_preset(self, _context): ...
    def driver_add(self): ...
    def driver_remove(self): ...
    def get(self): ...
    def id_properties_clear(self): ...
    def id_properties_ensure(self): ...
    def id_properties_ui(self): ...
    def is_extended(self): ...
    def is_property_hidden(self): ...
    def is_property_overridable_library(self): ...
    def is_property_readonly(self): ...
    def is_property_set(self): ...
    def items(self): ...
    def keyframe_delete(self): ...
    def keyframe_insert(self): ...
    def keys(self): ...
    def path_from_id(self): ...
    def path_menu(
        self,
        searchpaths,
        operator,
        props_default,
        prop_filepath,
        filter_ext,
        filter_path,
        display_name,
        add_operator,
    ): ...
    def path_resolve(self): ...
    def pop(self): ...
    def prepend(self, draw_func): ...
    def property_overridable_library_set(self): ...
    def property_unset(self): ...
    def remove(self, draw_func): ...
    def type_recast(self): ...
    def values(self): ...

class NODE_MT_category_shader_converter(bpy_types.Menu, bpy_types._GenericUI):
    bl_idname: typing.Any
    bl_label: typing.Any
    bl_rna: typing.Any
    id_data: typing.Any

    def append(self, draw_func): ...
    def as_pointer(self): ...
    def bl_rna_get_subclass(self): ...
    def bl_rna_get_subclass_py(self): ...
    def draw(self, context): ...
    def draw_collapsible(self, context, layout): ...
    def draw_preset(self, _context): ...
    def driver_add(self): ...
    def driver_remove(self): ...
    def get(self): ...
    def id_properties_clear(self): ...
    def id_properties_ensure(self): ...
    def id_properties_ui(self): ...
    def is_extended(self): ...
    def is_property_hidden(self): ...
    def is_property_overridable_library(self): ...
    def is_property_readonly(self): ...
    def is_property_set(self): ...
    def items(self): ...
    def keyframe_delete(self): ...
    def keyframe_insert(self): ...
    def keys(self): ...
    def path_from_id(self): ...
    def path_menu(
        self,
        searchpaths,
        operator,
        props_default,
        prop_filepath,
        filter_ext,
        filter_path,
        display_name,
        add_operator,
    ): ...
    def path_resolve(self): ...
    def pop(self): ...
    def prepend(self, draw_func): ...
    def property_overridable_library_set(self): ...
    def property_unset(self): ...
    def remove(self, draw_func): ...
    def type_recast(self): ...
    def values(self): ...

class NODE_MT_category_shader_group(bpy_types.Menu, bpy_types._GenericUI):
    bl_idname: typing.Any
    bl_label: typing.Any
    bl_rna: typing.Any
    id_data: typing.Any

    def append(self, draw_func): ...
    def as_pointer(self): ...
    def bl_rna_get_subclass(self): ...
    def bl_rna_get_subclass_py(self): ...
    def draw(self, context): ...
    def draw_collapsible(self, context, layout): ...
    def draw_preset(self, _context): ...
    def driver_add(self): ...
    def driver_remove(self): ...
    def get(self): ...
    def id_properties_clear(self): ...
    def id_properties_ensure(self): ...
    def id_properties_ui(self): ...
    def is_extended(self): ...
    def is_property_hidden(self): ...
    def is_property_overridable_library(self): ...
    def is_property_readonly(self): ...
    def is_property_set(self): ...
    def items(self): ...
    def keyframe_delete(self): ...
    def keyframe_insert(self): ...
    def keys(self): ...
    def path_from_id(self): ...
    def path_menu(
        self,
        searchpaths,
        operator,
        props_default,
        prop_filepath,
        filter_ext,
        filter_path,
        display_name,
        add_operator,
    ): ...
    def path_resolve(self): ...
    def pop(self): ...
    def prepend(self, draw_func): ...
    def property_overridable_library_set(self): ...
    def property_unset(self): ...
    def remove(self, draw_func): ...
    def type_recast(self): ...
    def values(self): ...

class NODE_MT_category_shader_input(bpy_types.Menu, bpy_types._GenericUI):
    bl_idname: typing.Any
    bl_label: typing.Any
    bl_rna: typing.Any
    id_data: typing.Any

    def append(self, draw_func): ...
    def as_pointer(self): ...
    def bl_rna_get_subclass(self): ...
    def bl_rna_get_subclass_py(self): ...
    def draw(self, context): ...
    def draw_collapsible(self, context, layout): ...
    def draw_preset(self, _context): ...
    def driver_add(self): ...
    def driver_remove(self): ...
    def get(self): ...
    def id_properties_clear(self): ...
    def id_properties_ensure(self): ...
    def id_properties_ui(self): ...
    def is_extended(self): ...
    def is_property_hidden(self): ...
    def is_property_overridable_library(self): ...
    def is_property_readonly(self): ...
    def is_property_set(self): ...
    def items(self): ...
    def keyframe_delete(self): ...
    def keyframe_insert(self): ...
    def keys(self): ...
    def path_from_id(self): ...
    def path_menu(
        self,
        searchpaths,
        operator,
        props_default,
        prop_filepath,
        filter_ext,
        filter_path,
        display_name,
        add_operator,
    ): ...
    def path_resolve(self): ...
    def pop(self): ...
    def prepend(self, draw_func): ...
    def property_overridable_library_set(self): ...
    def property_unset(self): ...
    def remove(self, draw_func): ...
    def type_recast(self): ...
    def values(self): ...

class NODE_MT_category_shader_output(bpy_types.Menu, bpy_types._GenericUI):
    bl_idname: typing.Any
    bl_label: typing.Any
    bl_rna: typing.Any
    id_data: typing.Any

    def append(self, draw_func): ...
    def as_pointer(self): ...
    def bl_rna_get_subclass(self): ...
    def bl_rna_get_subclass_py(self): ...
    def draw(self, context): ...
    def draw_collapsible(self, context, layout): ...
    def draw_preset(self, _context): ...
    def driver_add(self): ...
    def driver_remove(self): ...
    def get(self): ...
    def id_properties_clear(self): ...
    def id_properties_ensure(self): ...
    def id_properties_ui(self): ...
    def is_extended(self): ...
    def is_property_hidden(self): ...
    def is_property_overridable_library(self): ...
    def is_property_readonly(self): ...
    def is_property_set(self): ...
    def items(self): ...
    def keyframe_delete(self): ...
    def keyframe_insert(self): ...
    def keys(self): ...
    def path_from_id(self): ...
    def path_menu(
        self,
        searchpaths,
        operator,
        props_default,
        prop_filepath,
        filter_ext,
        filter_path,
        display_name,
        add_operator,
    ): ...
    def path_resolve(self): ...
    def pop(self): ...
    def prepend(self, draw_func): ...
    def property_overridable_library_set(self): ...
    def property_unset(self): ...
    def remove(self, draw_func): ...
    def type_recast(self): ...
    def values(self): ...

class NODE_MT_category_shader_script(bpy_types.Menu, bpy_types._GenericUI):
    bl_idname: typing.Any
    bl_label: typing.Any
    bl_rna: typing.Any
    id_data: typing.Any

    def append(self, draw_func): ...
    def as_pointer(self): ...
    def bl_rna_get_subclass(self): ...
    def bl_rna_get_subclass_py(self): ...
    def draw(self, _context): ...
    def draw_collapsible(self, context, layout): ...
    def draw_preset(self, _context): ...
    def driver_add(self): ...
    def driver_remove(self): ...
    def get(self): ...
    def id_properties_clear(self): ...
    def id_properties_ensure(self): ...
    def id_properties_ui(self): ...
    def is_extended(self): ...
    def is_property_hidden(self): ...
    def is_property_overridable_library(self): ...
    def is_property_readonly(self): ...
    def is_property_set(self): ...
    def items(self): ...
    def keyframe_delete(self): ...
    def keyframe_insert(self): ...
    def keys(self): ...
    def path_from_id(self): ...
    def path_menu(
        self,
        searchpaths,
        operator,
        props_default,
        prop_filepath,
        filter_ext,
        filter_path,
        display_name,
        add_operator,
    ): ...
    def path_resolve(self): ...
    def pop(self): ...
    def prepend(self, draw_func): ...
    def property_overridable_library_set(self): ...
    def property_unset(self): ...
    def remove(self, draw_func): ...
    def type_recast(self): ...
    def values(self): ...

class NODE_MT_category_shader_shader(bpy_types.Menu, bpy_types._GenericUI):
    bl_idname: typing.Any
    bl_label: typing.Any
    bl_rna: typing.Any
    id_data: typing.Any

    def append(self, draw_func): ...
    def as_pointer(self): ...
    def bl_rna_get_subclass(self): ...
    def bl_rna_get_subclass_py(self): ...
    def draw(self, context): ...
    def draw_collapsible(self, context, layout): ...
    def draw_preset(self, _context): ...
    def driver_add(self): ...
    def driver_remove(self): ...
    def get(self): ...
    def id_properties_clear(self): ...
    def id_properties_ensure(self): ...
    def id_properties_ui(self): ...
    def is_extended(self): ...
    def is_property_hidden(self): ...
    def is_property_overridable_library(self): ...
    def is_property_readonly(self): ...
    def is_property_set(self): ...
    def items(self): ...
    def keyframe_delete(self): ...
    def keyframe_insert(self): ...
    def keys(self): ...
    def path_from_id(self): ...
    def path_menu(
        self,
        searchpaths,
        operator,
        props_default,
        prop_filepath,
        filter_ext,
        filter_path,
        display_name,
        add_operator,
    ): ...
    def path_resolve(self): ...
    def pop(self): ...
    def prepend(self, draw_func): ...
    def property_overridable_library_set(self): ...
    def property_unset(self): ...
    def remove(self, draw_func): ...
    def type_recast(self): ...
    def values(self): ...

class NODE_MT_category_shader_texture(bpy_types.Menu, bpy_types._GenericUI):
    bl_idname: typing.Any
    bl_label: typing.Any
    bl_rna: typing.Any
    id_data: typing.Any

    def append(self, draw_func): ...
    def as_pointer(self): ...
    def bl_rna_get_subclass(self): ...
    def bl_rna_get_subclass_py(self): ...
    def draw(self, _context): ...
    def draw_collapsible(self, context, layout): ...
    def draw_preset(self, _context): ...
    def driver_add(self): ...
    def driver_remove(self): ...
    def get(self): ...
    def id_properties_clear(self): ...
    def id_properties_ensure(self): ...
    def id_properties_ui(self): ...
    def is_extended(self): ...
    def is_property_hidden(self): ...
    def is_property_overridable_library(self): ...
    def is_property_readonly(self): ...
    def is_property_set(self): ...
    def items(self): ...
    def keyframe_delete(self): ...
    def keyframe_insert(self): ...
    def keys(self): ...
    def path_from_id(self): ...
    def path_menu(
        self,
        searchpaths,
        operator,
        props_default,
        prop_filepath,
        filter_ext,
        filter_path,
        display_name,
        add_operator,
    ): ...
    def path_resolve(self): ...
    def pop(self): ...
    def prepend(self, draw_func): ...
    def property_overridable_library_set(self): ...
    def property_unset(self): ...
    def remove(self, draw_func): ...
    def type_recast(self): ...
    def values(self): ...

class NODE_MT_category_shader_vector(bpy_types.Menu, bpy_types._GenericUI):
    bl_idname: typing.Any
    bl_label: typing.Any
    bl_rna: typing.Any
    id_data: typing.Any

    def append(self, draw_func): ...
    def as_pointer(self): ...
    def bl_rna_get_subclass(self): ...
    def bl_rna_get_subclass_py(self): ...
    def draw(self, _context): ...
    def draw_collapsible(self, context, layout): ...
    def draw_preset(self, _context): ...
    def driver_add(self): ...
    def driver_remove(self): ...
    def get(self): ...
    def id_properties_clear(self): ...
    def id_properties_ensure(self): ...
    def id_properties_ui(self): ...
    def is_extended(self): ...
    def is_property_hidden(self): ...
    def is_property_overridable_library(self): ...
    def is_property_readonly(self): ...
    def is_property_set(self): ...
    def items(self): ...
    def keyframe_delete(self): ...
    def keyframe_insert(self): ...
    def keys(self): ...
    def path_from_id(self): ...
    def path_menu(
        self,
        searchpaths,
        operator,
        props_default,
        prop_filepath,
        filter_ext,
        filter_path,
        display_name,
        add_operator,
    ): ...
    def path_resolve(self): ...
    def pop(self): ...
    def prepend(self, draw_func): ...
    def property_overridable_library_set(self): ...
    def property_unset(self): ...
    def remove(self, draw_func): ...
    def type_recast(self): ...
    def values(self): ...

class NODE_MT_shader_node_add_all(bpy_types.Menu, bpy_types._GenericUI):
    bl_idname: typing.Any
    bl_label: typing.Any
    bl_rna: typing.Any
    id_data: typing.Any

    def append(self, draw_func): ...
    def as_pointer(self): ...
    def bl_rna_get_subclass(self): ...
    def bl_rna_get_subclass_py(self): ...
    def draw(self, _context): ...
    def draw_collapsible(self, context, layout): ...
    def draw_preset(self, _context): ...
    def driver_add(self): ...
    def driver_remove(self): ...
    def get(self): ...
    def id_properties_clear(self): ...
    def id_properties_ensure(self): ...
    def id_properties_ui(self): ...
    def is_extended(self): ...
    def is_property_hidden(self): ...
    def is_property_overridable_library(self): ...
    def is_property_readonly(self): ...
    def is_property_set(self): ...
    def items(self): ...
    def keyframe_delete(self): ...
    def keyframe_insert(self): ...
    def keys(self): ...
    def path_from_id(self): ...
    def path_menu(
        self,
        searchpaths,
        operator,
        props_default,
        prop_filepath,
        filter_ext,
        filter_path,
        display_name,
        add_operator,
    ): ...
    def path_resolve(self): ...
    def pop(self): ...
    def prepend(self, draw_func): ...
    def property_overridable_library_set(self): ...
    def property_unset(self): ...
    def remove(self, draw_func): ...
    def type_recast(self): ...
    def values(self): ...

def cycles_shader_nodes_poll(context): ...
def eevee_shader_nodes_poll(context): ...
def line_style_shader_nodes_poll(context): ...
def object_cycles_shader_nodes_poll(context): ...
def object_eevee_shader_nodes_poll(context): ...
def object_not_eevee_shader_nodes_poll(context): ...
def object_shader_nodes_poll(context): ...
def world_shader_nodes_poll(context): ...
