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

import AssetAPI as AssetAPI
import ConfigurationAPI_cmodule as Configuration
import PyFnAttribute as FnAttribute
import PyFnGeolib as FnGeolib
import PyFnGeolibProducers as FnGeolibProducers
import GeoAPI as GeoAPI
import Nodes3DAPI.Node3D as Node3D
import NodegraphAPI as NodegraphAPI
import PyFnGeolibProducers
import RenderingAPI as RenderingAPI
import PyResolutionTableFn as ResolutionTable
import Utils as Utils
import typing
from _typeshed import Incomplete
from typing import Set, Tuple

class RenderCameraError(RenderingAPI.RenderStartupError): ...

class RenderNodeInfo:
    def __init__(self, node: NodegraphAPI.Node, graphState: NodegraphAPI.GraphState, producer: PyFnGeolibProducers.GeometryProducer, cacheID, cameraErrorIsFatal: bool = ...) -> None: ...
    def _RenderNodeInfo__computeTargetFileName(self, outputAttrs, forceLocal, makeVersionTemplate, imageInfoDict): ...
    def _RenderNodeInfo__computeTargetLocation(self, outputAttrs, forceLocal, imageInfoDict): ...
    def _RenderNodeInfo__compute_tile_file_name(self, outputType, outputFile, tileRender: Incomplete | None = ..., shadowType: str = ...): ...
    def _RenderNodeInfo__getOutputAttr(self, outputAttrs, attrName, defValue): ...
    def _RenderNodeInfo__getProducerData(self, cameraErrorIsFatal: bool = ...): ...
    def _RenderNodeInfo__getRenderSettingsAttributesDict(self, excludeOutputs: bool = ...) -> dict: ...
    def _RenderNodeInfo__process_color_output(self, name, outputAttrs, outputScope, forceLocal, enabled, makeVersionTemplate, imageInfoDict): ...
    def _RenderNodeInfo__process_deep_output(self, name, outputAttrs, outputScope, forceLocal, enabled, makeVersionTemplate, imageInfoDict): ...
    def _RenderNodeInfo__process_other_output(self, name, outputAttrs, outputScope, forceLocal, enabled, makeVersionTemplate, imageInfoDict): ...
    def _RenderNodeInfo__process_output(self, index, forceLocal, makeVersionTemplate): ...
    def _RenderNodeInfo__process_prescript_output(self, name, outputAttrs, outputScope, forceLocal, enabled, makeVersionTemplate, imageInfoDict): ...
    def _RenderNodeInfo__process_raw_output(self, name, outputAttrs, outputScope, forceLocal, enabled, makeVersionTemplate, imageInfoDict): ...
    def _RenderNodeInfo__process_script_output(self, name, outputAttrs, outputScope, forceLocal, enabled, makeVersionTemplate, imageInfoDict): ...
    def _RenderNodeInfo__process_shadow_output(self, name, outputAttrs, outputScope, forceLocal, enabled, makeVersionTemplate, imageInfoDict): ...
    def _RenderNodeInfo__resolvePathsInCommand(self, command): ...
    def computeTileFileName(self, outputInfo, tileRender: Incomplete | None = ...): ...
    def getAllOutputNames(self): ...
    def getCacheID(self): ...
    def getExplicitOutputVersion(self): ...
    def getIncludedByDefault(self, name): ...
    def getNumberOfOutputs(self): ...
    def getOutputInfoByIndex(self, index, forceLocal, makeVersionTemplate: bool = ...): ...
    def getOutputInfoByName(self, name, forceLocal, makeVersionTemplate: bool = ...): ...
    def getPackageString(self): ...
    def getProducer(self): ...
    def getRenderSettings(self): ...
    def getRendererString(self): ...
    def getTileStitchWork(self, tileInfo, tileCleanup, forceLocal): ...
    def isTileRender(self): ...
    def shouldForceLegacyChannelNames(self, outputPassName: str) -> bool: ...

class RenderSettingsError(RenderingAPI.RenderStartupError): ...

def ClearRenderNodeInfoCache(node: NodegraphAPI.Node, graphState: NodegraphAPI.GraphState): ...
def CreateOutputOverrideOp(txn, inputOp, node: NodegraphAPI.Node, graphState: NodegraphAPI.GraphState): ...
def GetCameraInfoDict(cameraProducer): ...
def GetDefaultIncludedOutputs(node: NodegraphAPI.Node): ...
def GetNumRenderOutputs(node: NodegraphAPI.Node, producer: typing.Optional[PyFnGeolibProducers.GeometryProducer] = ...): ...
def GetOutputIncluded(node: NodegraphAPI.Node, outputName): ...
def GetRenderNodeInfo(node: NodegraphAPI.Node, graphState: typing.Optional[NodegraphAPI.GraphState] = ..., client: Incomplete | None = ..., cameraErrorIsFatal: bool = ...) -> RenderNodeInfo: ...
def GetRenderOutputLocation(node: NodegraphAPI.Node, idx, producer: typing.Optional[PyFnGeolibProducers.GeometryProducer] = ..., graphState: typing.Optional[NodegraphAPI.GraphState] = ..., withActiveFrameRange: bool = ...): ...
def GetRenderOutputType(node: NodegraphAPI.Node, idx, producer: typing.Optional[PyFnGeolibProducers.GeometryProducer] = ...): ...
def GetRenderSettings(globalsProducer: PyFnGeolibProducers.GeometryProducer | None, sampleRate: tuple = ..., ROI: Incomplete | None = ..., cameraErrorIsFatal: bool = ...) -> dict: ...
def PostCreateAllProductsAndLocations(node: NodegraphAPI.Node, versionup): ...
def PostCreateProductAndLocation(node: NodegraphAPI.Node, idx, versionup, assetTxn: Incomplete | None = ...): ...
def PreCreateAllProductsAndLocations(node: NodegraphAPI.Node, versionup, producer: typing.Optional[PyFnGeolibProducers.GeometryProducer] = ...): ...
def PreCreateProductAndLocation(node: NodegraphAPI.Node, idx, versionup, assetTxn: Incomplete | None = ...): ...
def SetOutputIncluded(node: NodegraphAPI.Node, outputName, included): ...
def SyncAllOutputPorts(): ...
def SyncOutputPorts(node: NodegraphAPI.Node, cameraErrorIsFatal: bool = ...): ...
def UpdateIncludedOutputs(node: NodegraphAPI.Node, updateDict): ...
