# mypy: disable-error-code="misc, override, attr-defined, no-redef, assignment"

import AssetAPI as AssetAPI
import MediaCacheHandler as MediaCacheHandler
import UI4.Widgets.MessageBox as MessageBox
import NodegraphAPI as NodegraphAPI
import PyQt5.QtCore
import PyQt5.QtCore as QtCore
import Utils as Utils
from _typeshed import Incomplete
from typing import ClassVar, Set, Tuple

class CancelledException(Exception): ...

class MediaCacheCopyThread(PyQt5.QtCore.QThread):
    elementDeleted: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    elementProgress: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    fileProgress: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    def __init__(self, elements, elementsSafeForDeletion) -> None: ...
    def _MediaCacheCopyThread__deletionCB(self): ...
    def _MediaCacheCopyThread__elementProgressCB(self, elementName, i, total): ...
    def _MediaCacheCopyThread__fileProgressCB(self, fileName, i, total): ...
    def cancel(self): ...
    def getException(self): ...
    def run(self): ...
    def wasCancelled(self): ...
    def wasError(self): ...

class MediaCacheTransfer:
    def __init__(self, elementSet) -> None: ...
    def _MediaCacheTransfer__checkAspera(self): ...
    def _MediaCacheTransfer__copyFinished(self): ...
    def _MediaCacheTransfer__doCopying(self, postAsperaElements): ...
    def _MediaCacheTransfer__elementDeletedCB(self, elementName): ...
    def _MediaCacheTransfer__elementProgressCB(self, elementName, elementsCompleted, totalElements): ...
    def _MediaCacheTransfer__fileProgressCB(self, fileName, filesCompleted, totalFiles): ...
    def _MediaCacheTransfer__sendEvent(self, eventName, **kwargs): ...
    def cancel(self): ...
    def getElements(self): ...
    def getId(self): ...
    def start(self): ...

def CancelMediaCacheRefresh(id): ...
def DoesGraphHaveCacheableNodes(nodes: Incomplete | None = ...): ...
def GetFileElements(nodes: Incomplete | None = ..., t: Incomplete | None = ...): ...
def StartMediaCacheRefresh(elements: Incomplete | None = ..., nodes: Incomplete | None = ..., t: Incomplete | None = ...): ...
