from _typeshed import Incomplete
from pathlib import Path
from qSide import QFileSystemModel, QModelIndex as QModelIndex, QPluginWidget, QPoint as QPoint, QSortFilterProxyModel, QTreeView, QWidget

class NoFolderOpenedPage(QPluginWidget, QWidget):
    def __init__(self, parent=None) -> None: ...

class FolderFirstSortModel(QSortFilterProxyModel):
    fsModel: Incomplete
    def __init__(self, fsModel: QFileSystemModel) -> None: ...
    def lessThan(self, left: QModelIndex, right: QModelIndex) -> bool: ...

class FileSystemView(QPluginWidget, QTreeView):
    fsmodel: Incomplete
    sortModel: Incomplete
    def __init__(self, parent=None) -> None: ...
    def rootPath(self) -> Path: ...
    def setRootPath(self, path: Path, expand: bool = False) -> bool: ...

class ExplorerView(QPluginWidget, QWidget):
    def __init__(self, parent=None) -> None: ...
    def setWorkingFolder(self, path: Path | None): ...
    def workingFolder(self) -> Path | None: ...
    def select(self, paths: list[Path]): ...
    def selection(self) -> list[Path]: ...
