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

import PyUtilModule.IRFs as IRFs
import NodegraphAPI as NodegraphAPI
import PyXmlIO as PyXmlIO
from PyUtilModule.ProjectSnapshot import ProjectSnapshot as ProjectSnapshot
from _typeshed import Incomplete
from typing import ClassVar, Set, Tuple

class FullProjectSnapshot(MinimalProjectSnapshot):
    def __init__(self, snapshotParameter: Incomplete | None = ...) -> None: ...
    def getNodeGraphXML(self) -> PyXmlIO.Element: ...

class MinimalProjectSnapshot(ProjectSnapshot):
    def __init__(self, snapshotParameter: Incomplete | None = ...) -> None: ...
    def _snapshotGraphStateVariables(self, rootNode: NodegraphAPI.GroupNode): ...
    def _snapshotIRFs(self) -> list[str]: ...
    def getGlobalGraphStateVariables(self): ...
    def getInteractiveRenderFilters(self) -> list[str]: ...

class ProjectSnapshot:
    class Type:
        kFull: ClassVar[int] = ...
        kMinimal: ClassVar[int] = ...
        kOff: ClassVar[int] = ...
        @staticmethod
        def ToString(snapshotType: int) -> str: ...
    def __init__(self) -> None: ...
    def getGlobalGraphStateVariables(self): ...
    def getInteractiveRenderFilters(self) -> list[str]: ...
    def getSnapshotType(self) -> int: ...

def CreateProjectSnapshot(snapshotType: int = ...) -> ProjectSnapshot: ...
