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

import ConfigurationAPI_cmodule as Configuration
import FarmAPI
import KatanaResources as KatanaResources
import NodegraphAPI as NodegraphAPI
import Nodes2DAPI as Nodes2DAPI
import Utils as Utils
from _typeshed import Incomplete
from typing import Set, Tuple

class FarmPluginManagerException(Exception): ...

class JobRequest:
    def __init__(self, nodeName: str, renderContextName: str, frames: list[int], commands: list[str], environment, tempDir: str) -> None: ...

def CopyRenderFiles(renderFiles: list[str], renderContextName: Incomplete | None = ..., farm: Incomplete | None = ...): ...
def CreateRenderContextName(sequenceID: Incomplete | None = ...) -> str: ...
def CreateTemporaryDirectory(renderContextName: str, farm: Incomplete | None = ...) -> str: ...
def GetDefaultFarm() -> str: ...
def GetFarmPluginNames() -> list[str]: ...
def GetJobState(jobId: str, farm: Incomplete | None = ...) -> str: ...
def GetJobs(filters: Incomplete | None = ..., farm: Incomplete | None = ...) -> list[FarmAPI.Job]: ...
def GetRenderLogFilename(jobId: str, farm: Incomplete | None = ...) -> str | None: ...
def Initialize(): ...
def LoadFarmPlugins(): ...
def PrepareRemoteCommand(localCommandLine: str, renderContextName: str, remoteTempDirectory: str, farm: Incomplete | None = ...) -> str: ...
def SetDefaultFarm(farm: str): ...
def StartJob(jobId: str, farm: Incomplete | None = ...): ...
def StopJob(jobId: str, farm: Incomplete | None = ...): ...
def SubmitJob(nodeName: str, renderContextName: str, remoteTempDir: str, commands: list[str], farm: Incomplete | None = ...) -> str: ...
