import typing
import bpy_types

GenericType = typing.TypeVar("GenericType")

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

    def append(self, draw_func):
        """

        :param draw_func:
        :type draw_func:
        """
        ...

    def as_pointer(self): ...
    def bl_rna_get_subclass(self): ...
    def bl_rna_get_subclass_py(self): ...
    def draw(self, _context):
        """

        :param self:
        :type self:
        :param _context:
        :type _context:
        """
        ...

    def draw_collapsible(self, context, layout):
        """

        :param context:
        :type context:
        :param layout:
        :type layout:
        """
        ...

    def draw_preset(self, _context):
        """

        :param self:
        :type self:
        :param _context:
        :type _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,
    ):
        """

        :param self:
        :type self:
        :param searchpaths:
        :type searchpaths:
        :param operator:
        :type operator:
        :param props_default:
        :type props_default:
        :param prop_filepath:
        :type prop_filepath:
        :param filter_ext:
        :type filter_ext:
        :param filter_path:
        :type filter_path:
        :param display_name:
        :type display_name:
        :param add_operator:
        :type add_operator:
        """
        ...

    def path_resolve(self): ...
    def pop(self): ...
    def prepend(self, draw_func):
        """

        :param draw_func:
        :type draw_func:
        """
        ...

    def property_overridable_library_set(self): ...
    def property_unset(self): ...
    def remove(self, draw_func):
        """

        :param draw_func:
        :type draw_func:
        """
        ...

    def type_recast(self): ...
    def values(self): ...

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

    def append(self, draw_func):
        """

        :param draw_func:
        :type draw_func:
        """
        ...

    def as_pointer(self): ...
    def bl_rna_get_subclass(self): ...
    def bl_rna_get_subclass_py(self): ...
    def draw(self, _context):
        """

        :param self:
        :type self:
        :param _context:
        :type _context:
        """
        ...

    def draw_collapsible(self, context, layout):
        """

        :param context:
        :type context:
        :param layout:
        :type layout:
        """
        ...

    def draw_preset(self, _context):
        """

        :param self:
        :type self:
        :param _context:
        :type _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,
    ):
        """

        :param self:
        :type self:
        :param searchpaths:
        :type searchpaths:
        :param operator:
        :type operator:
        :param props_default:
        :type props_default:
        :param prop_filepath:
        :type prop_filepath:
        :param filter_ext:
        :type filter_ext:
        :param filter_path:
        :type filter_path:
        :param display_name:
        :type display_name:
        :param add_operator:
        :type add_operator:
        """
        ...

    def path_resolve(self): ...
    def pop(self): ...
    def prepend(self, draw_func):
        """

        :param draw_func:
        :type draw_func:
        """
        ...

    def property_overridable_library_set(self): ...
    def property_unset(self): ...
    def remove(self, draw_func):
        """

        :param draw_func:
        :type draw_func:
        """
        ...

    def type_recast(self): ...
    def values(self): ...

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

    def append(self, draw_func):
        """

        :param draw_func:
        :type draw_func:
        """
        ...

    def as_pointer(self): ...
    def bl_rna_get_subclass(self): ...
    def bl_rna_get_subclass_py(self): ...
    def draw(self, _context):
        """

        :param self:
        :type self:
        :param _context:
        :type _context:
        """
        ...

    def draw_collapsible(self, context, layout):
        """

        :param context:
        :type context:
        :param layout:
        :type layout:
        """
        ...

    def draw_preset(self, _context):
        """

        :param self:
        :type self:
        :param _context:
        :type _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,
    ):
        """

        :param self:
        :type self:
        :param searchpaths:
        :type searchpaths:
        :param operator:
        :type operator:
        :param props_default:
        :type props_default:
        :param prop_filepath:
        :type prop_filepath:
        :param filter_ext:
        :type filter_ext:
        :param filter_path:
        :type filter_path:
        :param display_name:
        :type display_name:
        :param add_operator:
        :type add_operator:
        """
        ...

    def path_resolve(self): ...
    def pop(self): ...
    def prepend(self, draw_func):
        """

        :param draw_func:
        :type draw_func:
        """
        ...

    def property_overridable_library_set(self): ...
    def property_unset(self): ...
    def remove(self, draw_func):
        """

        :param draw_func:
        :type draw_func:
        """
        ...

    def type_recast(self): ...
    def values(self): ...

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

    def append(self, draw_func):
        """

        :param draw_func:
        :type draw_func:
        """
        ...

    def as_pointer(self): ...
    def bl_rna_get_subclass(self): ...
    def bl_rna_get_subclass_py(self): ...
    def draw(self, _context):
        """

        :param self:
        :type self:
        :param _context:
        :type _context:
        """
        ...

    def draw_collapsible(self, context, layout):
        """

        :param context:
        :type context:
        :param layout:
        :type layout:
        """
        ...

    def draw_preset(self, _context):
        """

        :param self:
        :type self:
        :param _context:
        :type _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,
    ):
        """

        :param self:
        :type self:
        :param searchpaths:
        :type searchpaths:
        :param operator:
        :type operator:
        :param props_default:
        :type props_default:
        :param prop_filepath:
        :type prop_filepath:
        :param filter_ext:
        :type filter_ext:
        :param filter_path:
        :type filter_path:
        :param display_name:
        :type display_name:
        :param add_operator:
        :type add_operator:
        """
        ...

    def path_resolve(self): ...
    def pop(self): ...
    def prepend(self, draw_func):
        """

        :param draw_func:
        :type draw_func:
        """
        ...

    def property_overridable_library_set(self): ...
    def property_unset(self): ...
    def remove(self, draw_func):
        """

        :param draw_func:
        :type draw_func:
        """
        ...

    def type_recast(self): ...
    def values(self): ...

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

    def append(self, draw_func):
        """

        :param draw_func:
        :type draw_func:
        """
        ...

    def as_pointer(self): ...
    def bl_rna_get_subclass(self): ...
    def bl_rna_get_subclass_py(self): ...
    def draw(self, _context):
        """

        :param self:
        :type self:
        :param _context:
        :type _context:
        """
        ...

    def draw_collapsible(self, context, layout):
        """

        :param context:
        :type context:
        :param layout:
        :type layout:
        """
        ...

    def draw_preset(self, _context):
        """

        :param self:
        :type self:
        :param _context:
        :type _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,
    ):
        """

        :param self:
        :type self:
        :param searchpaths:
        :type searchpaths:
        :param operator:
        :type operator:
        :param props_default:
        :type props_default:
        :param prop_filepath:
        :type prop_filepath:
        :param filter_ext:
        :type filter_ext:
        :param filter_path:
        :type filter_path:
        :param display_name:
        :type display_name:
        :param add_operator:
        :type add_operator:
        """
        ...

    def path_resolve(self): ...
    def pop(self): ...
    def prepend(self, draw_func):
        """

        :param draw_func:
        :type draw_func:
        """
        ...

    def property_overridable_library_set(self): ...
    def property_unset(self): ...
    def remove(self, draw_func):
        """

        :param draw_func:
        :type draw_func:
        """
        ...

    def type_recast(self): ...
    def values(self): ...

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

    def append(self, draw_func):
        """

        :param draw_func:
        :type draw_func:
        """
        ...

    def as_pointer(self): ...
    def bl_rna_get_subclass(self): ...
    def bl_rna_get_subclass_py(self): ...
    def draw(self, _context):
        """

        :param self:
        :type self:
        :param _context:
        :type _context:
        """
        ...

    def draw_collapsible(self, context, layout):
        """

        :param context:
        :type context:
        :param layout:
        :type layout:
        """
        ...

    def draw_preset(self, _context):
        """

        :param self:
        :type self:
        :param _context:
        :type _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,
    ):
        """

        :param self:
        :type self:
        :param searchpaths:
        :type searchpaths:
        :param operator:
        :type operator:
        :param props_default:
        :type props_default:
        :param prop_filepath:
        :type prop_filepath:
        :param filter_ext:
        :type filter_ext:
        :param filter_path:
        :type filter_path:
        :param display_name:
        :type display_name:
        :param add_operator:
        :type add_operator:
        """
        ...

    def path_resolve(self): ...
    def pop(self): ...
    def prepend(self, draw_func):
        """

        :param draw_func:
        :type draw_func:
        """
        ...

    def property_overridable_library_set(self): ...
    def property_unset(self): ...
    def remove(self, draw_func):
        """

        :param draw_func:
        :type draw_func:
        """
        ...

    def type_recast(self): ...
    def values(self): ...

class MASK_PT_display:
    bl_label: typing.Any

    def draw(self, context):
        """

        :param self:
        :type self:
        :param context:
        :type context:
        """
        ...

    def poll(self, context):
        """

        :param context:
        :type context:
        """
        ...

class MASK_PT_layers:
    bl_label: typing.Any

    def draw(self, context):
        """

        :param self:
        :type self:
        :param context:
        :type context:
        """
        ...

    def poll(self, context):
        """

        :param context:
        :type context:
        """
        ...

class MASK_PT_mask:
    bl_label: typing.Any
    bl_options: typing.Any

    def draw(self, context):
        """

        :param self:
        :type self:
        :param context:
        :type context:
        """
        ...

    def poll(self, context):
        """

        :param context:
        :type context:
        """
        ...

class MASK_PT_point:
    bl_label: typing.Any

    def draw(self, context):
        """

        :param self:
        :type self:
        :param context:
        :type context:
        """
        ...

    def poll(self, context):
        """

        :param context:
        :type context:
        """
        ...

class MASK_PT_spline:
    bl_label: typing.Any

    def draw(self, context):
        """

        :param self:
        :type self:
        :param context:
        :type context:
        """
        ...

    def poll(self, context):
        """

        :param context:
        :type context:
        """
        ...

class MASK_PT_tools:
    bl_category: typing.Any
    bl_label: typing.Any

    def draw(self, _context):
        """

        :param self:
        :type self:
        :param _context:
        :type _context:
        """
        ...

    def poll(self, context):
        """

        :param context:
        :type context:
        """
        ...

class MASK_PT_transforms:
    bl_category: typing.Any
    bl_label: typing.Any

    def draw(self, _context):
        """

        :param self:
        :type self:
        :param _context:
        :type _context:
        """
        ...

    def poll(self, context):
        """

        :param context:
        :type context:
        """
        ...

class MASK_UL_layers(bpy_types.UIList, bpy_types._GenericUI):
    bl_rna: typing.Any
    id_data: typing.Any

    def append(self, draw_func):
        """

        :param draw_func:
        :type draw_func:
        """
        ...

    def as_pointer(self): ...
    def bl_rna_get_subclass(self): ...
    def bl_rna_get_subclass_py(self): ...
    def draw_item(
        self,
        _context,
        layout,
        _data,
        item,
        icon,
        _active_data,
        _active_propname,
        _index,
    ):
        """

        :param self:
        :type self:
        :param _context:
        :type _context:
        :param layout:
        :type layout:
        :param _data:
        :type _data:
        :param item:
        :type item:
        :param icon:
        :type icon:
        :param _active_data:
        :type _active_data:
        :param _active_propname:
        :type _active_propname:
        :param _index:
        :type _index:
        """
        ...

    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_resolve(self): ...
    def pop(self): ...
    def prepend(self, draw_func):
        """

        :param draw_func:
        :type draw_func:
        """
        ...

    def property_overridable_library_set(self): ...
    def property_unset(self): ...
    def remove(self, draw_func):
        """

        :param draw_func:
        :type draw_func:
        """
        ...

    def type_recast(self): ...
    def values(self): ...

def draw_mask_context_menu(layout, _context): ...
