from PySide2.QtGui import *
from PySide2.QtCore import *
from PySide2.QtWidgets import *
import mari
from _typeshed import Incomplete

version: str
ENTITY_USER_ROLE: int
PATCHES_COMBO_DEFAULT: str
SEARCH_METHOD_DEFAULT: str
INTERPOLATION_METHOD_DEFAULT: str
CENTER_POSITIONS_DEFAULT: str
FLATTEN_DEFAULT: str
BLEED_EDGES_DEFAULT: str
SEARCH_UNITS_DEFAULT: str
SEARCH_RANGE_DEFAULT: float
FILL_COLOR_DEFAULT: str

class OptionsTab(QWidget):
    source_layout: Incomplete
    destination_layout: Incomplete
    source_geo: Incomplete
    destination_geo: Incomplete
    source_version: Incomplete
    destination_version: Incomplete
    add_all_button: Incomplete
    add_button: Incomplete
    remove_button: Incomplete
    remove_all_button: Incomplete
    def __init__(self, parent: Incomplete | None = ...) -> None: ...
    def sourceGeo(self): ...
    def sourceVersion(self): ...
    def destinationGeo(self): ...
    def destinationVersion(self): ...

class AdvancedTab(QWidget):
    options: Incomplete
    source_layout: Incomplete
    destination_layout: Incomplete
    source_frame: Incomplete
    destination_frame: Incomplete
    source_patches: Incomplete
    destination_patches: Incomplete
    source_visibility: Incomplete
    destination_visibility: Incomplete
    source_selection: Incomplete
    destination_selection: Incomplete
    search_method: Incomplete
    interpolation_method: Incomplete
    sample_count_slider: Incomplete
    sample_count_spinbox: Incomplete
    center_positions: Incomplete
    flatten_combo: Incomplete
    bleed_edges: Incomplete
    bleed_edges_reset: Incomplete
    search_units: Incomplete
    search_range: Incomplete
    fill_color: Incomplete
    def __init__(self, options, parent: Incomplete | None = ...) -> None: ...
    def sourceFrame(self): ...
    def sourcePatches(self): ...
    def sourceVisibleOnly(self): ...
    def sourceSelectedOnly(self): ...
    def destinationFrame(self): ...
    def destinationPatches(self): ...
    def destinationVisibleOnly(self): ...
    def destinationSelectedOnly(self): ...
    def searchMethod(self): ...
    def interpolationMethod(self): ...
    def sampleCount(self): ...
    def centerPositions(self): ...
    def flatten(self): ...
    def bleedEdges(self): ...
    def searchUnits(self): ...
    def searchRange(self): ...
    def fillColor(self): ...
    def loadSettings(self) -> None: ...
    def saveSettings(self) -> None: ...

class TransferDialog(mari.utils.Dialog):
    tab_widget: Incomplete
    options_tab: Incomplete
    advanced_options_tab: Incomplete
    ok_button: Incomplete
    cancel_button: Incomplete
    def __init__(self, title, parent: Incomplete | None = ...) -> None: ...
    def options(self): ...
    def advancedOptions(self): ...

class EntityComboBox(QComboBox):
    def __init__(self) -> None: ...
    def addEntity(self, entity) -> None: ...
    def setCurrentEntity(self, entity) -> None: ...
    def currentEntity(self): ...

class PatchWidget(QWidget):
    patches_combo: Incomplete
    range_first: Incomplete
    range_last: Incomplete
    def __init__(self, parent: Incomplete | None = ...) -> None: ...
    patches: Incomplete
    def setPatches(self, patches) -> None: ...
    def uvIndices(self): ...
