import typing
import bpy_types

GenericType = typing.TypeVar("GenericType")

class AlignUVRotation(bpy_types.Operator):
    bl_idname: typing.Any
    bl_label: typing.Any
    bl_options: typing.Any
    bl_rna: typing.Any
    id_data: typing.Any

    def as_keywords(self, ignore): ...
    def as_pointer(self): ...
    def bl_rna_get_subclass(self): ...
    def bl_rna_get_subclass_py(self): ...
    def draw(self, _context): ...
    def driver_add(self): ...
    def driver_remove(self): ...
    def execute(self, context): ...
    def get(self): ...
    def id_properties_clear(self): ...
    def id_properties_ensure(self): ...
    def id_properties_ui(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 poll(self, context): ...
    def poll_message_set(self): ...
    def pop(self): ...
    def property_overridable_library_set(self): ...
    def property_unset(self): ...
    def type_recast(self): ...
    def values(self): ...

class RandomizeUVTransform(bpy_types.Operator):
    bl_idname: typing.Any
    bl_label: typing.Any
    bl_options: typing.Any
    bl_rna: typing.Any
    id_data: typing.Any

    def as_keywords(self, ignore): ...
    def as_pointer(self): ...
    def bl_rna_get_subclass(self): ...
    def bl_rna_get_subclass_py(self): ...
    def driver_add(self): ...
    def driver_remove(self): ...
    def execute(self, context): ...
    def get(self): ...
    def id_properties_clear(self): ...
    def id_properties_ensure(self): ...
    def id_properties_ui(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 poll(self, context): ...
    def poll_message_set(self): ...
    def pop(self): ...
    def property_overridable_library_set(self): ...
    def property_unset(self): ...
    def type_recast(self): ...
    def values(self): ...

def align_uv_rotation(context, method, axis, correct_aspect): ...
def align_uv_rotation_bmesh(mesh, bm, method, axis, aspect_y): ...
def align_uv_rotation_island(bm, uv_layer, faces, method, axis, aspect_y): ...
def find_rotation_auto(bm, uv_layer, faces, aspect_y): ...
def find_rotation_edge(bm, uv_layer, faces, aspect_y): ...
def find_rotation_geometry(bm, uv_layer, faces, method, axis, aspect_y): ...
def get_aspect_y(context): ...
def get_random_transform(transform_params, entropy): ...
def is_face_uv_selected(face, uv_layer, any_edge): ...
def is_island_uv_selected(island, uv_layer, any_edge): ...
def island_uv_bounds(island, uv_layer): ...
def island_uv_bounds_center(island, uv_layer): ...
def randomize_uv_transform(context, transform_params): ...
def randomize_uv_transform_bmesh(mesh, bm, transform_params): ...
def randomize_uv_transform_island(bm, uv_layer, faces, transform_params): ...
