import typing
import bl_ui.space_toolsystem_common
import bpy_types

GenericType = typing.TypeVar("GenericType")

class IMAGE_PT_tools_active(
    bl_ui.space_toolsystem_common.ToolSelectPanelHelper,
    bpy_types.Panel,
    bpy_types._GenericUI,
):
    bl_label: typing.Any
    bl_options: typing.Any
    bl_region_type: typing.Any
    bl_rna: typing.Any
    bl_space_type: typing.Any
    id_data: typing.Any
    keymap_prefix: typing.Any
    tool_fallback_id: 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_active_tool_fallback(
        self, context, layout, tool, is_horizontal_layout
    ): ...
    def draw_active_tool_header(
        self, context, layout, show_tool_icon_always, tool_key
    ): ...
    def draw_cls(self, layout, context, detect_layout, scale_y): ...
    def draw_fallback_tool_items(self, layout, context): ...
    def draw_fallback_tool_items_for_pie_menu(self, layout, 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 keymap_ui_hierarchy(self, context_mode): ...
    def keys(self): ...
    def path_from_id(self): ...
    def path_resolve(self): ...
    def pop(self): ...
    def prepend(self, draw_func): ...
    def property_overridable_library_set(self): ...
    def property_unset(self): ...
    def register(self): ...
    def register_ensure(self): ...
    def remove(self, draw_func): ...
    def tool_active_from_context(self, context): ...
    def tools_all(self): ...
    def tools_from_context(self, context, mode): ...
    def type_recast(self): ...
    def values(self): ...

class NODE_PT_tools_active(
    bl_ui.space_toolsystem_common.ToolSelectPanelHelper,
    bpy_types.Panel,
    bpy_types._GenericUI,
):
    bl_label: typing.Any
    bl_options: typing.Any
    bl_region_type: typing.Any
    bl_rna: typing.Any
    bl_space_type: typing.Any
    id_data: typing.Any
    keymap_prefix: typing.Any
    tool_fallback_id: 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_active_tool_fallback(
        self, context, layout, tool, is_horizontal_layout
    ): ...
    def draw_active_tool_header(
        self, context, layout, show_tool_icon_always, tool_key
    ): ...
    def draw_cls(self, layout, context, detect_layout, scale_y): ...
    def draw_fallback_tool_items(self, layout, context): ...
    def draw_fallback_tool_items_for_pie_menu(self, layout, 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 keymap_ui_hierarchy(self, context_mode): ...
    def keys(self): ...
    def path_from_id(self): ...
    def path_resolve(self): ...
    def pop(self): ...
    def prepend(self, draw_func): ...
    def property_overridable_library_set(self): ...
    def property_unset(self): ...
    def register(self): ...
    def register_ensure(self): ...
    def remove(self, draw_func): ...
    def tool_active_from_context(self, context): ...
    def tools_all(self): ...
    def tools_from_context(self, context, mode): ...
    def type_recast(self): ...
    def values(self): ...

class SEQUENCER_PT_tools_active(
    bl_ui.space_toolsystem_common.ToolSelectPanelHelper,
    bpy_types.Panel,
    bpy_types._GenericUI,
):
    bl_label: typing.Any
    bl_options: typing.Any
    bl_region_type: typing.Any
    bl_rna: typing.Any
    bl_space_type: typing.Any
    id_data: typing.Any
    keymap_prefix: typing.Any
    tool_fallback_id: 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_active_tool_fallback(
        self, context, layout, tool, is_horizontal_layout
    ): ...
    def draw_active_tool_header(
        self, context, layout, show_tool_icon_always, tool_key
    ): ...
    def draw_cls(self, layout, context, detect_layout, scale_y): ...
    def draw_fallback_tool_items(self, layout, context): ...
    def draw_fallback_tool_items_for_pie_menu(self, layout, 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 keymap_ui_hierarchy(self, context_mode): ...
    def keys(self): ...
    def path_from_id(self): ...
    def path_resolve(self): ...
    def pop(self): ...
    def prepend(self, draw_func): ...
    def property_overridable_library_set(self): ...
    def property_unset(self): ...
    def register(self): ...
    def register_ensure(self): ...
    def remove(self, draw_func): ...
    def tool_active_from_context(self, context): ...
    def tools_all(self): ...
    def tools_from_context(self, context, mode): ...
    def type_recast(self): ...
    def values(self): ...

class VIEW3D_PT_tools_active(
    bl_ui.space_toolsystem_common.ToolSelectPanelHelper,
    bpy_types.Panel,
    bpy_types._GenericUI,
):
    bl_label: typing.Any
    bl_options: typing.Any
    bl_region_type: typing.Any
    bl_rna: typing.Any
    bl_space_type: typing.Any
    id_data: typing.Any
    keymap_prefix: typing.Any
    tool_fallback_id: 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_active_tool_fallback(
        self, context, layout, tool, is_horizontal_layout
    ): ...
    def draw_active_tool_header(
        self, context, layout, show_tool_icon_always, tool_key
    ): ...
    def draw_cls(self, layout, context, detect_layout, scale_y): ...
    def draw_fallback_tool_items(self, layout, context): ...
    def draw_fallback_tool_items_for_pie_menu(self, layout, 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 keymap_ui_hierarchy(self, context_mode): ...
    def keys(self): ...
    def path_from_id(self): ...
    def path_resolve(self): ...
    def pop(self): ...
    def prepend(self, draw_func): ...
    def property_overridable_library_set(self): ...
    def property_unset(self): ...
    def register(self): ...
    def register_ensure(self): ...
    def remove(self, draw_func): ...
    def tool_active_from_context(self, context): ...
    def tools_all(self): ...
    def tools_from_context(self, context, mode): ...
    def type_recast(self): ...
    def values(self): ...

class _defs_annotate:
    eraser: typing.Any
    line: typing.Any
    poly: typing.Any
    scribble: typing.Any

    def draw_settings_common(self, context, layout, tool): ...

class _defs_curves_sculpt:
    def generate_from_brushes(self, context): ...

class _defs_edit_armature:
    bone_envelope: typing.Any
    bone_size: typing.Any
    extrude: typing.Any
    extrude_cursor: typing.Any
    roll: typing.Any

class _defs_edit_curve:
    curve_radius: typing.Any
    curve_vertex_randomize: typing.Any
    draw: typing.Any
    extrude: typing.Any
    extrude_cursor: typing.Any
    pen: typing.Any
    tilt: typing.Any

class _defs_edit_curves:
    draw: typing.Any

class _defs_edit_mesh:
    bevel: typing.Any
    bisect: typing.Any
    edge_slide: typing.Any
    extrude: typing.Any
    extrude_cursor: typing.Any
    extrude_individual: typing.Any
    extrude_manifold: typing.Any
    extrude_normals: typing.Any
    inset: typing.Any
    knife: typing.Any
    loopcut_slide: typing.Any
    offset_edge_loops_slide: typing.Any
    poly_build: typing.Any
    push_pull: typing.Any
    rip_edge: typing.Any
    rip_region: typing.Any
    shrink_fatten: typing.Any
    spin: typing.Any
    tosphere: typing.Any
    vert_slide: typing.Any
    vertex_randomize: typing.Any
    vertex_smooth: typing.Any

class _defs_edit_text:
    select_text: typing.Any

class _defs_gpencil_edit:
    bend: typing.Any
    box_select: typing.Any
    circle_select: typing.Any
    extrude: typing.Any
    interpolate: typing.Any
    lasso_select: typing.Any
    radius: typing.Any
    select: typing.Any
    shear: typing.Any
    tosphere: typing.Any
    transform_fill: typing.Any

    def is_segment(self, context): ...

class _defs_gpencil_paint:
    arc: typing.Any
    box: typing.Any
    circle: typing.Any
    curve: typing.Any
    cutter: typing.Any
    eyedropper: typing.Any
    interpolate: typing.Any
    line: typing.Any
    polyline: typing.Any

    def generate_from_brushes(self, context): ...
    def gpencil_primitive_toolbar(self, context, layout, _tool, props): ...

class _defs_gpencil_sculpt:
    def generate_from_brushes(self, context): ...
    def poll_select_mask(self, context): ...

class _defs_gpencil_vertex:
    def generate_from_brushes(self, context): ...
    def poll_select_mask(self, context): ...

class _defs_gpencil_weight:
    def generate_from_brushes(self, context): ...

class _defs_image_generic:
    cursor: typing.Any
    sample: typing.Any

    def poll_uvedit(self, context): ...

class _defs_image_uv_edit:
    rip_region: typing.Any

class _defs_image_uv_sculpt:
    def generate_from_brushes(self, context): ...

class _defs_image_uv_select:
    box: typing.Any
    circle: typing.Any
    lasso: typing.Any
    select: typing.Any

class _defs_image_uv_transform:
    rotate: typing.Any
    scale: typing.Any
    transform: typing.Any
    translate: typing.Any

class _defs_node_edit:
    links_cut: typing.Any

class _defs_node_select:
    box: typing.Any
    circle: typing.Any
    lasso: typing.Any
    select: typing.Any

class _defs_paint_grease_pencil:
    draw: typing.Any
    erase: typing.Any

class _defs_particle:
    def generate_from_brushes(self, context): ...

class _defs_pose:
    breakdown: typing.Any
    push: typing.Any
    relax: typing.Any

class _defs_sculpt:
    cloth_filter: typing.Any
    color_filter: typing.Any
    face_set_box: typing.Any
    face_set_edit: typing.Any
    face_set_lasso: typing.Any
    hide_border: typing.Any
    mask_border: typing.Any
    mask_by_color: typing.Any
    mask_lasso: typing.Any
    mask_line: typing.Any
    mesh_filter: typing.Any
    project_line: typing.Any
    trim_box: typing.Any
    trim_lasso: typing.Any

    def generate_from_brushes(self, context): ...

class _defs_sequencer_generic:
    blade: typing.Any
    cursor: typing.Any
    rotate: typing.Any
    sample: typing.Any
    scale: typing.Any
    transform: typing.Any
    translate: typing.Any

class _defs_sequencer_select:
    box: typing.Any
    select: typing.Any

class _defs_texture_paint:
    def generate_from_brushes(self, context): ...
    def poll_select_mask(self, context): ...

class _defs_transform:
    bend: typing.Any
    rotate: typing.Any
    scale: typing.Any
    scale_cage: typing.Any
    shear: typing.Any
    transform: typing.Any
    translate: typing.Any

    def draw_transform_sculpt_tool_settings(self, context, layout): ...

class _defs_vertex_paint:
    def generate_from_brushes(self, context): ...
    def poll_select_mask(self, context): ...

class _defs_view3d_add:
    cone_add: typing.Any
    cube_add: typing.Any
    cylinder_add: typing.Any
    ico_sphere_add: typing.Any
    uv_sphere_add: typing.Any

    def description_interactive_add(self, context, _item, _km, prefix): ...
    def draw_settings_interactive_add(self, layout, tool_settings, tool, extra): ...

class _defs_view3d_generic:
    cursor: typing.Any
    cursor_click: typing.Any
    ruler: typing.Any

class _defs_view3d_select:
    box: typing.Any
    circle: typing.Any
    lasso: typing.Any
    select: typing.Any

class _defs_weight_paint:
    gradient: typing.Any
    sample_weight: typing.Any
    sample_weight_group: typing.Any

    def generate_from_brushes(self, context): ...
    def poll_select_tools(self, context): ...

class _template_widget:
    def VIEW3D_GGT_xform_extrude(self): ...
    def VIEW3D_GGT_xform_gizmo(self): ...

def curve_draw_settings(context, layout, _tool, extra): ...
def generate_from_enum_ex(
    _context,
    idname_prefix,
    icon_prefix,
    type,
    attr,
    cursor,
    tooldef_keywords,
    icon_map,
    use_separators,
): ...
def kmi_to_string_or_none(kmi): ...
