from typing import Type, Self, TypeVar, Final, List, Sequence, Dict, Any, Callable, overload

resourceT = TypeVar('resourceT', bound='Resource')
SubsystemT = TypeVar('SubsystemT', bound='Subsystem')
blip: Blip
colours: Colours
d3: D3
dbg: SwitchableString
nullopt: std_nullopt
os: OS
paths: PathsManager
resourceManager: ResourceManager
subsystems: SubsystemManager
Vec3 = Vec
state: D3State
d3NetManager: D3NetManager
packageSystem: PackageSystem
alertNotificationSystem: AlertNotificationSystem
d3os: OS
undo: UndoSystem
gui: Gui
d3gui: Gui
"""
Same as gui, but without conflicting with the `gui` package.
"""
guisystem: GuiSystem
renderer: DxRenderer
"""
Actually from d3_module_fixup, but is not accessible when stubs are generated.
"""

def __getattribute__(self, name: str) -> object:
    """
    __getattribute__ override for restricted scopes
    """
    ...

def getCppRawAddress(value: _BlipValue) -> int:
    """
    Get the address of the blip object underlying memory
    """
    ...

def getCppTypeString(type: Type) -> str:
    """
    Get the CPP type of the underlying blip object (including const &)
    """
    ...

def isCppType(type: Type) -> bool:
    """
    Determine if the type is provided by the C++ layer
    """
    ...

def makeReference(value: _BlipValue) -> _BlipValue:
    """
    Make a reference to the object passed in
    """
    ...

def markDirty(resource: Resource) -> None:
    """
    Mark the given object as about to become dirty
    """
    ...

def rp(resource: Resource) -> object:
    """
    Make Python own the resource object passed
    """
    ...

def makeMemberNameValid(name: str) -> str:
    """
    Transforms a FieldInfo name into a valid, similar-looking Python identifier which can be used to look up a member on a Python object.
    """
    ...

def clamp(v: float, lo: float, hi: float) -> float:
    """
    Ensures `v` lies between `lo` and `hi`
    """
    ...

def tr(string: str) -> str:
    """
    Does nothing at runtime: added so that extract_strings.py can pick up custom python strings for translation. see localisestring.hpp
    """
    ...

def TFormat(stringPattern: str, *args) -> str:
    """
    Helper function to translate strings with interpolation
    """
    ...

def TFormatContext(context: str, stringPattern: str, *args) -> str:
    """
    Helper function like TFormat, also adds context to the translation
    """
    ...

class Colour(_BlipValue):
    """
    A floating-point RGBA representation of a Colour
    
    This class does not hold any colour space information, therefore the precise meaning of the values will depend on the context in which it is used.
    """

    null: Self
    _classInfo: 'ClassInfo'
    black: Colour
    blackZeroAlpha: Colour
    blue: Colour
    caramel: Colour
    cyan: Colour
    darkGrey: Colour
    fromHSL: Callable
    green: Colour
    grey: Colour
    lightGrey: Colour
    lime: Colour
    magenta: Colour
    orange: Colour
    pink: Colour
    red: Colour
    transparent: Colour
    turquoise: Colour
    white: Colour
    whiteZeroAlpha: Colour
    yellow: Colour

    @property
    def a(self) -> float:
        """
        The alpha (transparency) component of the colour.
        Between 0-1, 0 is fully transparent, 1 is fully opaque.
        
        UserName: A
        """
        ...
    @a.setter
    def a(self, value: float) -> None:
        ...

    @property
    def b(self) -> float:
        """
        The blue component of the colour.
        Between 0-1 if an sRGB value, may be outside this range otherwise.
        
        UserName: B
        """
        ...
    @b.setter
    def b(self, value: float) -> None:
        ...

    @property
    def g(self) -> float:
        """
        The green component of the colour.
        Between 0-1 if an sRGB value, may be outside this range otherwise.
        
        UserName: G
        """
        ...
    @g.setter
    def g(self, value: float) -> None:
        ...

    @property
    def r(self) -> float:
        """
        The red component of the colour.
        Between 0-1 if an sRGB value, may be outside this range otherwise.
        
        UserName: R
        """
        ...
    @r.setter
    def r(self, value: float) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: Colour) -> None:
        """
        Copy constructor for Colour
        """
        ...

    @overload
    def __init__(self, rgb: Colour, a: float) -> None:
        ...

    @overload
    def __init__(self, r: float, g: float, b: float) -> None:
        ...

    @overload
    def __init__(self, r: float, g: float, b: float, a: float) -> None:
        ...

    @overload
    def __init__(self, col: Col) -> None:
        ...

    @overload
    def __init__(self, hdr: HDRColour) -> None:
        ...

    def __add__(self, c: Colour) -> Colour:
        """
        Adds two colours
        
        Performs a component-wise addition of the two colours, including alpha. Values above one are saturated at one.
        
        :param c: The colour to add
        
        :return The resulting colour
        """
        ...

    def __eq__(self, c: Colour) -> bool:
        """
        Equality comparison operator for colours.
        
        :param c: The other colour to compare with.
        
        :return True if all RGBA components of the colours are equal, false otherwise.
        """
        ...

    def __mul__(col, x) -> Any:
        """
        Multiply the elements of the colour by a value
        
        :param x: A float or integer multiplier
        
        :return The colour with its elements multiplied by x
        """
        ...

    def __ne__(self, c: Colour) -> bool:
        """
        Checks if two colours are not equal.
        
        :param c: The other colour to compare with.
        
        :return True if any of the RGBA components of the colours are not equal, false otherwise.
        """
        ...

    def __repr__(self) -> Any:
        """
        String representation of the colour
        """
        ...

    def __rmul__(col, x) -> Any:
        """
        Multiply the elements of the colour by a value
        
        :param x: A float or integer multiplier
        
        :return The colour with its elements multiplied by x
        """
        ...

    def __sub__(self, c: Colour) -> Colour:
        """
        Subtracts another colour from this one.
        
        Performs a component-wise subtraction of the given colour from this one. Values below zero are saturated at zero.
        
        :param c: The colour to subtract from this one.
        
        :return The resulting colour.
        """
        ...

    def mix(self, c: Colour, f: float) -> Colour:
        """
        Mixes two colours together.
        
        Performs a linear interpolation between this and another colour based on a mix factor f.
        
        :param c: The colour to mix with.
        :param f: The factor of the mix, from 0-1. 0 returns this colour, 1 returns the other colour c.
        
        :return A new colour that is a mix between this and the given colour.
        """
        ...

    def toCol(self) -> Col:
        """
        Converts the colour to an 8-bit Col structure.
        
        :return An 8-bit Col representation of this colour.
        """
        ...

    def toHSL(self) -> Vec:
        """
        Convert the colour to HSL (Hue, Saturation, Luminance) format.
        
        :return A vector containing the hue, saturation, and luminance values of the colour.
        """
        ...

    def toNormalisedColour(self) -> Colour:
        """
        Converts the colour to normalised float form.
        
        :return A new Colour object with RGBA components limited to the range 0-1.
        """
        ...

    def toVec(self) -> Vec:
        """
        Converts the colour object to a vector.
        
        :return A vector containing the RGB components of this colour.
        """
        ...


class OpenModuleConfig(ModuleConfig):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'OpenModuleConfig'

    class Param(_BlipValue):
        null: Self
        _classInfo: 'ClassInfo'

        @property
        def connected(self) -> bool:
            ...

        @property
        def fullName(self) -> str:
            ...

        @property
        def paramId(self) -> str:
            ...

        @property
        def resource(self) -> Resource:
            ...

        @property
        def type(self) -> str:
            ...

        @property
        def value(self) -> ReflectionValue:
            ...
        @value.setter
        def value(self, value: ReflectionValue) -> None:
            ...

        def init(self, arg0: Resource, arg1: str, arg2: str, arg3: str) -> None:
            ...


    @property
    def params(self) -> List[Param]:
        ...
    @params.setter
    def params(self, value: List[Param]) -> None:
        ...

    def addParam(self, p: Param) -> bool:
        ...

    def makeParam(self, arg0: Resource, object: ReflectionValue, arg2: FieldInfo, customExpression: str) -> bool:
        ...

    def removeParam(self, fullName: str, layer: Layer) -> None:
        ...


class NotchModuleConfig(ModuleConfig):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'NotchModuleConfig'

    class Field(_BlipValue):
        null: Self
        _classInfo: 'ClassInfo'

        @property
        def containerRef(self) -> ReflectionValue:
            ...

        @property
        def enums(self) -> List[str]:
            ...
        @enums.setter
        def enums(self, value: List[str]) -> None:
            ...

        @property
        def group(self) -> str:
            ...
        @group.setter
        def group(self, value: str) -> None:
            ...

        @property
        def key(self) -> str:
            ...

        @property
        def metaMax(self) -> float:
            ...
        @metaMax.setter
        def metaMax(self, value: float) -> None:
            ...

        @property
        def metaMin(self) -> float:
            ...
        @metaMin.setter
        def metaMin(self, value: float) -> None:
            ...

        @property
        def metaStep(self) -> float:
            ...
        @metaStep.setter
        def metaStep(self, value: float) -> None:
            ...

        @property
        def name(self) -> str:
            ...
        @name.setter
        def name(self, value: str) -> None:
            ...

        @property
        def readOnly(self) -> bool:
            ...
        @readOnly.setter
        def readOnly(self, value: bool) -> None:
            ...

        @property
        def sanitizedUndecoratedName(self) -> str:
            ...

        @property
        def undecoratedName(self) -> str:
            ...
        @undecoratedName.setter
        def undecoratedName(self, value: str) -> None:
            ...

        @property
        def value(self) -> ReflectionValue:
            ...
        @value.setter
        def value(self, value: ReflectionValue) -> None:
            ...

        @property
        def valueType(self) -> Type:
            ...


    @property
    def dfx(self) -> DfxFile:
        ...
    @dfx.setter
    def dfx(self, value: DfxFile) -> None:
        ...

    def __init__(self) -> None:
        ...


class _BlipValue(object):
    """
    The base type for all d3-defined C++ types
    """


class Upgrade[T](_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class Array2[T](_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def h(self) -> int:
        ...

    def item(self, i: int, j: int) -> Vec2:
        ...

    def set(self, i: int, j: int, item: Vec2) -> None:
        ...

    def w(self) -> int:
        ...


class StatefulCatchupGroup[Type1, Type2](CatchupGroup):
    null: Self
    _classInfo: 'ClassInfo'


class MapSupport[Type1, Type2](_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class unique_ptr[T](_BlipValue):
    """
    Reflection of the std::unique_ptr class from the C++ standard library
    """

    null: Self
    _classInfo: 'ClassInfo'

    def get(self) -> SlcRegionManagement:
        """
        Returns the raw pointer to the managed object
        """
        ...


class AxisAngle[Type1, Type2](_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class TimeSequence[T](_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def clear(self) -> TimeSequence[T]:
        ...

    def find(self, t: float, exact: bool) -> int:
        ...

    def findNext(self, t: float, range: float) -> int:
        ...

    def getT(self, i: int) -> float:
        ...

    def getV(self, i: int) -> str:
        ...

    def n(self) -> int:
        ...

    def removeAtTime(self, t: float) -> None:
        ...

    def removeIndex(self, i: int) -> None:
        ...

    def set(self, t: float, v: str) -> TimeSequence[T]:
        ...

    def setV(self, i: int, v: str) -> None:
        ...


class TCallArgs[T](_BlipValue, Sequence):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self, other: TCallArgs[T]) -> None:
        """
        Copy constructor for TCallArgs
        """
        ...

    def __repr__(self) -> Any:
        """
        String representation of the arguments
        """
        ...

    def __str__(self) -> Any:
        """
        String representation of the arguments
        """
        ...


class MonitorCollection[T](_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: MonitorCollection[T]) -> None:
        """
        Copy constructor for MonitorCollection
        """
        ...

    def active(self) -> List[RemoteMonitor]:
        ...

    def all(self) -> List[RemoteMonitor]:
        ...

    def expired(self) -> List[RemoteMonitor]:
        ...

    def fuzzyMatch(self, string: str) -> MonitorCollection[T]:
        ...

    def uncategorised(self) -> MonitorCollection[T]:
        ...

    def withCategories(self, categories: List[str]) -> MonitorCollection[T]:
        ...


class RI[T](_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, rp: RI[T]) -> None:
        ...

    @overload
    def __init__(self, rp: TransportManager) -> None:
        ...

    @overload
    def __init__(self, rp: TransportManager) -> None:
        ...

    def resourceType(self) -> Type:
        ...

    def uid(self) -> int:
        ...


class ReturnParamAction[Type1, Type2](_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def clear(self) -> None:
        ...

    def set(self, callable: Callable) -> None:
        ...


class map[Type1, Type2](_BlipValue, Dict):
    """
    Reflection of the std::map class from the C++ standard library
    """

    null: Self
    _classInfo: 'ClassInfo'
    erase: Callable
    firstKey: Callable
    insert: Callable
    isLastKey: Callable
    nextKey: Callable

    @overload
    def __init__(self) -> None:
        """
        Default constructor for map
        """
        ...

    @overload
    def __init__(self, other: map[Type1, Type2]) -> None:
        """
        Copy constructor for map
        """
        ...


class TimeValue[T](_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class MapTable[Type1, Type2](_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def clear(self) -> None:
        ...


class HashTable[T](_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: HashTable[T]) -> None:
        """
        Copy constructor for HashTable
        """
        ...

    def clear(self) -> None:
        ...

    def exists(self, s: str) -> bool:
        ...

    def findSingle(self, s: str) -> int:
        ...

    def keys(self) -> List[str]:
        ...

    def replace(self, s: str, t: int) -> None:
        ...


class optional[T](_BlipValue):
    """
    Reflection of the std::optional class from the C++ standard library
    """

    null: Self
    _classInfo: 'ClassInfo'
    set: Callable

    @overload
    def __init__(self) -> None:
        """
        Default constructor for optional
        """
        ...

    @overload
    def __init__(self, arg0: std_nullopt) -> None:
        """
        Construct an optional with no value
        """
        ...

    @overload
    def __init__(self, arg0: int) -> None:
        """
        Construct an optional with a value
        """
        ...

    @overload
    def __init__(self, other: optional[T]) -> None:
        """
        Copy constructor for optional
        """
        ...

    def __bool__(self) -> bool:
        """
        Whether the optional has a valid value
        """
        ...

    def __nonzero__(self) -> bool:
        """
        Whether the optional has a valid value
        """
        ...

    def has_value(self) -> bool:
        """
        Whether the optional has a valid value
        """
        ...

    def value(self) -> int:
        """
        The value of the optional
        """
        ...

    def value_or(self, arg0: int) -> int:
        """
        Returns the value of the optional, or a provided default value if it doesn't have one
        """
        ...


class FuzzySearchItem[T](_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def item(self) -> ReflectionValue:
        ...
    @item.setter
    def item(self, value: ReflectionValue) -> None:
        ...

    @property
    def rank(self) -> int:
        ...
    @rank.setter
    def rank(self, value: int) -> None:
        ...

    @property
    def text(self) -> str:
        ...
    @text.setter
    def text(self, value: str) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, t: str, i: ReflectionValue) -> None:
        ...


class vector[T](_BlipValue, List):
    """
    Reflection of the std::vector class from the C++ standard library
    """

    null: Self
    _classInfo: 'ClassInfo'
    extend: Callable
    moveItem: Callable
    remove: Callable

    @overload
    def __init__(self) -> None:
        """
        Default constructor for vector
        """
        ...

    @overload
    def __init__(self, arg0: int) -> None:
        """
        Construct a vector at a given size
        """
        ...

    @overload
    def __init__(self, other: vector[T]) -> None:
        """
        Copy constructor for vector
        """
        ...

    def __repr__(self) -> Any:
        """
        String representation of the vector
        """
        ...

    def __str__(self) -> Any:
        """
        String representation of the vector
        """
        ...

    def append(self, arg0: List[int]) -> None:
        """
        Add a new element to the end of the vector
        """
        ...

    def insert(self, i, val) -> Any:
        """
        Insert a value at a given index in the vector
        
        :param i: The index to insert the value
        :param val: The value to insert
        """
        ...

    def resize(self, arg0: int) -> None:
        """
        Change the size of the vector
        """
        ...


class _Ptr_base[T](_BlipValue):
    """
    Reflection of the std::_Ptr_base class from the C++ standard library
    """

    null: Self
    _classInfo: 'ClassInfo'


class OptionValue[T](_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def __call__(self) -> int:
        ...


class unordered_map[Type1, Type2](_BlipValue, Dict):
    """
    Reflection of the std::unordered_map class from the C++ standard library
    """

    null: Self
    _classInfo: 'ClassInfo'
    erase: Callable
    firstKey: Callable
    insert: Callable
    isLastKey: Callable
    nextKey: Callable

    @overload
    def __init__(self) -> None:
        """
        Default constructor for unordered_map
        """
        ...

    @overload
    def __init__(self, other: unordered_map[Type1, Type2]) -> None:
        """
        Copy constructor for unordered_map
        """
        ...


class APIEventTransport(EventTransport):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'APIEventTransport'

    def __init__(self) -> None:
        ...


class AcesInputTransformParameters(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def genericCurve(self) -> int:
        """
        The curve applied in the transform, if the transform type is Generic
        
        Options: {0: 'Unused', 1: 'Linear', 2: 'sRGB', 3: 'BT1886', 4: 'Gamma18', 5: 'Gamma22', 6: 'Gamma24', 7: 'PQ', 8: 'HLG', 9: 'Gamma26'}
        """
        ...
    @genericCurve.setter
    def genericCurve(self, value: int) -> None:
        ...

    @property
    def genericSpace(self) -> int:
        """
        The input colour space of the transform, if the transform type is Generic
        
        Options: {0: 'Unused', 1: 'AP0', 2: 'AP1', 3: 'sRGB', 4: 'BT1886', 5: 'P3DCI', 6: 'P3D65'}
        """
        ...
    @genericSpace.setter
    def genericSpace(self, value: int) -> None:
        ...

    @property
    def type(self) -> int:
        """
        The type of the ACES input transform
        
        Options: {0: 'ACES', 1: 'ACEScc', 2: 'ACEScct', 3: 'ACEScg', 4: 'ADX10', 5: 'ADX16', 6: 'Alexa_EI400', 7: 'Alexa_EI800', 8: 'Canon_EOS_C100_Daylight', 9: 'Canon_EOS_C100_Tungsten', 10: 'Canon_EOS_C100_Mark_II_Daylight', 11: 'Canon_EOS_C100_Mark_II_Tungsten', 12: 'Canon_EOS_C200_CanonLog2_Daylight_Rec2020', 13: 'Canon_EOS_C200_CanonLog2_Tungsten_Rec2020', 14: 'Canon_EOS_C200_CanonLog2_Daylight_Cinema', 15: 'Canon_EOS_C200_CanonLog2_Tungsten_Cinema', 16: 'Canon_EOS_C200_CanonLog3_Daylight_Rec709', 17: 'Canon_EOS_C200_CanonLog3_Tungsten_Rec709', 18: 'Canon_EOS_C200_CanonLog3_Daylight_Rec2020', 19: 'Canon_EOS_C200_CanonLog3_Tungsten_Rec2020', 20: 'Canon_EOS_C200_CanonLog3_Daylight_Cinema', 21: 'Canon_EOS_C200_CanonLog3_Tungsten_Cinema', 22: 'Canon_EOS_C300_Daylight', 23: 'Canon_EOS_C300_Tungsten', 24: 'Canon_EOS_C300_Mark_II_CanonLog_Daylight_Rec2020', 25: 'Canon_EOS_C300_Mark_II_CanonLog_Tungsten_Rec2020', 26: 'Canon_EOS_C300_Mark_II_CanonLog_Daylight_Cinema', 27: 'Canon_EOS_C300_Mark_II_CanonLog_Tungsten_Cinema', 28: 'Canon_EOS_C300_Mark_II_CanonLog2_Daylight_Rec2020', 29: 'Canon_EOS_C300_Mark_II_CanonLog2_Tungsten_Rec2020', 30: 'Canon_EOS_C300_Mark_II_CanonLog2_Daylight_Cinema', 31: 'Canon_EOS_C300_Mark_II_CanonLog2_Tungsten_Cinema', 32: 'Canon_EOS_C500_Daylight_Rec709', 33: 'Canon_EOS_C500_Tungsten_Rec709', 34: 'Canon_EOS_C500_Daylight_DCIP3', 35: 'Canon_EOS_C500_Tungsten_DCIP3', 36: 'Canon_EOS_C500_Daylight_Cinema', 37: 'Canon_EOS_C500_Tungsten_Cinema', 38: 'Canon_EOS_C700_CanonLog_Daylight_Rec2020', 39: 'Canon_EOS_C700_CanonLog_Tungsten_Rec2020', 40: 'Canon_EOS_C700_CanonLog_Daylight_Cinema', 41: 'Canon_EOS_C700_CanonLog_Tungsten_Cinema', 42: 'Canon_EOS_C700_CanonLog2_Daylight_Rec2020', 43: 'Canon_EOS_C700_CanonLog2_Tungsten_Rec2020', 44: 'Canon_EOS_C700_CanonLog2_Daylight_Cinema', 45: 'Canon_EOS_C700_CanonLog2_Tungsten_Cinema', 46: 'Canon_EOS_C700_CanonLog3_Daylight_Rec2020', 47: 'Canon_EOS_C700_CanonLog3_Tungsten_Rec2020', 48: 'Canon_EOS_C700_CanonLog3_Daylight_Cinema', 49: 'Canon_EOS_C700_CanonLog3_Tungsten_Cinema', 50: 'DCDM', 51: 'DCDM_P3D65_Limited', 52: 'P3DCI_D60sim', 53: 'P3DCI_D65sim', 54: 'Panasonic_V35', 55: 'Rec2020', 56: 'Rec2020_HLG_1000nits', 57: 'Rec2020_ST2084_1000nits', 58: 'Rec2020_ST2084_2000nits', 59: 'Rec2020_ST2084_4000nits', 60: 'Rec709', 61: 'Rec709_D60sim', 62: 'Rec709_Limited', 63: 'RedWideGamutLog3G10', 64: 'Sony_Slog1', 65: 'Sony_Slog2_Daylight', 66: 'Sony_Slog2_Tungsten', 67: 'Sony_Slog3_SGamut3', 68: 'Sony_Slog3_SGamut3Cine', 69: 'sRGB', 70: 'sRGBD60sim', 71: 'sRGBLinear', 72: 'P3D65_ST2084_108nits', 73: 'P3D65_ST2084_1000nits', 74: 'P3D65_ST2084_2000nits', 75: 'P3D65_ST2084_4000nits', 76: 'Utility_sRGB_Linear', 77: 'Utility_sRGB_Texture', 78: 'Utility_IDT_P3D65_ST2084', 79: 'Generic', 80: 'IDT_BMFG5', 81: 'Arri_LogCv4'}
        """
        ...
    @type.setter
    def type(self, value: int) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, rhs: AcesInputTransformParameters) -> None:
        ...

    @overload
    def __init__(self, type: int, genericSpace: int, genericCurve: int) -> None:
        ...


class AcesOutputTransformParameters(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def genericCurve(self) -> int:
        """
        The curve applied in the transform, if the transform type is Generic
        
        Options: {0: 'Unused', 1: 'Linear', 2: 'sRGB', 3: 'BT1886', 4: 'Gamma18', 5: 'Gamma22', 6: 'Gamma24', 7: 'PQ', 8: 'HLG', 9: 'Gamma26'}
        """
        ...
    @genericCurve.setter
    def genericCurve(self, value: int) -> None:
        ...

    @property
    def genericSpace(self) -> int:
        """
        The output colour space of the transform, if the transform type is Generic
        
        Options: {0: 'Unused', 1: 'AP0', 2: 'AP1', 3: 'sRGB', 4: 'BT1886', 5: 'P3DCI', 6: 'P3D65'}
        """
        ...
    @genericSpace.setter
    def genericSpace(self, value: int) -> None:
        ...

    @property
    def type(self) -> int:
        """
        The type of the ACES output transform
        
        Options: {0: 'ACES', 1: 'ACEScc', 2: 'ACEScct', 3: 'ACEScg', 4: 'DCDM', 5: 'DCDM_P3D65_Limited', 6: 'P3DCI_D60sim', 7: 'P3DCI_D65sim', 8: 'Rec2020', 9: 'Rec2020_HLG_1000nits', 10: 'Rec2020_ST2084_1000nits', 11: 'Rec2020_ST2084_2000nits', 12: 'Rec2020_ST2084_4000nits', 13: 'Rec709', 14: 'Rec709_D60sim', 15: 'Rec709_Legal', 16: 'sRGB', 17: 'sRGBD60sim', 18: 'sRGBLinear', 19: 'P3D65_ST2084_108nits', 20: 'P3D65_ST2084_1000nits', 21: 'P3D65_ST2084_2000nits', 22: 'P3D65_ST2084_4000nits', 23: 'Utility_ODT_P3D65_ST2084', 24: 'Generic', 25: 'ODT_BMFG5', 26: 'RedWideGamutLog3G10'}
        """
        ...
    @type.setter
    def type(self, value: int) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, rhs: AcesOutputTransformParameters) -> None:
        ...

    @overload
    def __init__(self, type: int, genericSpace: int, genericCurve: int) -> None:
        ...


class ActionInfo(ReflectionAttributeContainer):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def returnType(self) -> Type:
        ...

    def call(self, inst: ReflectionValue) -> None:
        ...


class ActiveEditorManager(Resource):
    """
    Manages active GUI editor windows for Resources.
    
    All machines need to check if it's OK to open an editor window
    for a certain Resource. They know this, because all machines share
    a list of the Resource Editors that they have open.
    This is only required for editor windows that are exclusive across a session
    on the d3net.
    """

    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ActiveEditorManager'

    def activeGuiEditors(self, res: Resource) -> List[str]:
        ...

    def sendActiveGuiEditor(self, res: Resource, onOff: bool) -> None:
        ...


class ActiveIPVideoInGroup(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ActiveIPVideoInGroup'

    @property
    def activeIPVideoInGroup(self) -> List[PersistentIPVideoIn]:
        ...
    @activeIPVideoInGroup.setter
    def activeIPVideoInGroup(self, value: List[PersistentIPVideoIn]) -> None:
        ...

    def __init__(self) -> None:
        ...

    def identifiers(self) -> List[HardwareVideoInIdentifier]:
        ...


class ActiveScreenRegion(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ActiveScreenRegion'

    @property
    def Display(self) -> Display:
        ...
    @Display.setter
    def Display(self, value: Display) -> None:
        ...

    @property
    def Rect(self) -> Rect:
        ...
    @Rect.setter
    def Rect(self, value: Rect) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for ActiveScreenRegion
        """
        ...


class ActiveStreams(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class ActiveWorkload(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def instanceStreams(self, iInstance: int) -> List[StreamObject]:
        ...


class ActivityMonitor(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class AgileCamera(CameraDevice):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AgileCamera'

    @property
    def address(self) -> int:
        """
        The device ID in which to send commands to. Use 255 to broadcast. Also set IP in UDP device to 255.255.255.255 so messages are also broadcast.
        
        UserName: Address
        """
        ...
    @address.setter
    def address(self, value: int) -> None:
        ...

    @property
    def cameraModel(self) -> int:
        """
        Select the type of camera that supports the Agile UBus protocol.
        
        Options: {0: 'ARC360'}
        UserName: Camera model
        """
        ...
    @cameraModel.setter
    def cameraModel(self, value: int) -> None:
        ...

    @property
    def control_device(self) -> ControlDevice:
        """
        UserName: Control device
        """
        ...
    @control_device.setter
    def control_device(self, value: ControlDevice) -> None:
        ...

    @property
    def debugMode(self) -> bool:
        ...
    @debugMode.setter
    def debugMode(self, value: bool) -> None:
        ...

    @property
    def invertPan(self) -> int:
        """
        Flips value sent to camera during jog for pan axis
        
        Options: {0: 'Normal', 1: 'Inverted'}
        UserName: Invert pan
        """
        ...
    @invertPan.setter
    def invertPan(self, value: int) -> None:
        ...

    @property
    def invertTilt(self) -> int:
        """
        Flips value sent to camera during jog for tilt axis
        
        Options: {0: 'Normal', 1: 'Inverted'}
        UserName: Invert tilt
        """
        ...
    @invertTilt.setter
    def invertTilt(self, value: int) -> None:
        ...

    @property
    def invertZoom(self) -> int:
        """
        Flips value sent to camera during jog for zoom
        
        Options: {0: 'Normal', 1: 'Inverted'}
        UserName: Invert zoom
        """
        ...
    @invertZoom.setter
    def invertZoom(self, value: int) -> None:
        ...

    def sendChangeAddressCommand(self, newAddress: int) -> None:
        ...

    def sendPTZJoystickCommand(self, pan: float, tilt: float, zoom: float) -> None:
        ...

    def sendRecallPresetCommand(self, preset: int) -> None:
        ...

    def sendSavePresetCommand(self, preset: int) -> None:
        ...


class AlertNotificationSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    class RemoteMessageState(_BlipValue):
        null: Self
        _classInfo: 'ClassInfo'


    class AlertsAndNotifications(_BlipValue):
        null: Self
        _classInfo: 'ClassInfo'


    @property
    def nodes(self) -> List[str]:
        ...

    def __init__(self) -> None:
        """
        Default constructor for AlertNotificationSystem
        """
        ...

    def overlayMessage(self, message: str, displayTime: float = 5, verbose: bool = True) -> None:
        ...


class AlignmentCoordinate(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AlignmentCoordinate'

    @property
    def cam(self) -> str:
        ...
    @cam.setter
    def cam(self, value: str) -> None:
        ...

    @property
    def coordinate(self) -> Vec2:
        ...
    @coordinate.setter
    def coordinate(self, value: Vec2) -> None:
        ...


class AlignmentData(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AlignmentData'

    @property
    def alignPos(self) -> Vec:
        ...
    @alignPos.setter
    def alignPos(self, value: Vec) -> None:
        ...

    @property
    def alignRot(self) -> Vec:
        ...
    @alignRot.setter
    def alignRot(self, value: Vec) -> None:
        ...

    @property
    def alignScale(self) -> float:
        ...
    @alignScale.setter
    def alignScale(self, value: float) -> None:
        ...

    @property
    def alignmentPointsToCoordinates(self) -> List[AlignmentPointToCoordinates]:
        ...
    @alignmentPointsToCoordinates.setter
    def alignmentPointsToCoordinates(self, value: List[AlignmentPointToCoordinates]) -> None:
        ...

    @property
    def masterScreen(self) -> Object:
        ...
    @masterScreen.setter
    def masterScreen(self, screen: Object) -> None:
        ...

    @property
    def nonUniformReshapeScaling(self) -> bool:
        ...
    @nonUniformReshapeScaling.setter
    def nonUniformReshapeScaling(self, value: bool) -> None:
        ...

    @property
    def reshapeAlgorithm(self) -> int:
        ...
    @reshapeAlgorithm.setter
    def reshapeAlgorithm(self, value: int) -> None:
        ...

    @property
    def screenScaling(self) -> bool:
        ...
    @screenScaling.setter
    def screenScaling(self, value: bool) -> None:
        ...

    @property
    def secondaryAlignmentScreens(self) -> List[Object]:
        ...

    def addAlignmentCoordinate(self, aptc: AlignmentPointToCoordinates, coord: Vec2, cam: str) -> None:
        ...

    def addAlignmentPoint(self, cameraMats: CameraMats, coord: Vec2, scr: Object, isDeformPoint: bool, uiViewScale: float) -> int:
        ...

    def filterAlignmentPointsToCoordinates(self, camName: str, scr: Object, includeUnalignedPoints: bool) -> List[int]:
        ...

    def getAlignmentPointCoordsFromCam(self, camName: str, scr: Object, cm: CameraMats, includeUnalignedPoints: bool) -> List[Vec2]:
        ...

    def getAlignmentScreens(self, camName: str) -> List[Object]:
        ...

    def getAlignmentScreensWithChangedMeshes(self) -> List[Object]:
        ...

    def importReferencePoints(self) -> List[str]:
        ...

    def isBasePose(self) -> bool:
        ...

    def multiStageDeleteAlignmentPoint(self, aptc: AlignmentPointToCoordinates, camName: str) -> None:
        ...

    def resetAllScreensAlignmentData(self) -> None:
        ...

    def resetScreenAlignmentData(self, scr: Object) -> None:
        ...


class AlignmentDataPose(AlignmentData):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AlignmentDataPose'

    @property
    def automationAxisValues(self) -> List[AutomationAxisValue]:
        ...
    @automationAxisValues.setter
    def automationAxisValues(self, value: List[AutomationAxisValue]) -> None:
        ...

    def automationAxisValuesForScreen(self, screen: Object) -> List[AutomationAxisValue]:
        ...

    def namePrefix(self) -> str:
        ...

    def setAutomationValues(self) -> None:
        ...

    def setMax(self, screen: Object) -> None:
        ...

    def setMin(self, screen: Object) -> None:
        ...


class AlignmentPair(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AlignmentPair'

    def __init__(self) -> None:
        """
        Default constructor for AlignmentPair
        """
        ...


class AlignmentPoint(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AlignmentPoint'

    @property
    def iVert(self) -> int:
        ...
    @iVert.setter
    def iVert(self, value: int) -> None:
        ...

    @property
    def isDeformPoint(self) -> bool:
        ...
    @isDeformPoint.setter
    def isDeformPoint(self, value: bool) -> None:
        ...

    @property
    def label(self) -> str:
        ...
    @label.setter
    def label(self, value: str) -> None:
        ...

    @property
    def meshName(self) -> str:
        ...
    @meshName.setter
    def meshName(self, value: str) -> None:
        ...

    @property
    def screen(self) -> Object:
        ...
    @screen.setter
    def screen(self, value: Object) -> None:
        ...

    def getMobileCamSpacePosOfVert(self, cm: CameraMats, localToWorld: Mat) -> Vec2:
        ...

    def hasMeshChanged(self, notify: bool) -> bool:
        ...


class AlignmentPointToCoordinates(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AlignmentPointToCoordinates'

    @property
    def alignmentCoordinates(self) -> List[AlignmentCoordinate]:
        ...
    @alignmentCoordinates.setter
    def alignmentCoordinates(self, value: List[AlignmentCoordinate]) -> None:
        ...

    @property
    def alignmentPoint(self) -> AlignmentPoint:
        """
        UserName: Alignment Point
        """
        ...
    @alignmentPoint.setter
    def alignmentPoint(self, value: AlignmentPoint) -> None:
        ...


class AllowNullAttribute(ReflectionAttributeT):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def allowed(self) -> bool:
        ...

    @property
    def nullString(self) -> str:
        ...


class AnalogWayOPS300(DVIMatrix):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AnalogWayOPS300'

    @property
    def IP_address(self) -> str:
        """
        UserName: IP address
        """
        ...
    @IP_address.setter
    def IP_address(self, value: str) -> None:
        ...

    @property
    def port(self) -> int:
        """
        UserName: Port
        """
        ...
    @port.setter
    def port(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class AnimateCamera(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AnimateCameraControl'

    @property
    def camera(self) -> Camera:
        """
        Camera to animate, local visualiser if None
        
        UserName: Camera
        """
        ...
    @camera.setter
    def camera(self, value: Camera) -> None:
        ...

    @property
    def camera_locked(self) -> int:
        """
        Options: {0: 'When playing', 1: 'Always'}
        UserName: Lock camera
        """
        ...
    @camera_locked.setter
    def camera_locked(self, value: int) -> None:
        ...

    @property
    def camera_pivot(self) -> Vec:
        """
        UserName: Camera pivot
        """
        ...
    @camera_pivot.setter
    def camera_pivot(self, value: Vec) -> None:
        ...

    @property
    def camera_rotation(self) -> Vec:
        """
        UserName: Camera rotation
        """
        ...
    @camera_rotation.setter
    def camera_rotation(self, value: Vec) -> None:
        ...

    @property
    def distance_from_pivot(self) -> float:
        """
        UserName: Distance from pivot
        """
        ...
    @distance_from_pivot.setter
    def distance_from_pivot(self, value: float) -> None:
        ...

    @property
    def isVirtualCamera(self) -> bool:
        ...

    @property
    def replaceFovWithZoomScale(self) -> bool:
        ...

    @property
    def view_angle(self) -> float:
        """
        UserName: Field of view
        """
        ...
    @view_angle.setter
    def view_angle(self, value: float) -> None:
        ...

    @property
    def virtual_camera_coordinates(self) -> int:
        """
        Apply virtual camera position and rotation offsets relative to parent camera, or in global coordinate space.
        
        Options: {0: 'Relative', 1: 'Global'}
        UserName: Coordinate system
        """
        ...
    @virtual_camera_coordinates.setter
    def virtual_camera_coordinates(self, value: int) -> None:
        ...

    @property
    def virtual_camera_zoom(self) -> float:
        """
        Gain applied to focal length of parent camera to give virtual zoom in or out.
        
        UserName: Zoom scale
        """
        ...
    @virtual_camera_zoom.setter
    def virtual_camera_zoom(self, value: float) -> None:
        ...


class AnimateCamera2(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AnimateCameraPreset'

    @property
    def camera(self) -> Camera:
        """
        Camera to animate, local visualiser if None
        
        UserName: Camera
        """
        ...
    @camera.setter
    def camera(self, value: Camera) -> None:
        ...

    @property
    def camera_locked(self) -> int:
        """
        Options: {0: 'When playing', 1: 'Always'}
        UserName: Lock camera
        """
        ...
    @camera_locked.setter
    def camera_locked(self, value: int) -> None:
        ...

    @property
    def position(self) -> CameraPosition:
        """
        UserName: Position
        """
        ...
    @position.setter
    def position(self, value: CameraPosition) -> None:
        ...

    def __init__(self) -> None:
        ...


class AnimationAxisSettings(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'FrameOfReference'

    @property
    def customScale(self) -> float:
        """
        User defined scale applied in external system coordinates to the object, before any translation
        
        UserName: Custom scale
        """
        ...
    @customScale.setter
    def customScale(self, value: float) -> None:
        ...

    @property
    def directionX(self) -> int:
        """
        The direction of travel of the object when X values increase in the external system
        
        Options: {0: 'Stage Left', 1: 'Stage Right', 2: 'Up', 3: 'Down', 4: 'Upstage', 5: 'Downstage'}
        UserName: +ve X
        """
        ...
    @directionX.setter
    def directionX(self, value: int) -> None:
        ...

    @property
    def directionY(self) -> int:
        """
        The direction of travel of the object when Y values increase in the external system
        
        Options: {0: 'Stage Left', 1: 'Stage Right', 2: 'Up', 3: 'Down', 4: 'Upstage', 5: 'Downstage'}
        UserName: +ve Y
        """
        ...
    @directionY.setter
    def directionY(self, value: int) -> None:
        ...

    @property
    def directionZ(self) -> int:
        """
        The direction of travel of the object when Z values increase in the external system
        
        Options: {0: 'Stage Left', 1: 'Stage Right', 2: 'Up', 3: 'Down', 4: 'Upstage', 5: 'Downstage'}
        UserName: +ve Z
        """
        ...
    @directionZ.setter
    def directionZ(self, value: int) -> None:
        ...

    @property
    def invertXRotation(self) -> bool:
        """
        UserName: Invert X rotation
        """
        ...
    @invertXRotation.setter
    def invertXRotation(self, value: bool) -> None:
        ...

    @property
    def invertYRotation(self) -> bool:
        """
        UserName: Invert Y rotation
        """
        ...
    @invertYRotation.setter
    def invertYRotation(self, value: bool) -> None:
        ...

    @property
    def invertZRotation(self) -> bool:
        """
        UserName: Invert Z rotation
        """
        ...
    @invertZRotation.setter
    def invertZRotation(self, value: bool) -> None:
        ...

    @property
    def localOffset(self) -> Vec:
        """
        Offset applied in external system coordinates to the object, before any rotation
        
        UserName: Local offset
        """
        ...
    @localOffset.setter
    def localOffset(self, value: Vec) -> None:
        ...

    @property
    def localPos(self) -> Vec:
        """
        Rotation pivot point, in external system coordinates
        
        UserName: Local rotation pivot
        """
        ...
    @localPos.setter
    def localPos(self, value: Vec) -> None:
        ...

    @property
    def localRot(self) -> Vec:
        """
        Rotation applied in external system coordinates entirely before the tracked rotation
        
        UserName: Local rotation
        """
        ...
    @localRot.setter
    def localRot(self, value: Vec) -> None:
        ...

    @property
    def stagePos(self) -> Vec:
        """
        Object position when the external system is at position 0
        
        UserName: Stage offset
        """
        ...
    @stagePos.setter
    def stagePos(self, value: Vec) -> None:
        ...

    @property
    def stageRot(self) -> Vec:
        """
        Object rotation when the external system is at rotation 0. Note that the directions specified above cross over with this setting
        
        UserName: Stage rotation
        """
        ...
    @stageRot.setter
    def stageRot(self, value: Vec) -> None:
        ...

    @property
    def units(self) -> int:
        """
        Linear distance measurement units supplied by the external system
        
        Options: {0: 'Meters', 1: 'Centimeters', 2: 'Millimeters', 3: 'Feet', 4: 'Inches', 5: 'Custom'}
        UserName: Units
        """
        ...
    @units.setter
    def units(self, u: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class AnimationModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AnimationModule'

    def __init__(self) -> None:
        ...


class AnyKeyManipulatorSelector(ManipulatorSelector):
    null: Self
    _classInfo: 'ClassInfo'

    def selectManipulator(self, key: int) -> None:
        ...


class App(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'App'

    def __init__(self) -> None:
        ...


class ArrayBoxProperty(ValueBoxProperty):
    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self, object: ReflectionValue, arg1: FieldInfo, index: int) -> None:
        ...

    @overload
    def __init__(self, other: ArrayBoxProperty) -> None:
        ...


class Arrow(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Arrow'

    @property
    def conflicted(self) -> bool:
        ...

    @property
    def dest(self) -> Layer:
        ...

    @property
    def destUid(self) -> int:
        ...
    @destUid.setter
    def destUid(self, value: int) -> None:
        ...

    @property
    def isValid(self) -> bool:
        ...

    @property
    def src(self) -> Layer:
        ...

    @property
    def srcUid(self) -> int:
        ...
    @srcUid.setter
    def srcUid(self, value: int) -> None:
        ...

    @property
    def t(self) -> float:
        ...


class ArrowSourceData(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def dataGetter(self) -> Callable:
        ...
    @dataGetter.setter
    def dataGetter(self, value: Callable) -> None:
        ...

    @property
    def format(self) -> str:
        ...
    @format.setter
    def format(self, value: str) -> None:
        ...


class ArtNetDmxUniverseState(IDataState):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def universe(self) -> int:
        ...

    def copyDmxData(self) -> List[int]:
        ...


class ArtNetSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class AssetData(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def frameIndex(self) -> int:
        ...
    @frameIndex.setter
    def frameIndex(self, value: int) -> None:
        ...

    @property
    def path(self) -> str:
        ...
    @path.setter
    def path(self, value: str) -> None:
        ...

    @property
    def proxyLevel(self) -> int:
        ...
    @proxyLevel.setter
    def proxyLevel(self, value: int) -> None:
        ...

    @property
    def region(self) -> str:
        ...
    @region.setter
    def region(self, value: str) -> None:
        ...

    @property
    def replaceFrames(self) -> bool:
        ...
    @replaceFrames.setter
    def replaceFrames(self, value: bool) -> None:
        ...

    @property
    def version(self) -> str:
        ...
    @version.setter
    def version(self, value: str) -> None:
        ...

    @overload
    def __init__(self) -> None:
        """
        Default constructor for AssetData
        """
        ...

    @overload
    def __init__(self, other: AssetData) -> None:
        """
        Copy constructor for AssetData
        """
        ...


class AssetInfo(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def engine(self) -> str:
        ...

    @property
    def name(self) -> str:
        ...


class AssetLauncher(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class AssistantEventLogger(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class AsyncBlobDetectorHelper(_BlipValue):
    """
    Helper class for blob detection in OmniCal "Setup Capture" etc
    """

    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...

    def beginDetection(self, setup: OptiCalCaptureSetup, loadMode: bool) -> None:
        ...

    def beginFiltering(self, blobDetectionSettings: BlobDetectionSettings) -> None:
        ...

    def cancel(self) -> None:
        ...

    def getBlobStatsTable(self) -> List[BlobObservationCount]:
        ...

    def getBlobs(self) -> PerCameraBlobs:
        ...

    def getCaptureSettings(self) -> CaptureSettings:
        ...

    def getUnfilteredBlobs(self) -> PerCameraBlobs:
        ...

    def isBusy(self) -> bool:
        ...


class AudioAnalyser(Device):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AudioAnalyser'

    @property
    def lines(self) -> List[AudioLine]:
        """
        UserName: Lines
        """
        ...
    @lines.setter
    def lines(self, value: List[AudioLine]) -> None:
        ...

    def __init__(self) -> None:
        ...


class AudioFile(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AudioFile'

    @property
    def header(self) -> AudioInfo:
        ...
    @header.setter
    def header(self, value: AudioInfo) -> None:
        ...

    @property
    def ingestionDate(self) -> DateStamp:
        ...
    @ingestionDate.setter
    def ingestionDate(self, value: DateStamp) -> None:
        ...


class AudioFileHeader(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AudioFileHeader'

    @property
    def codecInfo(self) -> str:
        """
        The native format of the hardware or software buffer that will be used to play this track
        """
        ...
    @codecInfo.setter
    def codecInfo(self, value: str) -> None:
        ...

    @property
    def codecName(self) -> str:
        ...
    @codecName.setter
    def codecName(self, value: str) -> None:
        ...

    @property
    def duration(self) -> float:
        ...

    @property
    def nChannels(self) -> int:
        ...
    @nChannels.setter
    def nChannels(self, value: int) -> None:
        ...

    @property
    def nSamples(self) -> int:
        ...
    @nSamples.setter
    def nSamples(self, value: int) -> None:
        ...

    @property
    def sampleRate(self) -> int:
        ...
    @sampleRate.setter
    def sampleRate(self, value: int) -> None:
        ...


class AudioFilePlayer(AudioPlayer):
    null: Self
    _classInfo: 'ClassInfo'


class AudioHardwareIdentifier(HardwareIdentifier):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AudioHardwareIdentifier'

    @property
    def allChannelNames(self) -> List[str]:
        ...
    @allChannelNames.setter
    def allChannelNames(self, value: List[str]) -> None:
        ...

    @property
    def defaultSampleRate(self) -> int:
        ...
    @defaultSampleRate.setter
    def defaultSampleRate(self, value: int) -> None:
        ...

    @property
    def deviceId(self) -> str:
        ...
    @deviceId.setter
    def deviceId(self, value: str) -> None:
        ...

    @property
    def sampleRate(self) -> int:
        ...
    @sampleRate.setter
    def sampleRate(self, value: int) -> None:
        ...


class AudioInfo(MediaInfo):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def codecInfo(self) -> str:
        ...
    @codecInfo.setter
    def codecInfo(self, value: str) -> None:
        ...

    @property
    def codecName(self) -> str:
        ...
    @codecName.setter
    def codecName(self, value: str) -> None:
        ...

    @property
    def duration(self) -> float:
        """
        UserName: Duration
        """
        ...

    @property
    def nChannels(self) -> int:
        ...
    @nChannels.setter
    def nChannels(self, value: int) -> None:
        ...

    @property
    def nSamples(self) -> int:
        """
        The total number of sample in the audio
        """
        ...
    @nSamples.setter
    def nSamples(self, value: int) -> None:
        ...

    @property
    def sampleRate(self) -> int:
        ...
    @sampleRate.setter
    def sampleRate(self, value: int) -> None:
        ...


class AudioLine(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AudioLine'

    @property
    def gain(self) -> float:
        """
        Input signal level is multiplied by this number; 1 is normal
        
        UserName: Gain
        """
        ...
    @gain.setter
    def gain(self, value: float) -> None:
        ...

    @property
    def iLine(self) -> int:
        """
        Select a physical audio input line
        
        UserName: Line
        """
        ...
    @iLine.setter
    def iLine(self, value: int) -> None:
        ...

    @property
    def lineNames(self) -> List[str]:
        ...
    @lineNames.setter
    def lineNames(self, value: List[str]) -> None:
        ...

    def __init__(self) -> None:
        ...

    def changeRenderType(self) -> None:
        ...

    def render(self) -> None:
        ...

    def texture(self) -> DxTexture:
        ...


class AudioLink(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AudioLink'

    @property
    def decay(self) -> float:
        ...
    @decay.setter
    def decay(self, value: float) -> None:
        ...

    @property
    def from_(self) -> int:
        ...
    @from_.setter
    def from_(self, value: int) -> None:
        ...

    @property
    def line(self) -> AudioLine:
        ...
    @line.setter
    def line(self, value: AudioLine) -> None:
        ...

    @property
    def mode(self) -> int:
        """
        Options: {0: 'off', 1: 'raw', 2: 'fft', 3: 'pitch'}
        """
        ...
    @mode.setter
    def mode(self, value: int) -> None:
        ...

    @property
    def to(self) -> int:
        ...
    @to.setter
    def to(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class AudioModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AudioModule'

    @property
    def at_end_point(self) -> int:
        """
        Options: {0: 'Loop', 1: 'Pause'}
        Category: Media
        UserName: At end point
        """
        ...
    @at_end_point.setter
    def at_end_point(self, value: int) -> None:
        ...

    @property
    def balance(self) -> float:
        """
        Category: Audio
        UserName: Balance
        """
        ...
    @balance.setter
    def balance(self, value: float) -> None:
        ...

    @property
    def mode(self) -> int:
        """
        Options: {0: 'Normal', 1: 'Locked'}
        Category: Media
        UserName: Mode
        """
        ...
    @mode.setter
    def mode(self, value: int) -> None:
        ...

    @property
    def output(self) -> LogicalAudioOutDevice:
        """
        Logical audio device that the audio will play from
        
        Category: Audio
        UserName: Output
        """
        ...
    @output.setter
    def output(self, value: LogicalAudioOutDevice) -> None:
        ...

    @property
    def track(self) -> AudioTrack:
        """
        The audio track to play
        
        Category: Media
        UserName: Audio
        """
        ...
    @track.setter
    def track(self, value: AudioTrack) -> None:
        ...

    @property
    def transition_time(self) -> float:
        """
        Category: Media
        UserName: Transition time
        """
        ...
    @transition_time.setter
    def transition_time(self, value: float) -> None:
        ...

    @property
    def volume(self) -> float:
        """
        Category: Audio
        UserName: Volume
        """
        ...
    @volume.setter
    def volume(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for AudioModule
        """
        ...

    def prevPlayerAudibility(self) -> float:
        ...


class AudioOutDevice(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AudioOutDevice'

    def __init__(self) -> None:
        """
        Default constructor for AudioOutDevice
        """
        ...


class AudioOutDeviceMap(DeviceMap):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AudioOutDeviceMap'

    def __init__(self) -> None:
        """
        Default constructor for AudioOutDeviceMap
        """
        ...


class AudioOutDeviceMap2(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AudioOutDeviceMap2'

    @property
    def hardware(self) -> List[AudioHardwareIdentifier]:
        """
        List of all available (plus old, if still mapped) hardware on this machine
        """
        ...
    @hardware.setter
    def hardware(self, value: List[AudioHardwareIdentifier]) -> None:
        ...

    @property
    def mappings(self) -> List[Mapping]:
        """
        List of active LogicalDevice -> (hardwareId + channelMap) mappings for this machine
        """
        ...
    @mappings.setter
    def mappings(self, value: List[Mapping]) -> None:
        ...

    def audioDelayFor(self, device: LogicalDevice) -> float:
        ...

    def changeSampleRate(self, hardwareId: str, sampleRate: int) -> None:
        ...

    def channelMapFor(self, device: LogicalDevice) -> List[int]:
        ...

    def findHardware(self, device: LogicalDevice) -> AudioHardwareIdentifier:
        ...

    def getHardwareDevices(self) -> List[AudioHardwareIdentifier]:
        ...

    def setMapping(self, device: LogicalDevice, hardwareId: str, channelMap: List[int], audioDelay: float) -> None:
        ...


class AudioOutputs(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AudioOutputs'

    @property
    def outputs(self) -> List[LogicalAudioOutDevice]:
        ...
    @outputs.setter
    def outputs(self, value: List[LogicalAudioOutDevice]) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for AudioOutputs
        """
        ...


class AudioPlayer(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class AudioPlayerThread(Thread):
    null: Self
    _classInfo: 'ClassInfo'


class AudioPlayer_Impl(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class AudioSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...

    def maxNumberOfPatches(self) -> int:
        ...


class AudioTrack(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AudioTrack'

    class Marker(_BlipValue):
        null: Self
        _classInfo: 'ClassInfo'

        @property
        def beat(self) -> float:
            ...
        @beat.setter
        def beat(self, value: float) -> None:
            ...

        @property
        def time(self) -> float:
            ...
        @time.setter
        def time(self, value: float) -> None:
            ...


    class OldMarker(_BlipValue):
        null: Self
        _classInfo: 'ClassInfo'

        @property
        def beat(self) -> float:
            ...
        @beat.setter
        def beat(self, value: float) -> None:
            ...

        @property
        def time(self) -> float:
            ...
        @time.setter
        def time(self, value: float) -> None:
            ...


    @property
    def audioFile(self) -> AudioFile:
        """
        UserName: AudioFile
        """
        ...
    @audioFile.setter
    def audioFile(self, value: AudioFile) -> None:
        ...

    @property
    def filename(self) -> str:
        ...

    @property
    def header(self) -> AudioInfo:
        ...

    @property
    def iPivotBeat(self) -> float:
        ...
    @iPivotBeat.setter
    def iPivotBeat(self, value: float) -> None:
        ...

    @property
    def markers(self) -> List[Marker]:
        ...
    @markers.setter
    def markers(self, value: List[Marker]) -> None:
        ...

    @property
    def nBeatsPerLoop(self) -> float:
        ...
    @nBeatsPerLoop.setter
    def nBeatsPerLoop(self, value: float) -> None:
        ...

    @property
    def stereoOption(self) -> int:
        """
        Options: {0: 'Both', 1: 'Left Only', 2: 'Right Only'}
        UserName: Play channels
        """
        ...
    @stereoOption.setter
    def stereoOption(self, option: int) -> None:
        ...


class AudioWaveform(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class AutoFilter3Monitor(MetricMonitor):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AutoFilter3Monitor'

    def __init__(self) -> None:
        """
        Default constructor for AutoFilter3Monitor
        """
        ...


class AutoProfiler(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class AutoSoftEdgeMaterial(ProjectorViewMaterial):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class AutoSoftEdgeProfile(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AutoSoftEdgeProfile'
    DEFAULT_GRAPH_HEIGHT: Final = 200
    DEFAULT_GRAPH_WIDTH: Final = 340

    @property
    def autoSoftEdgeAlpha(self) -> float:
        """
        Controls the brightness of centre of the blended region
        
        Category: Black Level Curve
        UserName: Black level of centre
        """
        ...
    @autoSoftEdgeAlpha.setter
    def autoSoftEdgeAlpha(self, value: float) -> None:
        ...

    @property
    def autoSoftEdgeGamma(self) -> float:
        """
        Set this to match the gamma curve of physical projectors
        
        Category: Fundamentals
        UserName: Gamma
        """
        ...
    @autoSoftEdgeGamma.setter
    def autoSoftEdgeGamma(self, value: float) -> None:
        ...

    @property
    def autoSoftEdgePower(self) -> float:
        """
        Controls the shape of the brightness curve of blended region.
        (1.0 is recommended for camera tracking, 2.0 is recommended for smoother blend).
        
        Category: Black Level Curve
        UserName: Black level curve power
        """
        ...
    @autoSoftEdgePower.setter
    def autoSoftEdgePower(self, value: float) -> None:
        ...

    @property
    def autoSoftEdgeSharpness(self) -> float:
        """
        Controls the size of the blend zones created; the higher the number, the smaller the blend zones
        
        Category: Others
        UserName: Blend sharpness
        """
        ...
    @autoSoftEdgeSharpness.setter
    def autoSoftEdgeSharpness(self, value: float) -> None:
        ...

    @property
    def videoBlackLevel(self) -> float:
        """
        Set this to compensate for the video black level in regions covered by 1 projector. Effects Dynamic Blend mask.
        
        UserName: Black level compensation
        """
        ...
    @videoBlackLevel.setter
    def videoBlackLevel(self, value: float) -> None:
        ...

    @property
    def videoBlackMaxProjectors(self) -> float:
        """
        Set this to the maximum number of incident projectors
        """
        ...
    @videoBlackMaxProjectors.setter
    def videoBlackMaxProjectors(self, value: float) -> None:
        ...

    def getGraphDescriptor(self) -> GraphDescriptor:
        ...

    def setDefault(self) -> None:
        ...

    def setGraphWidth(self, width: int) -> None:
        ...


class AutomaticSetList(SetList):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AutomaticSetList'

    def __init__(self) -> None:
        """
        Default constructor for AutomaticSetList
        """
        ...


class AutomationAxisValue(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AutomationAxisValue'

    @property
    def automationAxisName(self) -> str:
        ...
    @automationAxisName.setter
    def automationAxisName(self, name: str) -> None:
        ...

    @property
    def automationDeviceName(self) -> str:
        ...
    @automationDeviceName.setter
    def automationDeviceName(self, name: str) -> None:
        ...

    @property
    def automationValue(self) -> float:
        ...
    @automationValue.setter
    def automationValue(self, value: float) -> None:
        ...

    @property
    def axisDirection(self) -> int:
        ...
    @axisDirection.setter
    def axisDirection(self, value: int) -> None:
        ...


class AverageMipmappedMaskTexture(MipmappedMaskTexture):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AverageMipmappedMaskTexture'

    def __init__(self) -> None:
        """
        Default constructor for AverageMipmappedMaskTexture
        """
        ...


class AxisCameraTrackingSource(CameraTrackingSource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AxisCameraTrackingSource'

    @property
    def apertureAxis(self) -> ScreenPositionAxis:
        """
        UserName: Aperture
        """
        ...
    @apertureAxis.setter
    def apertureAxis(self, value: ScreenPositionAxis) -> None:
        ...

    @property
    def centerShiftXAxis(self) -> ScreenPositionAxis:
        """
        UserName: Center shift X
        """
        ...
    @centerShiftXAxis.setter
    def centerShiftXAxis(self, value: ScreenPositionAxis) -> None:
        ...

    @property
    def centerShiftYAxis(self) -> ScreenPositionAxis:
        """
        UserName: Center shift Y
        """
        ...
    @centerShiftYAxis.setter
    def centerShiftYAxis(self, value: ScreenPositionAxis) -> None:
        ...

    @property
    def focalLengthAxis(self) -> ScreenPositionAxis:
        """
        UserName: Focal length
        """
        ...
    @focalLengthAxis.setter
    def focalLengthAxis(self, value: ScreenPositionAxis) -> None:
        ...

    @property
    def focusDistanceAxis(self) -> ScreenPositionAxis:
        """
        UserName: Focus distance
        """
        ...
    @focusDistanceAxis.setter
    def focusDistanceAxis(self, value: ScreenPositionAxis) -> None:
        ...

    @property
    def focusEncoderAxis(self) -> ScreenPositionAxis:
        """
        UserName: Focus encoder
        """
        ...
    @focusEncoderAxis.setter
    def focusEncoderAxis(self, value: ScreenPositionAxis) -> None:
        ...

    @property
    def hFovAxis(self) -> ScreenPositionAxis:
        """
        UserName: Field of view (H)
        """
        ...
    @hFovAxis.setter
    def hFovAxis(self, value: ScreenPositionAxis) -> None:
        ...

    @property
    def k1Axis(self) -> ScreenPositionAxis:
        """
        UserName: k1
        """
        ...
    @k1Axis.setter
    def k1Axis(self, value: ScreenPositionAxis) -> None:
        ...

    @property
    def k2Axis(self) -> ScreenPositionAxis:
        """
        UserName: k2
        """
        ...
    @k2Axis.setter
    def k2Axis(self, value: ScreenPositionAxis) -> None:
        ...

    @property
    def k3Axis(self) -> ScreenPositionAxis:
        """
        UserName: k3
        """
        ...
    @k3Axis.setter
    def k3Axis(self, value: ScreenPositionAxis) -> None:
        ...

    @property
    def sensorSizeXAxis(self) -> ScreenPositionAxis:
        """
        UserName: Sensor size X
        """
        ...
    @sensorSizeXAxis.setter
    def sensorSizeXAxis(self, value: ScreenPositionAxis) -> None:
        ...

    @property
    def sensorSizeXYAspectAxis(self) -> ScreenPositionAxis:
        """
        The aspect ratio (x / y) of the sensor
        
        UserName: Sensor size XY aspect ratio
        """
        ...
    @sensorSizeXYAspectAxis.setter
    def sensorSizeXYAspectAxis(self, value: ScreenPositionAxis) -> None:
        ...

    @property
    def sensorSizeYAxis(self) -> ScreenPositionAxis:
        """
        UserName: Sensor size Y
        """
        ...
    @sensorSizeYAxis.setter
    def sensorSizeYAxis(self, value: ScreenPositionAxis) -> None:
        ...

    @property
    def xAxis(self) -> ScreenPositionAxis:
        """
        UserName: X position
        """
        ...
    @xAxis.setter
    def xAxis(self, value: ScreenPositionAxis) -> None:
        ...

    @property
    def xrotAxis(self) -> ScreenPositionAxis:
        """
        UserName: X rotation
        """
        ...
    @xrotAxis.setter
    def xrotAxis(self, value: ScreenPositionAxis) -> None:
        ...

    @property
    def yAxis(self) -> ScreenPositionAxis:
        """
        UserName: Y position
        """
        ...
    @yAxis.setter
    def yAxis(self, value: ScreenPositionAxis) -> None:
        ...

    @property
    def yrotAxis(self) -> ScreenPositionAxis:
        """
        UserName: Y rotation
        """
        ...
    @yrotAxis.setter
    def yrotAxis(self, value: ScreenPositionAxis) -> None:
        ...

    @property
    def zAxis(self) -> ScreenPositionAxis:
        """
        UserName: Z position
        """
        ...
    @zAxis.setter
    def zAxis(self, value: ScreenPositionAxis) -> None:
        ...

    @property
    def zoomEncoderAxis(self) -> ScreenPositionAxis:
        """
        UserName: Zoom encoder
        """
        ...
    @zoomEncoderAxis.setter
    def zoomEncoderAxis(self, value: ScreenPositionAxis) -> None:
        ...

    @property
    def zrotAxis(self) -> ScreenPositionAxis:
        """
        UserName: Z rotation
        """
        ...
    @zrotAxis.setter
    def zrotAxis(self, value: ScreenPositionAxis) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for AxisCameraTrackingSource
        """
        ...


class AxisObjectTrackingSource(ObjectTrackingSource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AxisObjectTrackingSource'

    @property
    def xAxis(self) -> ScreenPositionAxis:
        """
        UserName: X position
        """
        ...
    @xAxis.setter
    def xAxis(self, value: ScreenPositionAxis) -> None:
        ...

    @property
    def xrotAxis(self) -> ScreenPositionAxis:
        """
        UserName: X rotation
        """
        ...
    @xrotAxis.setter
    def xrotAxis(self, value: ScreenPositionAxis) -> None:
        ...

    @property
    def yAxis(self) -> ScreenPositionAxis:
        """
        UserName: Y position
        """
        ...
    @yAxis.setter
    def yAxis(self, value: ScreenPositionAxis) -> None:
        ...

    @property
    def yrotAxis(self) -> ScreenPositionAxis:
        """
        UserName: Y rotation
        """
        ...
    @yrotAxis.setter
    def yrotAxis(self, value: ScreenPositionAxis) -> None:
        ...

    @property
    def zAxis(self) -> ScreenPositionAxis:
        """
        UserName: Z position
        """
        ...
    @zAxis.setter
    def zAxis(self, value: ScreenPositionAxis) -> None:
        ...

    @property
    def zrotAxis(self) -> ScreenPositionAxis:
        """
        UserName: Z rotation
        """
        ...
    @zrotAxis.setter
    def zrotAxis(self, value: ScreenPositionAxis) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for AxisObjectTrackingSource
        """
        ...


class BandwidthEstimationResult(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def fragments(self) -> List[FrameFragment]:
        ...

    @property
    def machine(self) -> RenderStreamMachine:
        ...

    @property
    def outgoingBandwidthEstimate(self) -> float:
        ...

    @property
    def textureParamBandwidthEstimate(self) -> float:
        ...


class BarcoEncore(DVIMatrix):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'BarcoEncore'

    @property
    def IP_address(self) -> str:
        """
        UserName: IP address
        """
        ...
    @IP_address.setter
    def IP_address(self, value: str) -> None:
        ...

    @property
    def port(self) -> SerialDevice:
        """
        UserName: Port
        """
        ...
    @port.setter
    def port(self, value: SerialDevice) -> None:
        ...

    def __init__(self) -> None:
        ...


class BarcoMatrixPro(DVIMatrix):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'BarcoMatrixPro'

    @property
    def IP_address(self) -> str:
        """
        The IP address to send commands to
        
        UserName: IP address
        """
        ...
    @IP_address.setter
    def IP_address(self, value: str) -> None:
        ...

    @property
    def port(self) -> SerialDevice:
        """
        UserName: Serial port
        """
        ...
    @port.setter
    def port(self, value: SerialDevice) -> None:
        ...

    @property
    def telnet_port(self) -> int:
        """
        The TCP port to send commands on
        
        UserName: Port
        """
        ...
    @telnet_port.setter
    def telnet_port(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class BarcoProjectorDevice(ProjectorDevice):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'BarcoProjectorDevice'


class BatteryMonitor(MetricMonitor):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'BatteryMonitor'
    hasBattery: Callable


class BeamQuadShaderMaterial(DxMaterial):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class BeamShaderMaterial(DxMaterial):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class BitmapModule(ProjectionAwareModule):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'BitmapModule'

    @property
    def bitmap(self) -> DxTexture:
        """
        Category: Media
        UserName: Bitmap
        """
        ...
    @bitmap.setter
    def bitmap(self, value: DxTexture) -> None:
        ...

    @property
    def bottom(self) -> float:
        """
        Category: Crop
        UserName: Bottom
        """
        ...
    @bottom.setter
    def bottom(self, value: float) -> None:
        ...

    @property
    def colour_shift(self) -> ColourShift:
        """
        Category: Media
        UserName: Colour Shift
        """
        ...
    @colour_shift.setter
    def colour_shift(self, value: ColourShift) -> None:
        ...

    @property
    def left(self) -> float:
        """
        Category: Crop
        UserName: Left
        """
        ...
    @left.setter
    def left(self, value: float) -> None:
        ...

    @property
    def pos(self) -> Vec2:
        """
        Category: Move
        UserName: Position
        """
        ...
    @pos.setter
    def pos(self, value: Vec2) -> None:
        ...

    @property
    def right(self) -> float:
        """
        Category: Crop
        UserName: Right
        """
        ...
    @right.setter
    def right(self, value: float) -> None:
        ...

    @property
    def rotation(self) -> float:
        """
        Category: Move
        UserName: Rotation
        """
        ...
    @rotation.setter
    def rotation(self, value: float) -> None:
        ...

    @property
    def scale(self) -> Vec2:
        """
        Category: Move
        UserName: Scale
        """
        ...
    @scale.setter
    def scale(self, value: Vec2) -> None:
        ...

    @property
    def scale_mode(self) -> int:
        """
        Options: {0: 'Fill and crop', 1: 'Fill and stretch', 2: 'Fit inside', 3: 'Pixel-perfect'}
        Category: Move
        UserName: Scale Mode
        """
        ...
    @scale_mode.setter
    def scale_mode(self, value: int) -> None:
        ...

    @property
    def size(self) -> float:
        """
        Category: Move
        UserName: Size
        """
        ...
    @size.setter
    def size(self, value: float) -> None:
        ...

    @property
    def top(self) -> float:
        """
        Category: Crop
        UserName: Top
        """
        ...
    @top.setter
    def top(self, value: float) -> None:
        ...

    @property
    def transition(self) -> float:
        """
        Category: Media
        UserName: Transition
        """
        ...
    @transition.setter
    def transition(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class BitmapMoveModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'BitmapMoveModule'

    @property
    def aspect(self) -> float:
        """
        Category: move
        """
        ...
    @aspect.setter
    def aspect(self, value: float) -> None:
        ...

    @property
    def bitmap(self) -> DxTexture:
        ...
    @bitmap.setter
    def bitmap(self, value: DxTexture) -> None:
        ...

    @property
    def bottom(self) -> float:
        """
        Category: clip
        """
        ...
    @bottom.setter
    def bottom(self, value: float) -> None:
        ...

    @property
    def colour_shift(self) -> ColourShift:
        """
        Category: move
        UserName: Colour Shift
        """
        ...
    @colour_shift.setter
    def colour_shift(self, value: ColourShift) -> None:
        ...

    @property
    def left(self) -> float:
        """
        Category: clip
        """
        ...
    @left.setter
    def left(self, value: float) -> None:
        ...

    @property
    def pos(self) -> Vec2:
        """
        Category: move
        """
        ...
    @pos.setter
    def pos(self, value: Vec2) -> None:
        ...

    @property
    def right(self) -> float:
        """
        Category: clip
        """
        ...
    @right.setter
    def right(self, value: float) -> None:
        ...

    @property
    def rotation(self) -> float:
        """
        Category: move
        """
        ...
    @rotation.setter
    def rotation(self, value: float) -> None:
        ...

    @property
    def scale(self) -> float:
        """
        Category: move
        """
        ...
    @scale.setter
    def scale(self, value: float) -> None:
        ...

    @property
    def top(self) -> float:
        """
        Category: clip
        """
        ...
    @top.setter
    def top(self, value: float) -> None:
        ...

    @property
    def transition(self) -> float:
        ...
    @transition.setter
    def transition(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class BlackMagicVideoHubMatrix(DVIMatrix):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'BlackMagicVideoHubMatrix'

    @property
    def IP_Address(self) -> str:
        """
        UserName: IP address
        """
        ...
    @IP_Address.setter
    def IP_Address(self, value: str) -> None:
        ...

    @property
    def Port(self) -> int:
        """
        UserName: Port
        """
        ...
    @Port.setter
    def Port(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class BlankState(IDataState):
    null: Self
    _classInfo: 'ClassInfo'


class Blip(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    instance: Blip

    @property
    def app(self) -> App:
        ...
    @app.setter
    def app(self, app: App) -> None:
        ...

    def quitMessage(self) -> str:
        ...

    def quitRequestedOrForced(self) -> bool:
        ...

    def setDefaultProceduralTextureSize(self, size: Vec2) -> None:
        ...


class Blob(_BlipValue):
    """
    Blob is a rectangular region of the screen (measured in pixels) with an index-code.
    """

    null: Self
    _classInfo: 'ClassInfo'

    @property
    def area(self) -> float:
        ...

    @property
    def boundingRect(self) -> Rect:
        ...

    @property
    def circularity(self) -> float:
        ...

    @property
    def code(self) -> int:
        ...

    @property
    def convexity(self) -> float:
        ...

    @property
    def cx(self) -> float:
        ...

    @property
    def cy(self) -> float:
        ...

    @property
    def ellipse(self) -> RotatedBlobRect:
        ...

    @property
    def iProjector(self) -> int:
        ...

    @property
    def inertia(self) -> float:
        ...

    @property
    def levelDetectThreshold(self) -> int:
        ...

    @property
    def sc(self) -> int:
        ...


class BlobCaptureProcess(FastCaptureProcess):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'BlobCaptureProcess'
    renderStageAtObservation: Callable

    @property
    def blobSettings(self) -> BlobSettings:
        """
        UserName: Blob Settings
        """
        ...
    @blobSettings.setter
    def blobSettings(self, value: BlobSettings) -> None:
        ...

    @property
    def blur(self) -> int:
        """
        This is a test for now, this option will disappear in final version
        
        Options: {0: 'Off', 1: 'On'}
        UserName: Gaussian Blur
        """
        ...
    @blur.setter
    def blur(self, value: int) -> None:
        ...

    @property
    def blurRadius(self) -> int:
        """
        this is a test for now, will disappear
        
        UserName: Gaussian Blur Radius (Pixels)
        """
        ...
    @blurRadius.setter
    def blurRadius(self, value: int) -> None:
        ...

    @property
    def observation(self) -> CameraCalibrationObservation:
        ...
    @observation.setter
    def observation(self, value: CameraCalibrationObservation) -> None:
        ...

    @property
    def useLegacyCapture(self) -> bool:
        """
        Use legacy frame capture process (Slower but more tolerant of dropped frames)
        """
        ...
    @useLegacyCapture.setter
    def useLegacyCapture(self, useLegacyCapture: bool) -> None:
        ...

    def displayBlobPreview(self) -> None:
        ...

    def startObservation(self, camera: Camera) -> None:
        ...

    def stopBlobPreview(self) -> None:
        ...

    def updateBlobPreview(self) -> None:
        ...


class BlobDetectionSettings(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def blobAreaLimits(self) -> Vec2:
        ...
    @blobAreaLimits.setter
    def blobAreaLimits(self, value: Vec2) -> None:
        ...

    @property
    def blobCircularityLimits(self) -> Vec2:
        ...
    @blobCircularityLimits.setter
    def blobCircularityLimits(self, value: Vec2) -> None:
        ...

    @property
    def blobConvexityLimits(self) -> Vec2:
        ...
    @blobConvexityLimits.setter
    def blobConvexityLimits(self, value: Vec2) -> None:
        ...

    @property
    def blobInertiaLimits(self) -> Vec2:
        ...
    @blobInertiaLimits.setter
    def blobInertiaLimits(self, value: Vec2) -> None:
        ...

    @overload
    def __init__(self) -> None:
        """
        Default constructor for BlobDetectionSettings
        """
        ...

    @overload
    def __init__(self, other: BlobDetectionSettings) -> None:
        """
        Copy constructor for BlobDetectionSettings
        """
        ...


class BlobObservationCount(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def name(self) -> str:
        ...

    @property
    def noObservers(self) -> int:
        ...

    @property
    def oneObserver(self) -> int:
        ...

    @property
    def statusColour(self) -> Colour:
        ...

    @property
    def threeOrMoreObservers(self) -> int:
        ...

    @property
    def twoObservers(self) -> int:
        ...

    def __init__(self, other: BlobObservationCount) -> None:
        """
        Copy constructor for BlobObservationCount
        """
        ...


class BlobSettings(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def getOrAdd(self, display: Display) -> DisplayBlobSettings:
        ...


class BlueFishSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        """
        Default constructor for BlueFishSystem
        """
        ...


class BluefishIn(BufferedVideoIn):
    """
    Class for SDI video capture from BlueFish444 devices, e.g. the SuperNova board.
    """

    null: Self
    _classInfo: 'ClassInfo'


class BlurModule(ProjectionAwareModule):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'BlurModule'

    @property
    def blurMask(self) -> ContentSource:
        """
        UserName: Mask
        """
        ...
    @blurMask.setter
    def blurMask(self, value: ContentSource) -> None:
        ...

    @property
    def radius(self) -> float:
        """
        UserName: Radius
        """
        ...
    @radius.setter
    def radius(self, value: float) -> None:
        ...

    @property
    def source(self) -> ContentSource:
        """
        UserName: Source
        """
        ...
    @source.setter
    def source(self, value: ContentSource) -> None:
        ...

    @property
    def wrapAround(self) -> bool:
        """
        Wrap around the edges of the image, blurring left and right sides into each other
        
        UserName: Wrap around
        """
        ...
    @wrapAround.setter
    def wrapAround(self, value: bool) -> None:
        ...

    def __init__(self) -> None:
        ...


class BufferedVideoIn(VideoIn):
    null: Self
    _classInfo: 'ClassInfo'


class BugsModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'BugsModule'

    @property
    def blockSize(self) -> float:
        """
        UserName: Block size
        """
        ...
    @blockSize.setter
    def blockSize(self, value: float) -> None:
        ...

    @property
    def field(self) -> int:
        """
        UserName: Field
        """
        ...
    @field.setter
    def field(self, value: int) -> None:
        ...

    @property
    def population(self) -> float:
        """
        Controls the number of bugs. 0 is none, 1 is maximum. The closer the number is to 1, the more bugs
        
        UserName: Population
        """
        ...
    @population.setter
    def population(self, value: float) -> None:
        ...

    @property
    def speed(self) -> float:
        """
        UserName: Speed
        """
        ...
    @speed.setter
    def speed(self, value: float) -> None:
        ...

    @property
    def turniness(self) -> float:
        """
        Controls the chance that a bug will turn on a given step. At 0, bugs never turn; at 1, they always turn
        
        UserName: Turniness
        """
        ...
    @turniness.setter
    def turniness(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class CDL(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CDL'

    @property
    def acesPostTransform(self) -> AcesInputTransformParameters:
        """
        Transform from LUT working space to Linear ACES AP0
        
        UserName: Post transform
        """
        ...
    @acesPostTransform.setter
    def acesPostTransform(self, value: AcesInputTransformParameters) -> None:
        ...

    @property
    def acesPreTransform(self) -> AcesOutputTransformParameters:
        """
        Transform from Linear ACES AP0 to LUT working space
        
        UserName: Pre transform
        """
        ...
    @acesPreTransform.setter
    def acesPreTransform(self, value: AcesOutputTransformParameters) -> None:
        ...

    @property
    def ocioTransform(self) -> OcioColourSpace:
        """
        Colour space to apply CDL
        
        UserName: OCIO transform
        """
        ...
    @ocioTransform.setter
    def ocioTransform(self, value: OcioColourSpace) -> None:
        ...

    @property
    def offset(self) -> Vec:
        """
        UserName: Offset
        """
        ...
    @offset.setter
    def offset(self, value: Vec) -> None:
        ...

    @property
    def power(self) -> Vec:
        """
        UserName: Power
        """
        ...
    @power.setter
    def power(self, value: Vec) -> None:
        ...

    @property
    def saturation(self) -> float:
        """
        UserName: Saturation
        """
        ...
    @saturation.setter
    def saturation(self, value: float) -> None:
        ...

    @property
    def slope(self) -> Vec:
        """
        UserName: Slope
        """
        ...
    @slope.setter
    def slope(self, value: Vec) -> None:
        ...

    def exportCC(self, path: Path, id: str) -> bool:
        ...


class CDLContainer(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CDLContainer'

    def __init__(self) -> None:
        ...


class CDLModule(ProjectionAwareModule):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CDLModule'

    @property
    def cdl(self) -> CDL:
        """
        ASC CDL format colour grading in Slope, Offset, Power and Saturation controls. (Only in ACES)
        
        UserName: CDL
        """
        ...
    @cdl.setter
    def cdl(self, value: CDL) -> None:
        ...

    @property
    def source(self) -> ContentSource:
        """
        UserName: Source
        """
        ...
    @source.setter
    def source(self, value: ContentSource) -> None:
        ...

    def __init__(self) -> None:
        ...


class CITPDevice(Device):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CITPDevice'

    @property
    def dmx_device(self) -> DmxDevice:
        ...
    @dmx_device.setter
    def dmx_device(self, value: DmxDevice) -> None:
        ...

    @property
    def dmx_device_edit(self) -> DmxDevice:
        """
        UserName: DMX device
        """
        ...
    @dmx_device_edit.setter
    def dmx_device_edit(self, value: DmxDevice) -> None:
        ...


class CITPLibrary(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def load(self, path: str) -> None:
        ...

    def save(self, path: str) -> None:
        ...


class CITPServer(Thread):
    null: Self
    _classInfo: 'ClassInfo'


class CITPService(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class CITPSubsystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...

    def saveLibrary(self, path: str) -> None:
        ...


class CPSAutomation(UdpReceiverDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CPSDriver'

    def __init__(self) -> None:
        ...


class CPUMonitor(MetricMonitor):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CPUMonitor'

    def __init__(self) -> None:
        """
        Default constructor for CPUMonitor
        """
        ...


class CachedStatusSharer(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class CalibratedPoint(Resource):
    """
    A lined up 3D-2D point correspondence that is managed by a ProjectorConfig.
    
    The 3D position is stored in addition to the RP to the original
    ReferencePoint, because this RefPoint's world position can change
    if its Display is moved, rotated or scaled.
    If this happens, the user should be offered a decision on what to do.
    """

    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CalibratedPoint'
    getSupportedCalibrationStatusNames: Callable
    getSupportedCalibrationStatuses: Callable

    @property
    def movedWorldPos(self) -> Vec:
        ...

    @property
    def point(self) -> ReferencePoint:
        ...
    @point.setter
    def point(self, value: ReferencePoint) -> None:
        ...

    @property
    def singlePosePoints(self) -> List[SinglePoseCalibratedPoint]:
        ...
    @singlePosePoints.setter
    def singlePosePoints(self, value: List[SinglePoseCalibratedPoint]) -> None:
        ...

    @property
    def worldPos(self) -> Vec:
        ...
    @worldPos.setter
    def worldPos(self, value: Vec) -> None:
        ...

    def calStatus(self, idx: int) -> int:
        ...

    def findLineUpForCurrentPose(self, precise: bool) -> int:
        ...

    def getRefPointPath(self) -> Path:
        ...

    def rasterPos(self, idx: int) -> Vec2:
        ...


class CalibrationLutMapping(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CalibrationLutMapping'

    @property
    def active(self) -> bool:
        ...
    @active.setter
    def active(self, value: bool) -> None:
        ...

    @property
    def camera(self) -> Camera:
        ...
    @camera.setter
    def camera(self, value: Camera) -> None:
        ...

    @property
    def inverseLutFile(self) -> LutFile:
        """
        File containing inverted LUT data to be applied from content to signal
        
        UserName: Inverse lutfile
        """
        ...
    @inverseLutFile.setter
    def inverseLutFile(self, value: LutFile) -> None:
        ...

    @property
    def lutfile(self) -> LutFile:
        """
        File containing generated LUT data to be applied from signal to content
        
        UserName: Lutfile
        """
        ...
    @lutfile.setter
    def lutfile(self, value: LutFile) -> None:
        ...

    @property
    def screen(self) -> LedScreen:
        ...
    @screen.setter
    def screen(self, value: LedScreen) -> None:
        ...


class CalibrationResultsData(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def deviceType(self) -> str:
        ...

    @property
    def errorColour(self) -> Colour:
        ...

    @property
    def errorRMS(self) -> float:
        ...

    @property
    def hasSquarePixels(self) -> bool:
        ...

    @property
    def isCalibrated(self) -> bool:
        ...

    @property
    def name(self) -> str:
        ...

    def __init__(self, other: CalibrationResultsData) -> None:
        """
        Copy constructor for CalibrationResultsData
        """
        ...


class CalibrationSettings(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def cameraCalibration(self) -> CameraCalibrationSettings:
        ...
    @cameraCalibration.setter
    def cameraCalibration(self, value: CameraCalibrationSettings) -> None:
        ...

    @property
    def centroidMode(self) -> int:
        ...
    @centroidMode.setter
    def centroidMode(self, value: int) -> None:
        ...

    @property
    def projectorCalibration(self) -> ProjectorCalibrationSettings:
        ...
    @projectorCalibration.setter
    def projectorCalibration(self, value: ProjectorCalibrationSettings) -> None:
        ...

    @property
    def reconstruction(self) -> ReconstructionSettings:
        ...
    @reconstruction.setter
    def reconstruction(self, value: ReconstructionSettings) -> None:
        ...

    @property
    def redoBlobDetection(self) -> bool:
        ...
    @redoBlobDetection.setter
    def redoBlobDetection(self, value: bool) -> None:
        ...

    @overload
    def __init__(self) -> None:
        """
        Default constructor for CalibrationSettings
        """
        ...

    @overload
    def __init__(self, other: CalibrationSettings) -> None:
        """
        Copy constructor for CalibrationSettings
        """
        ...


class CalibratorFactory(CalibratorSystem):
    """
    Factory implementing the Calibrator Subsystem to create Calibrator objects
    """

    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        """
        Default constructor for CalibratorFactory
        """
        ...


class CalibratorSystem(Subsystem):
    """
    Subsystem for Calibrator objects implemented e.g. in d3vision DLL
    """

    null: Self
    _classInfo: 'ClassInfo'
    getDistortionModeNames: Callable
    getMinimumEnabledCalibMethod: Callable
    isCalibMethod4PointEnabled: Callable
    isCalibMethod4PointExperimentalEnabled: Callable
    isCalibMethod4PointRansacEnabled: Callable
    isCalibMethodDistortionEnabled: Callable
    isCalibMethodEnabled: Callable
    isCalibMethodGoldEnabled: Callable
    isCalibMethodOpenCV: Callable
    isCalibMethodSolvePnP: Callable
    isCalibMethodZhang: Callable
    isCalibMethodZhangEnabled: Callable
    isCalibratesExtrinsicOnly: Callable
    isRequiresIntrinsicEstimates: Callable
    isRequiresPlanarObject: Callable
    isSupportsLensDistortion: Callable
    isSupportsPlanarObject: Callable

    def __init__(self) -> None:
        """
        Default constructor for CalibratorSystem
        """
        ...


class CamCaps(_BlipValue):
    """
    POD class with camera features / capabilities, used in ZMessage serialisation
    """

    null: Self
    _classInfo: 'ClassInfo'

    @property
    def maxWhiteBalanceGain(self) -> float:
        ...


class CamCapturePaths(_BlipValue):
    """
    :brief Simple class to hold paths for where to save captured data in processCapture()
    """

    null: Self
    _classInfo: 'ClassInfo'

    @property
    def imageFile(self) -> str:
        ...
    @imageFile.setter
    def imageFile(self, value: str) -> None:
        ...


class CamParams(_BlipValue):
    """
    :brief Current camera and lens parameters provided by d3cam apps
    
    Notes on Focus / lensPos from iOS docs (Peter added notes in []brackets):
    "A given lens position value does not correspond to an exact physical distance,
    nor does it represent a consistent focus distance from device to device[, or
    even over time, ... due to influence of wear, gravity, temperature, hysteresis, ...].
    The range of possible positions is 0.0 to 1.0, with 0.0 being the shortest
    distance at which the lens can focus and 1.0 the furthest. Note that 1.0 does
    not represent focus at infinity. The default value is 1.0. [Infinity distance
    could be around 0.9 or even lower. Hysteresis effect is up to ±0.02. Devices
    might report lensPos differences of at least ±0.07 for the same distance.]".
    See investigation in: d3vision\optical-calibration\iPod focus investigation.ods
    
    Notes on ISO and exposure:
    The min/max available for ISO and exposure time/bias is device-dependent.
    Higher ISO means more light sensitivity, but also noise.
    
    Notes on White-Balance:
    Main parameter is the CIE 1931 xy Chromaticity, a 2D coordinate between 0 and
    1 that specifies a colour in the CIE colourspace. This is a device-independent
    parameter equivalent to the 3 gain values for RGB, which are device-dependent,
    though. The values for RGB channel gains are between 1 and a device-specific
    maximum value.
    
    Notes on Aperture and Field-of-View:
    On current iOS devices the aperture (F-stop) is fixed.
    Since there is no optical zoom, the Field-of-View only changes if digital
    zoom is enabled (I think). The FOV is a nominal value, not taking the (minor
    but noticeable) effect of focus into account.
    Similarly, for machine vision cameras
    
    NOTE: Serialised using versioned cereal functions (no longer affects ExpectedAppVersion!)
    """

    null: Self
    _classInfo: 'ClassInfo'

    @property
    def aperture(self) -> float:
        ...

    @property
    def camParamMode(self) -> int:
        ...

    @property
    def exposureBias(self) -> float:
        ...

    @property
    def exposureDur(self) -> float:
        ...

    @property
    def exposureMode(self) -> int:
        ...

    @property
    def exposureTarget(self) -> float:
        ...

    @property
    def fieldOfViewNominal(self) -> float:
        ...

    @property
    def focalLength(self) -> float:
        ...

    @property
    def focusMode(self) -> int:
        ...

    @property
    def isAdjustingExposure(self) -> bool:
        ...

    @property
    def isAdjustingFocus(self) -> bool:
        ...

    @property
    def isAdjustingWB(self) -> bool:
        ...

    @property
    def iso(self) -> float:
        ...

    @property
    def lensPos(self) -> float:
        ...

    @property
    def lensPosComp(self) -> int:
        ...

    @property
    def poi(self) -> Vec2:
        ...

    @property
    def resolution(self) -> Int2:
        ...

    @property
    def wbChroma(self) -> Vec2:
        ...

    @property
    def wbMode(self) -> int:
        ...

    @property
    def wbRgbGains(self) -> Vec:
        ...

    @property
    def zoom(self) -> float:
        ...


class Camera(SlcAwareDisplay):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Camera'
    TargetBackplate: Final = 1
    TargetFrontplate: Final = 2
    TargetTransmission: Final = 0
    localVisualiserCamera: Callable

    @property
    def activeMixedRealitySets(self) -> List[MixedRealitySet]:
        ...

    @property
    def aperture(self) -> float:
        """
        Aperture (f-stop) value, defined as the focal length / aperture diameter
        """
        ...
    @aperture.setter
    def aperture(self, a: float) -> None:
        ...

    @property
    def aspectRatio(self) -> float:
        ...
    @aspectRatio.setter
    def aspectRatio(self, r: float) -> None:
        ...

    @property
    def cameraImagingPredictionSamples(self) -> int:
        """
        Number of samples to use for camera imaging forward prediction
        
        Category: Prediction
        UserName: Camera imaging delay prediction samples
        """
        ...
    @cameraImagingPredictionSamples.setter
    def cameraImagingPredictionSamples(self, value: int) -> None:
        ...

    @property
    def cameraImagingPredictionTerms(self) -> int:
        """
        Number of terms to use for camera imaging forward prediction
        
        Category: Prediction
        UserName: Camera imaging delay prediction terms
        """
        ...
    @cameraImagingPredictionTerms.setter
    def cameraImagingPredictionTerms(self, value: int) -> None:
        ...

    @property
    def centerShiftMM(self) -> Vec2:
        ...
    @centerShiftMM.setter
    def centerShiftMM(self, c: Vec2) -> None:
        ...

    @property
    def doesTrackingSourceSupportLensData(self) -> bool:
        ...

    @property
    def fieldOfViewH(self) -> float:
        ...
    @fieldOfViewH.setter
    def fieldOfViewH(self, fov: float) -> None:
        ...

    @property
    def fieldOfViewV(self) -> float:
        ...
    @fieldOfViewV.setter
    def fieldOfViewV(self, fov: float) -> None:
        ...

    @property
    def focalLengthMM(self) -> float:
        ...
    @focalLengthMM.setter
    def focalLengthMM(self, l: float) -> None:
        ...

    @property
    def focusDistance(self) -> float:
        """
        Distance to the focal plane in m
        """
        ...
    @focusDistance.setter
    def focusDistance(self, d: float) -> None:
        ...

    @property
    def frontplateCompositeOrder(self) -> int:
        """
        Order in which the distorted and undistorted front plates are composited
        
        Options: {0: 'Undistorted On Top', 1: 'Distorted On Top'}
        Category: Output
        UserName: Frontplate composite order
        """
        ...
    @frontplateCompositeOrder.setter
    def frontplateCompositeOrder(self, value: int) -> None:
        ...

    @property
    def frontplateFade(self) -> float:
        """
        Category: Output
        UserName: AR fade
        """
        ...
    @frontplateFade.setter
    def frontplateFade(self, value: float) -> None:
        ...

    @property
    def frontplateReprojectionMode(self) -> int:
        """
        Mode used for frontplate delay compensation and reprojection:
        Backplate Aligned: The frontplate is delayed and reprojected with the backplate.
        No Reprojection: The frontplate is delayed with the backplate but not reprojected.
        Minimal Latency: The most recently rendered frontplate is composited with no reprojection.
        
        Options: {0: 'Backplate Aligned', 1: 'No Reprojection', 2: 'Minimal Latency'}
        Category: Output
        UserName: Frontplate reprojection
        """
        ...
    @frontplateReprojectionMode.setter
    def frontplateReprojectionMode(self, value: int) -> None:
        ...

    @property
    def isLiveCamera(self) -> bool:
        ...

    @property
    def k1k2k3(self) -> Vec:
        ...
    @k1k2k3.setter
    def k1k2k3(self, vals: Vec) -> None:
        ...

    @property
    def lens(self) -> LensIntrinsics:
        """
        Category: Lens
        """
        ...
    @lens.setter
    def lens(self, lens: LensIntrinsics) -> None:
        ...

    @property
    def lensFocusMode(self) -> int:
        ...

    @property
    def lensFocusParams(self) -> LensFocusParams:
        ...
    @lensFocusParams.setter
    def lensFocusParams(self, focusParams: LensFocusParams) -> None:
        ...

    @property
    def lensFocusTrackedObject(self) -> Object:
        """
        Object used to calculate focus distance when focus mode is set to Object Tracking
        
        Category: Focus
        UserName: Focus tracked object
        """
        ...
    @lensFocusTrackedObject.setter
    def lensFocusTrackedObject(self, obj: Object) -> None:
        ...

    @property
    def minOverscan(self) -> Vec2:
        ...

    @property
    def orthographicScale(self) -> float:
        """
        Category: Stage Render
        UserName: Orthographic scale
        """
        ...
    @orthographicScale.setter
    def orthographicScale(self, orthographicScale: float) -> None:
        ...

    @property
    def overscan(self) -> Vec2:
        """
        Generate extra content outside the original canvas resolution to compensate for lens distortion.
        1 means 100% of original resolution, 2 means 200%.
        
        Category: Lens
        UserName: Overscan
        """
        ...
    @overscan.setter
    def overscan(self, val: Vec2) -> None:
        ...

    @property
    def overscanResolution(self) -> Int2:
        ...

    @property
    def paWidthMM(self) -> float:
        ...
    @paWidthMM.setter
    def paWidthMM(self, paWidth: float) -> None:
        ...

    @property
    def projectionMatrixType(self) -> int:
        """
        Perspective or orthographic view of stage
        
        Options: {0: 'Perspective', 1: 'Orthographic'}
        Category: Stage Render
        UserName: Camera type
        """
        ...
    @projectionMatrixType.setter
    def projectionMatrixType(self, projectionMatrixType: int) -> None:
        ...

    @property
    def radialMaskScale(self) -> float:
        """
        Apply a radial mask to the filmed content. Scales between 0 and 1 based on the image diagonal.
        
        Category: Output
        UserName: Radial mask scale
        """
        ...
    @radialMaskScale.setter
    def radialMaskScale(self, value: float) -> None:
        ...

    @property
    def renderTimeToCameraCaptureTime(self) -> float:
        """
        Amount of time between rendering a frame and the camera taking the picture of the stage showing that frame
        
        Category: Prediction
        UserName: Camera imaging delay (sec)
        """
        ...
    @renderTimeToCameraCaptureTime.setter
    def renderTimeToCameraCaptureTime(self, value: float) -> None:
        ...

    @property
    def renderTimeToVideoReceiveTimeSec(self) -> float:
        """
        Amount of time between rendering a frame and receiving the corresponding video frame
        
        Category: Physical
        UserName: Video receive delay (sec)
        """
        ...
    @renderTimeToVideoReceiveTimeSec.setter
    def renderTimeToVideoReceiveTimeSec(self, value: float) -> None:
        ...

    @property
    def sensorSizeMM(self) -> Vec2:
        ...
    @sensorSizeMM.setter
    def sensorSizeMM(self, newSize: Vec2) -> None:
        ...

    @property
    def setExtensionAlpha(self) -> float:
        """
        Set to 1 for set extension, or 0 to turn it off
        
        Category: Output
        UserName: Set extension fade
        """
        ...
    @setExtensionAlpha.setter
    def setExtensionAlpha(self, value: float) -> None:
        ...

    @property
    def setExtensionFeather(self) -> int:
        """
        The size of the feathering blending the set extension with reality
        
        Category: Output
        UserName: Set extension feather
        """
        ...
    @setExtensionFeather.setter
    def setExtensionFeather(self, value: int) -> None:
        ...

    @property
    def spatialCalibration(self) -> SpatialCalibrationConfig:
        ...
    @spatialCalibration.setter
    def spatialCalibration(self, spatialCalibration: SpatialCalibrationConfig) -> None:
        ...

    @property
    def sphericalRenderParams(self) -> SphericalRenderParams:
        ...

    @property
    def stageRenderSettings(self) -> StageRenderSettings:
        ...

    @property
    def takeResolutionFromGuiHead(self) -> int:
        """
        Options: {0: 'Fixed', 1: 'Take from GUI'}
        Category: Settings
        UserName: Resolution Source
        """
        ...
    @takeResolutionFromGuiHead.setter
    def takeResolutionFromGuiHead(self, value: int) -> None:
        ...

    @property
    def usingSpatialCalibrationLensPoses(self) -> bool:
        ...

    @property
    def videoIn(self) -> LogicalVideoInDevice:
        """
        Video input received from real-world camera
        
        Category: Physical
        UserName: Video in
        """
        ...
    @videoIn.setter
    def videoIn(self, value: LogicalVideoInDevice) -> None:
        ...

    @property
    def videoInCompositeFade(self) -> float:
        """
        Set to 1 for video input in transmission, or 0 to turn it off. If no video input is selected, fade the visualser. This shows AR effects only, against an alpha background.
        
        Category: Output
        UserName: Video input fade
        """
        ...
    @videoInCompositeFade.setter
    def videoInCompositeFade(self, value: float) -> None:
        ...

    @property
    def videoReceiveTimeToTrackerReceiveTimeSec(self) -> float:
        """
        Amount of time between receiving a video frame and receiving the corresponding tracking data.
        If negative tracker data arrives before the video frame.
        If positive, tracker data arrives after the video frame.
        
        Category: Physical
        UserName: Spatial Tracker delay (sec)
        """
        ...
    @videoReceiveTimeToTrackerReceiveTimeSec.setter
    def videoReceiveTimeToTrackerReceiveTimeSec(self, value: float) -> None:
        ...

    @property
    def visibilitySettings(self) -> StageRenderSettings:
        """
        Settings controlling the camera's render of the stage
        
        Category: Stage Render
        UserName: Render settings
        """
        ...
    @visibilitySettings.setter
    def visibilitySettings(self, value: StageRenderSettings) -> None:
        ...

    @property
    def zFar(self) -> float:
        """
        Set the furthest distance from the camera before an object will be clipped.
        
        Category: Stage Render
        UserName: Far clipping plane
        """
        ...
    @zFar.setter
    def zFar(self, zf: float) -> None:
        ...

    @property
    def zNear(self) -> float:
        """
        Set the closest distance to the camera before an object will be clipped.
        
        Category: Stage Render
        UserName: Near clipping plane
        """
        ...
    @zNear.setter
    def zNear(self, zn: float) -> None:
        ...

    def applyCalibrationToLockedOffCamera(self) -> None:
        ...

    def saveCurrentView(self, filename: str) -> None:
        ...

    def updateTracking(self) -> None:
        ...


class CameraAutoFocus(CameraCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraAutoFocus'

    @property
    def autoFocus(self) -> int:
        """
        Options: {0: 'Off', 1: 'On'}
        UserName: Auto focus
        """
        ...
    @autoFocus.setter
    def autoFocus(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class CameraBlack(CameraCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraBlack'

    @property
    def black(self) -> float:
        """
        UserName: Black
        """
        ...
    @black.setter
    def black(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class CameraBlueGain(CameraCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraBlueGain'

    @property
    def blueGain(self) -> float:
        """
        UserName: Blue gain
        """
        ...
    @blueGain.setter
    def blueGain(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class CameraBookmark(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraBookmark'

    @property
    def fieldOfView(self) -> float:
        """
        UserName: FOV
        """
        ...
    @fieldOfView.setter
    def fieldOfView(self, value: float) -> None:
        ...

    @property
    def name(self) -> str:
        """
        UserName: Name
        """
        ...
    @name.setter
    def name(self, value: str) -> None:
        ...

    @property
    def pos(self) -> Vec:
        """
        UserName: Position
        """
        ...
    @pos.setter
    def pos(self, value: Vec) -> None:
        ...

    @property
    def rotation(self) -> Vec:
        """
        UserName: Rotation
        """
        ...
    @rotation.setter
    def rotation(self, value: Vec) -> None:
        ...

    @property
    def scale(self) -> float:
        """
        UserName: Scale
        """
        ...
    @scale.setter
    def scale(self, value: float) -> None:
        ...

    @property
    def type(self) -> int:
        """
        Perspective/orthographic view of stage or view of feed
        
        Options: {0: 'Perspective', 1: 'Orthographic', 2: 'Feed view'}
        UserName: Bookmark type
        """
        ...
    @type.setter
    def type(self, value: int) -> None:
        ...

    def setFeedView(self, pos: Vec2, scale: float) -> None:
        ...

    def setOrthographic(self, pos: Vec, rotation: Vec, fieldOfView: float, orthographicScale: float) -> None:
        ...

    def setPerspective(self, pos: Vec, rotation: Vec, fieldOfView: float) -> None:
        ...


class CameraBookmarkState(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraBookmarkState'
    get: Callable

    @property
    def bookmarks(self) -> List[CameraBookmark]:
        ...
    @bookmarks.setter
    def bookmarks(self, value: List[CameraBookmark]) -> None:
        ...


class CameraCalibration(Resource):
    """
    Interface between UI, calibration data and running algorithms.
    """

    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraCalibration'

    @property
    def cameraNames(self) -> List[str]:
        ...

    @property
    def chessSquaresSizeDefault(self) -> Vec2:
        """
        Set chessboard size via total chessboard width and height, e.g. 0.7584 x 0.5688 [m].
        
        Category: Default Settings
        UserName: Chessboard all square size [m]
        """
        ...
    @chessSquaresSizeDefault.setter
    def chessSquaresSizeDefault(self, value: Vec2) -> None:
        ...

    @property
    def chessboardSizeDefault(self) -> Int2:
        """
        Number of black & white squares on the chessboard, e.g. 12x9.
        
        Category: Default Settings
        UserName: Chessboard size
        """
        ...
    @chessboardSizeDefault.setter
    def chessboardSizeDefault(self, value: Int2) -> None:
        ...

    @property
    def chessboardSquareLength(self) -> float:
        ...
    @chessboardSquareLength.setter
    def chessboardSquareLength(self, length: float) -> None:
        ...

    @property
    def intrMatchTolerance(self) -> float:
        """
        Tolerance that determines which intrinsics are considered for a camera [0-1].
        
        Category: Intrinsic Selection
        UserName: Intrinsic match tolerance
        """
        ...
    @intrMatchTolerance.setter
    def intrMatchTolerance(self, value: float) -> None:
        ...

    @property
    def intrMaxError(self) -> float:
        """
        Camera intrinsics with pixel reprojection error above this value are ignored.
        
        Category: Intrinsic Selection
        UserName: Intrinsic max error
        """
        ...
    @intrMaxError.setter
    def intrMaxError(self, value: float) -> None:
        ...

    def captures(self, cam: MobileCam, iAcquisition: int) -> List[int]:
        ...

    def discardCapture(self, cam: MobileCam, iAcquisition: int, iFrame: int) -> None:
        ...

    def getAvailableIntrinsics(self, camera: MobileCam) -> List[str]:
        ...

    def getBlobs(self, cam: MobileCam, iAcquisition: int) -> List[Blob]:
        ...

    def getIntrinsicBestMatchAlert(self, camera: MobileCam) -> str:
        ...

    def getIntrinsicIndex(self, camera: MobileCam, path: str) -> int:
        ...

    def iAcquisitionLatest(self, cam: MobileCam) -> int:
        ...

    def loadCapture(self, cam: MobileCam, iAcquisition: int, iFrame: int) -> bool:
        ...

    def nCaptures(self, cam: MobileCam, iAcquisition: int) -> int:
        ...

    def processCapture(self, cam: MobileCam, iAcquisition: int, iFrame: int) -> bool:
        ...

    def recoverCapture(self, cam: MobileCam, iAcquisition: int, iFrame: int) -> None:
        ...

    def reset(self) -> None:
        ...

    def runCalibration(self, cam: MobileCam, iAcquisition: int, iCalRun: int, flags: int) -> bool:
        ...

    def runningTasks(self, cam: MobileCam) -> int:
        ...

    def saveCalibrationConfig(self, cam: MobileCam, iAcquisition: int, radialDistCoeffMode: int) -> int:
        ...

    def scan(self) -> None:
        ...

    def sendCaptureCalibImagePng(self, cam: MobileCam, iAcquisition: int) -> None:
        ...

    def setDefaultIntrinsic(self, camera: MobileCam) -> None:
        ...

    def setIntrinsic(self, camera: MobileCam, path: str) -> None:
        ...


class CameraCalibrationObservation(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraCalibrationObservation'

    @property
    def blobSettings(self) -> BlobSettings:
        """
        UserName: Blob Settings
        """
        ...
    @blobSettings.setter
    def blobSettings(self, value: BlobSettings) -> None:
        ...

    @property
    def capturedIntrinsics(self) -> LensIntrinsics:
        ...
    @capturedIntrinsics.setter
    def capturedIntrinsics(self, _capturedIntrinsics: LensIntrinsics) -> None:
        ...

    @property
    def enabledForCalibration(self) -> bool:
        """
        UserName: Enabled for calibration
        """
        ...
    @enabledForCalibration.setter
    def enabledForCalibration(self, isEnabled: bool) -> None:
        ...

    @property
    def maxCaptureTimeErrorMs(self) -> float:
        ...
    @maxCaptureTimeErrorMs.setter
    def maxCaptureTimeErrorMs(self, value: float) -> None:
        ...

    @property
    def outliers(self) -> List[CameraObservationPoint]:
        ...

    @property
    def points(self) -> List[CameraObservationPoint]:
        ...
    @points.setter
    def points(self, value: List[CameraObservationPoint]) -> None:
        ...

    @property
    def resolution(self) -> Vec2:
        ...
    @resolution.setter
    def resolution(self, resolution: Vec2) -> None:
        ...

    @property
    def solvedError(self) -> float:
        ...
    @solvedError.setter
    def solvedError(self, value: float) -> None:
        ...

    @property
    def solvedPos(self) -> Vec:
        ...
    @solvedPos.setter
    def solvedPos(self, value: Vec) -> None:
        ...

    @property
    def solvedPose(self) -> CameraPose:
        ...
    @solvedPose.setter
    def solvedPose(self, value: CameraPose) -> None:
        ...

    @property
    def solvedRot(self) -> Vec:
        ...
    @solvedRot.setter
    def solvedRot(self, value: Vec) -> None:
        ...

    @property
    def trackedFocus(self) -> float:
        """
        UserName: Tracked focus
        """
        ...
    @trackedFocus.setter
    def trackedFocus(self, value: float) -> None:
        ...

    @property
    def trackedPos(self) -> Vec:
        """
        UserName: Tracked position
        """
        ...
    @trackedPos.setter
    def trackedPos(self, value: Vec) -> None:
        ...

    @property
    def trackedPose(self) -> CameraPose:
        ...
    @trackedPose.setter
    def trackedPose(self, value: CameraPose) -> None:
        ...

    @property
    def trackedRot(self) -> Vec:
        """
        UserName: Tracked rotation
        """
        ...
    @trackedRot.setter
    def trackedRot(self, value: Vec) -> None:
        ...

    @property
    def trackedZoom(self) -> float:
        """
        UserName: Tracked zoom
        """
        ...
    @trackedZoom.setter
    def trackedZoom(self, value: float) -> None:
        ...

    @property
    def validPoints(self) -> List[CameraObservationPoint]:
        ...

    def show3dObservation(self, debugObject: DbgObject, label: str, registration: CameraTrackerRegistration, kTranslation: float, kRotation: float) -> None:
        ...


class CameraCalibrationSettings(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def BAIterations(self) -> int:
        ...
    @BAIterations.setter
    def BAIterations(self, value: int) -> None:
        ...

    @property
    def bundleAdjustTarget(self) -> int:
        ...
    @bundleAdjustTarget.setter
    def bundleAdjustTarget(self, value: int) -> None:
        ...

    @property
    def calibrationModel(self) -> int:
        ...
    @calibrationModel.setter
    def calibrationModel(self, value: int) -> None:
        ...

    @property
    def confidence(self) -> float:
        ...
    @confidence.setter
    def confidence(self, value: float) -> None:
        ...

    @property
    def confidenceAuto(self) -> int:
        ...
    @confidenceAuto.setter
    def confidenceAuto(self, value: int) -> None:
        ...

    @property
    def fixedIntrinsics(self) -> int:
        ...
    @fixedIntrinsics.setter
    def fixedIntrinsics(self, value: int) -> None:
        ...

    @property
    def inlierMaxReprojectionError(self) -> float:
        ...
    @inlierMaxReprojectionError.setter
    def inlierMaxReprojectionError(self, value: float) -> None:
        ...

    @property
    def inlierNormalPercentile(self) -> int:
        ...
    @inlierNormalPercentile.setter
    def inlierNormalPercentile(self, value: int) -> None:
        ...

    @property
    def outlierMode(self) -> int:
        ...
    @outlierMode.setter
    def outlierMode(self, value: int) -> None:
        ...

    @property
    def planarAngle(self) -> float:
        ...
    @planarAngle.setter
    def planarAngle(self, value: float) -> None:
        ...

    @property
    def planarType(self) -> int:
        ...
    @planarType.setter
    def planarType(self, value: int) -> None:
        ...

    @property
    def refineMethod(self) -> int:
        ...
    @refineMethod.setter
    def refineMethod(self, value: int) -> None:
        ...

    @property
    def useDistortion(self) -> int:
        ...
    @useDistortion.setter
    def useDistortion(self, value: int) -> None:
        ...

    @property
    def useLensShift(self) -> int:
        ...
    @useLensShift.setter
    def useLensShift(self, value: int) -> None:
        ...

    @overload
    def __init__(self) -> None:
        """
        Default constructor for CameraCalibrationSettings
        """
        ...

    @overload
    def __init__(self, other: CameraCalibrationSettings) -> None:
        """
        Copy constructor for CameraCalibrationSettings
        """
        ...


class CameraCalibrationSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'
    findConfigForObservation: Callable
    get: Callable
    isLowerCoordinateSystemNorm: Callable

    @property
    def lastCalibrationError(self) -> Vec:
        ...

    @property
    def overallError(self) -> float:
        ...

    @property
    def progress(self) -> float:
        ...

    def __init__(self) -> None:
        ...

    def alignObservation(self, obs: ManualCameraCalibrationObservation, spatialCalibration: SpatialCalibrationConfig) -> None:
        ...

    def captureNewObservation(self, camera: Camera) -> None:
        ...

    def deleteObservation(self, obs: CameraCalibrationObservation) -> None:
        ...

    def getCoordinateSystemInfo(self, spatialCalibration: SpatialCalibrationConfig) -> List[List[str]]:
        ...

    def observationIsPrimary(self, obs: CameraCalibrationObservation, spatialCalibration: SpatialCalibrationConfig) -> bool:
        ...

    def resetAllObservations(self, calibration: SpatialCalibrationConfig) -> None:
        ...

    def runCalibrateAll(self, calibration: SpatialCalibrationConfig) -> None:
        ...

    def runCalibrateForObservation(self, obs: CameraCalibrationObservation) -> None:
        ...

    def runSetValidPointsForCameraObservations(self, calibration: SpatialCalibrationConfig) -> None:
        ...

    def setValidPointsForCameraObservations(self, spatialCalibration: SpatialCalibrationConfig, objects: List[Object], arg2: CameraCalibrationObservation) -> None:
        ...


class CameraCommand(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraCommand'

    def __init__(self) -> None:
        ...


class CameraCommunication(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def cameras(self) -> List[MobileCam]:
        ...

    @property
    def isSimulating(self) -> bool:
        ...

    def clearAndDisconnectCameras(self) -> None:
        ...

    def isCameraAlive(self, cam: MobileCam) -> bool:
        ...

    def nAliveCameras(self) -> int:
        ...

    def receivedAcksList(self) -> List[str]:
        ...

    def receivedAllAcks(self) -> bool:
        ...

    def receivedNoAcksList(self) -> List[str]:
        ...


class CameraConfig(CameraCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraConfig'

    @property
    def exposure(self) -> int:
        """
        Options: {0: 'Auto', 1: 'Manual', 2: 'Iris priority', 3: 'Shutter priority'}
        UserName: Exposure
        """
        ...
    @exposure.setter
    def exposure(self, value: int) -> None:
        ...

    @property
    def focus(self) -> float:
        """
        UserName: Focus
        """
        ...
    @focus.setter
    def focus(self, value: float) -> None:
        ...

    @property
    def gain(self) -> float:
        """
        UserName: Gain
        """
        ...
    @gain.setter
    def gain(self, value: float) -> None:
        ...

    @property
    def iris(self) -> float:
        """
        UserName: Iris
        """
        ...
    @iris.setter
    def iris(self, value: float) -> None:
        ...

    @property
    def pan(self) -> float:
        """
        UserName: Pan
        """
        ...
    @pan.setter
    def pan(self, value: float) -> None:
        ...

    @property
    def shutter(self) -> float:
        """
        UserName: Shutter
        """
        ...
    @shutter.setter
    def shutter(self, value: float) -> None:
        ...

    @property
    def tilt(self) -> float:
        """
        UserName: Tilt
        """
        ...
    @tilt.setter
    def tilt(self, value: float) -> None:
        ...

    @property
    def zoom(self) -> float:
        """
        UserName: Zoom
        """
        ...
    @zoom.setter
    def zoom(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class CameraControlModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraControlModule'

    @property
    def camera(self) -> CameraDevice:
        """
        UserName: Camera
        """
        ...
    @camera.setter
    def camera(self, value: CameraDevice) -> None:
        ...

    @property
    def command(self) -> CameraCommand:
        """
        UserName: Command
        """
        ...
    @command.setter
    def command(self, value: CameraCommand) -> None:
        ...

    def filterCommandForAvailability(self, resource: Resource) -> bool:
        ...

    def filterCommandForCreation(self, classNode: ClassNode) -> bool:
        ...


class CameraCutControl(IndirectionControl):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraCutControl'

    @property
    def mrSet(self) -> MixedRealitySet:
        """
        Mixed reality set targeted for camera cuts
        
        UserName: MR set
        """
        ...
    @mrSet.setter
    def mrSet(self, value: MixedRealitySet) -> None:
        ...


class CameraDevice(Device):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraDevice'

    def __init__(self) -> None:
        ...


class CameraExposureMode(CameraCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraExposureMode'

    @property
    def exposure(self) -> int:
        """
        Options: {0: 'Auto', 1: 'Manual', 2: 'Iris priority', 3: 'Shutter priority'}
        UserName: Exposure
        """
        ...
    @exposure.setter
    def exposure(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class CameraFocus(CameraCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraFocus'

    @property
    def focus(self) -> float:
        """
        UserName: Focus
        """
        ...
    @focus.setter
    def focus(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class CameraGain(CameraCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraGain'

    @property
    def gain(self) -> float:
        """
        UserName: Gain
        """
        ...
    @gain.setter
    def gain(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class CameraGammaMode(CameraCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraGammaMode'

    @property
    def gammaMode(self) -> int:
        """
        Options: {0: 'Straight', 1: 'Standard'}
        UserName: Gamma mode
        """
        ...
    @gammaMode.setter
    def gammaMode(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class CameraGoToPreset(CameraCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraGoToPreset'

    @property
    def preset(self) -> int:
        """
        UserName: Preset
        """
        ...
    @preset.setter
    def preset(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class CameraImageMirrorMode(CameraCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraImageMirrorMode'

    @property
    def imageMirror(self) -> int:
        """
        Options: {0: 'Desktop Normal', 1: 'Desktop Mirror', 2: 'Hanging Normal', 3: 'Hanging Mirror'}
        UserName: Image mirror
        """
        ...
    @imageMirror.setter
    def imageMirror(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class CameraIris(CameraCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraIris'

    @property
    def iris(self) -> float:
        """
        UserName: Iris
        """
        ...
    @iris.setter
    def iris(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class CameraMats(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def projection(self) -> Mat:
        ...

    @property
    def resolution(self) -> Int2:
        ...

    @property
    def worldToCamera(self) -> Mat:
        ...

    def __init__(self, other: CameraMats) -> None:
        """
        Copy constructor for CameraMats
        """
        ...


class CameraNamePair(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def deviceName(self) -> str:
        ...
    @deviceName.setter
    def deviceName(self, value: str) -> None:
        ...

    @property
    def userName(self) -> str:
        ...
    @userName.setter
    def userName(self, value: str) -> None:
        ...

    def toString(self) -> str:
        ...


class CameraNightMode(CameraCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraNightMode'

    @property
    def switch(self) -> int:
        """
        Options: {0: 'Off', 1: 'On'}
        UserName: Enabled
        """
        ...
    @switch.setter
    def switch(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class CameraObject(Object):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraObject'

    @property
    def calibrationError(self) -> float:
        """
        UserName: Calibration error
        """
        ...
    @calibrationError.setter
    def calibrationError(self, value: float) -> None:
        ...

    @property
    def direction(self) -> Vec:
        """
        UserName: Direction
        """
        ...
    @direction.setter
    def direction(self, value: Vec) -> None:
        ...

    @property
    def rayColours(self) -> List[Colour]:
        ...
    @rayColours.setter
    def rayColours(self, value: List[Colour]) -> None:
        ...

    @property
    def rayEndpoints(self) -> List[Vec]:
        ...
    @rayEndpoints.setter
    def rayEndpoints(self, value: List[Vec]) -> None:
        ...

    @property
    def rayOrigins(self) -> List[Vec]:
        ...
    @rayOrigins.setter
    def rayOrigins(self, value: List[Vec]) -> None:
        ...

    def __init__(self) -> None:
        ...


class CameraObservationPoint(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def cameraPoint(self) -> Vec2:
        ...
    @cameraPoint.setter
    def cameraPoint(self, value: Vec2) -> None:
        ...

    @property
    def meshPos(self) -> Vec:
        ...
    @meshPos.setter
    def meshPos(self, value: Vec) -> None:
        ...

    @property
    def object(self) -> Object:
        ...

    @property
    def objectUV(self) -> Vec2:
        ...
    @objectUV.setter
    def objectUV(self, value: Vec2) -> None:
        ...


class CameraOnOff(CameraCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraOnOff'

    @property
    def switch(self) -> int:
        """
        Options: {0: 'Off', 1: 'On'}
        UserName: Enabled
        """
        ...
    @switch.setter
    def switch(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class CameraPanTilt(CameraCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraPanTilt'

    @property
    def pan(self) -> float:
        """
        UserName: Pan
        """
        ...
    @pan.setter
    def pan(self, value: float) -> None:
        ...

    @property
    def tilt(self) -> float:
        """
        UserName: Tilt
        """
        ...
    @tilt.setter
    def tilt(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class CameraPlate(Projection):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraPlate'

    @property
    def pixelBorder(self) -> int:
        """
        UV islands on screens are expanded by this many pixels to cover edge sampling artifacts such as black fringing.
        Note that there must be an equivalent amount of empty space in the screen UV map to take advantage of this.
        
        UserName: Border expansion
        """
        ...
    @pixelBorder.setter
    def pixelBorder(self, value: int) -> None:
        ...

    @property
    def plate(self) -> int:
        """
        Which Camera plate the mapping targets.
        
        Options: {0: 'Front Plate', 1: 'Back Plate', 2: 'Horizontal Back and Front Plates', 3: 'Front Plate Undistorted', 4: 'Back Plate Screens', 5: 'Back Plate Set Extension'}
        UserName: Camera plate
        """
        ...
    @plate.setter
    def plate(self, value: int) -> None:
        ...

    @property
    def reprojectionDist(self) -> float:
        """
        Set to the approximate distance between the camera and the main virtual content. 0 to turn off reprojection
        
        UserName: Reprojection distance (m)
        """
        ...
    @reprojectionDist.setter
    def reprojectionDist(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class CameraPose(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def matrix(self) -> Mat:
        ...

    @property
    def pos(self) -> Vec:
        ...
    @pos.setter
    def pos(self, value: Vec) -> None:
        ...

    @property
    def rotation(self) -> Vec:
        ...
    @rotation.setter
    def rotation(self, value: Vec) -> None:
        ...

    def __init__(self, other: CameraPose) -> None:
        """
        Copy constructor for CameraPose
        """
        ...

    def __sub__(self, other: CameraPose) -> CameraPose:
        ...

    def scaleDifference(self, other: CameraPose, kTranslation: float, kRotation: float) -> CameraPose:
        ...


class CameraPoseInfo(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def source(self) -> ContentViewPointSource:
        ...

    @property
    def timeStamp(self) -> float:
        ...
    @timeStamp.setter
    def timeStamp(self, value: float) -> None:
        ...


class CameraPosition(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraPosition'

    @property
    def distance_to_pivot(self) -> float:
        """
        UserName: Distance to pivot
        """
        ...
    @distance_to_pivot.setter
    def distance_to_pivot(self, value: float) -> None:
        ...

    @property
    def elevation(self) -> float:
        """
        UserName: Elevation
        """
        ...
    @elevation.setter
    def elevation(self, value: float) -> None:
        ...

    @property
    def heading(self) -> float:
        """
        UserName: Heading
        """
        ...
    @heading.setter
    def heading(self, value: float) -> None:
        ...

    @property
    def pivot(self) -> Vec:
        """
        UserName: Pivot
        """
        ...
    @pivot.setter
    def pivot(self, value: Vec) -> None:
        ...

    @property
    def roll(self) -> float:
        """
        UserName: Roll
        """
        ...
    @roll.setter
    def roll(self, value: float) -> None:
        ...

    @property
    def view_angle(self) -> float:
        """
        UserName: Field of view
        """
        ...
    @view_angle.setter
    def view_angle(self, value: float) -> None:
        ...

    @property
    def virtual_camera_coordinates(self) -> int:
        """
        Apply virtual camera position and rotation offsets relative to original camera, or in global coordinate space.
        
        Options: {0: 'Relative', 1: 'Global'}
        UserName: Virtual camera coordinates
        """
        ...
    @virtual_camera_coordinates.setter
    def virtual_camera_coordinates(self, value: int) -> None:
        ...

    @property
    def virtual_camera_position(self) -> Vec:
        ...
    @virtual_camera_position.setter
    def virtual_camera_position(self, value: Vec) -> None:
        ...

    @property
    def virtual_camera_rotation(self) -> Vec:
        ...
    @virtual_camera_rotation.setter
    def virtual_camera_rotation(self, value: Vec) -> None:
        ...

    @property
    def virtual_camera_zoom(self) -> float:
        """
        Gain applied to focal length of camera to give virtual zoom in or out.
        
        UserName: Virtual camera zoom
        """
        ...
    @virtual_camera_zoom.setter
    def virtual_camera_zoom(self, value: float) -> None:
        ...

    def getViewPos(self) -> None:
        ...


class CameraRecallPreset(CameraCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraRecallPreset'

    @property
    def drive_speed(self) -> int:
        """
        1 (Slow) - 50 (Fast)
        
        UserName: Drive speed
        """
        ...
    @drive_speed.setter
    def drive_speed(self, value: int) -> None:
        ...

    @property
    def preset(self) -> int:
        """
        The preset to be recalled (0 - 99)
        
        UserName: Preset
        """
        ...
    @preset.setter
    def preset(self, value: int) -> None:
        ...

    @property
    def send_drive_speed(self) -> int:
        """
        Enable to set the preset drive speed
        
        Options: {0: 'No', 1: 'Yes'}
        UserName: Send drive speed
        """
        ...
    @send_drive_speed.setter
    def send_drive_speed(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class CameraRedGain(CameraCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraRedGain'

    @property
    def redGain(self) -> float:
        """
        UserName: Red gain
        """
        ...
    @redGain.setter
    def redGain(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class CameraShutter(CameraCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraShutter'

    @property
    def shutter(self) -> float:
        """
        UserName: Shutter
        """
        ...
    @shutter.setter
    def shutter(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class CameraSwitchDebugger(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def isActive(self) -> bool:
        ...
    @isActive.setter
    def isActive(self, value: bool) -> None:
        ...

    @property
    def nFramesCapturedAfterSwitch(self) -> int:
        ...
    @nFramesCapturedAfterSwitch.setter
    def nFramesCapturedAfterSwitch(self, value: int) -> None:
        ...

    @property
    def triggerOnTrackingChange(self) -> bool:
        ...
    @triggerOnTrackingChange.setter
    def triggerOnTrackingChange(self, value: bool) -> None:
        ...

    def clear(self) -> None:
        ...

    def getInfo(self, iFrame: int) -> CameraSwitchFrameInfo:
        ...

    def size(self) -> int:
        ...


class CameraSwitchFrameInfo(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def backplateSwitchPhase(self) -> str:
        ...
    @backplateSwitchPhase.setter
    def backplateSwitchPhase(self, value: str) -> None:
        ...

    @property
    def feedOutputDisplay(self) -> Display:
        ...
    @feedOutputDisplay.setter
    def feedOutputDisplay(self, value: Display) -> None:
        ...

    @property
    def frame(self) -> DxTexture:
        ...
    @frame.setter
    def frame(self, value: DxTexture) -> None:
        ...

    @property
    def frontplateSwitchPhase(self) -> str:
        ...
    @frontplateSwitchPhase.setter
    def frontplateSwitchPhase(self, value: str) -> None:
        ...

    @property
    def tFrame(self) -> float:
        ...
    @tFrame.setter
    def tFrame(self, value: float) -> None:
        ...

    @property
    def targetDisplay(self) -> Display:
        ...
    @targetDisplay.setter
    def targetDisplay(self, value: Display) -> None:
        ...

    @property
    def targetDisplayFrontplate(self) -> Display:
        ...
    @targetDisplayFrontplate.setter
    def targetDisplayFrontplate(self, value: Display) -> None:
        ...

    @property
    def viewpointDisplay(self) -> Display:
        ...
    @viewpointDisplay.setter
    def viewpointDisplay(self, value: Display) -> None:
        ...

    @property
    def viewpointDisplayFrontplate(self) -> Display:
        ...
    @viewpointDisplayFrontplate.setter
    def viewpointDisplayFrontplate(self, value: Display) -> None:
        ...


class CameraTallyDisplay(DisplayIndirection):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraTallyDisplay'

    @property
    def debugger(self) -> CameraSwitchDebugger:
        ...
    @debugger.setter
    def debugger(self, value: CameraSwitchDebugger) -> None:
        ...


class CameraTrackerObservationsTester(ScreenPositionDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraTrackerObservationsTester'

    @property
    def iObservation(self) -> int:
        ...
    @iObservation.setter
    def iObservation(self, value: int) -> None:
        ...

    @property
    def sourceCamera(self) -> Camera:
        ...
    @sourceCamera.setter
    def sourceCamera(self, value: Camera) -> None:
        ...

    @property
    def view(self) -> int:
        ...
    @view.setter
    def view(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for CameraTrackerObservationsTester
        """
        ...


class CameraTrackerRegistration(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def distortion(self) -> Mat:
        ...
    @distortion.setter
    def distortion(self, value: Mat) -> None:
        ...

    @property
    def focal(self) -> Mat:
        ...
    @focal.setter
    def focal(self, value: Mat) -> None:
        ...

    @property
    def origin(self) -> Mat:
        ...
    @origin.setter
    def origin(self, value: Mat) -> None:
        ...

    def apply(self, tracker: CameraPose) -> CameraPose:
        ...


class CameraTrackerTester(ScreenPositionDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraTrackerTester'

    @property
    def delaySec(self) -> float:
        """
        Artificial delay to source camera tracking data
        
        UserName: Delay (sec)
        """
        ...
    @delaySec.setter
    def delaySec(self, value: float) -> None:
        ...

    @property
    def focalOffset(self) -> Vec:
        """
        Offset to apply to camera focal plane
        
        UserName: Focal offset
        """
        ...
    @focalOffset.setter
    def focalOffset(self, value: Vec) -> None:
        ...

    @property
    def focalRotation(self) -> Vec:
        """
        Rotation to apply to camera focal plane
        
        UserName: Focal rotation
        """
        ...
    @focalRotation.setter
    def focalRotation(self, value: Vec) -> None:
        ...

    @property
    def focusEncoderOverride(self) -> float:
        """
        Override the focus encoder value. Set to -1 to keep source camera value.
        
        UserName: Focus encoder override
        """
        ...
    @focusEncoderOverride.setter
    def focusEncoderOverride(self, value: float) -> None:
        ...

    @property
    def maxFieldOfViewH(self) -> float:
        """
        Maximum value of the range used to scale the FOV
        
        UserName: Max horizontal FOV
        """
        ...
    @maxFieldOfViewH.setter
    def maxFieldOfViewH(self, value: float) -> None:
        ...

    @property
    def minFieldOfViewH(self) -> float:
        """
        Minimum value of the range used to scale the FOV
        
        UserName: Min horizontal FOV
        """
        ...
    @minFieldOfViewH.setter
    def minFieldOfViewH(self, value: float) -> None:
        ...

    @property
    def originOffset(self) -> Vec:
        """
        Offset to apply to source camera position
        
        UserName: Origin offset
        """
        ...
    @originOffset.setter
    def originOffset(self, value: Vec) -> None:
        ...

    @property
    def originRotation(self) -> Vec:
        """
        Rotation to apply to source camera rotation
        
        UserName: Origin rotation
        """
        ...
    @originRotation.setter
    def originRotation(self, value: Vec) -> None:
        ...

    @property
    def sourceCamera(self) -> Camera:
        """
        Camerea to use a source of tracking data
        
        UserName: Source camera
        """
        ...
    @sourceCamera.setter
    def sourceCamera(self, value: Camera) -> None:
        ...

    @property
    def trackingSourceType(self) -> int:
        """
        Determines whether the driver creates a camera or object tracking source
        
        Options: {0: 'Object', 1: 'Camera'}
        UserName: Tracking source type
        """
        ...
    @trackingSourceType.setter
    def trackingSourceType(self, value: int) -> None:
        ...

    @property
    def zoomEncoderOverride(self) -> float:
        """
        Override the zoom encoder value. Set to -1 to keep source camera value.
        
        UserName: Zoom encoder override
        """
        ...
    @zoomEncoderOverride.setter
    def zoomEncoderOverride(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for CameraTrackerTester
        """
        ...


class CameraTrackingSource(ObjectTrackingSource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraTrackingSource'

    @property
    def aperture(self) -> float:
        """
        Aperture (f-stop) value
        
        UserName: Aperture
        """
        ...

    @property
    def aspectRatio(self) -> float:
        """
        Raw aspect ratio intrinsic value (w / h)
        
        UserName: Aspect ratio intrinsic
        """
        ...

    @property
    def centerShift(self) -> Vec2:
        """
        Raw center shift intrinsic value (mm)
        
        UserName: Center shift intrinsic
        """
        ...

    @property
    def fieldOfViewH(self) -> float:
        """
        Raw horizontal FOV intrinsic value (degrees)
        
        UserName: Horizontal FOV intrinsic
        """
        ...

    @property
    def fieldOfViewV(self) -> float:
        """
        Raw vertical FOV intrinsic value (degrees)
        
        UserName: Vertical FOV intrinsic
        """
        ...

    @property
    def focalLength(self) -> float:
        """
        Raw focal length intrinsic value (mm)
        
        UserName: Focal length intrinsic
        """
        ...

    @property
    def focusDistance(self) -> float:
        """
        Focus distance value (m)
        
        UserName: Focus distance
        """
        ...

    @property
    def focusEncoder(self) -> float:
        """
        Raw focus encoder value
        
        UserName: Focus encoder
        """
        ...

    @property
    def k1k2k3(self) -> Vec:
        """
        Raw lens distortion intrinsic values
        
        UserName: k1, k2, k3 intrinsic
        """
        ...

    @property
    def lensDelayOffset(self) -> float:
        """
        Time in seconds between the spatial tracking data arriving and the lens data arriving.
        If negative lens data arrives before the spatial frame.
        If positive, lens data arrives after the spatial frame.
        
        Category: Delays
        UserName: Lens delay offset (s)
        """
        ...
    @lensDelayOffset.setter
    def lensDelayOffset(self, offset: float) -> None:
        ...

    @property
    def lockedFocusValue(self) -> float:
        ...
    @lockedFocusValue.setter
    def lockedFocusValue(self, value: float) -> None:
        ...

    @property
    def lockedZoomValue(self) -> float:
        ...
    @lockedZoomValue.setter
    def lockedZoomValue(self, value: float) -> None:
        ...

    @property
    def sensorSize(self) -> Vec2:
        """
        Raw sensor size intrinsic value (mm)
        
        UserName: Sensor size intrinsic
        """
        ...

    @property
    def zoomEncoder(self) -> float:
        """
        Raw zoom encoder value
        
        UserName: Zoom encoder
        """
        ...

    def getFocusEncoderHint(self) -> str:
        ...

    def getZoomEncoderHint(self) -> str:
        ...

    def lockFocusEncoderValue(self, lock: bool) -> None:
        ...

    def lockZoomEncoderValue(self, lock: bool) -> None:
        ...


class CameraVideoIn(VideoIn):
    null: Self
    _classInfo: 'ClassInfo'


class CameraVideoInSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class CameraVideoOutputMode(CameraCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraVideoOutputMode'

    @property
    def videoOutput(self) -> int:
        """
        Change to the specified format. Note that the camera also needs to be power cycled using the On/Off command on the timeline.
        
        Options: {0: 'NTSC Angalogue', 1: 'PAL Analogue', 2: '1080i @ 60Hz', 3: '1080i @ 59.94Hz', 4: '1080i @ 50Hz', 5: '1080p @ 60Hz', 6: '1080p @ 59.94Hz', 7: '1080p @ 50Hz', 8: '1080p @ 30Hz', 9: '1080p @ 29.97Hz', 10: '1080p @ 25Hz', 11: '720p @ 60Hz', 12: '720p @ 59.94Hz', 13: '720p @ 50Hz', 14: '720p @ 30Hz', 15: '720p @ 29.97Hz', 16: '720p @ 25Hz'}
        UserName: Video output
        """
        ...
    @videoOutput.setter
    def videoOutput(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class CameraWhiteBalanceMode(CameraCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraWhiteBalanceMode'

    @property
    def whiteBalance(self) -> int:
        """
        Options: {0: 'Auto', 1: 'Indoor', 2: 'Outdoor', 3: 'One Push', 4: 'Auto Tracing', 5: 'Manual', 6: 'One Push Trigger', 7: 'Auto Including Sodium Lamp Source', 8: 'Sodium Lamp Source Fixed Mode', 9: 'Outdoor Auto Including Sodium Lamp Source'}
        UserName: White balance
        """
        ...
    @whiteBalance.setter
    def whiteBalance(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class CameraZoom(CameraCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CameraZoom'

    @property
    def zoom(self) -> float:
        """
        UserName: Zoom
        """
        ...
    @zoom.setter
    def zoom(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class CancelTaskMessage(Message):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def uid(self) -> str:
        ...
    @uid.setter
    def uid(self, value: str) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: CancelTaskMessage) -> None:
        """
        Copy constructor for CancelTaskMessage
        """
        ...


class CanvasTransfer_AssignmentTransform(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class CanvasTransfer_ProjectionFeedRectAssignmentTransform(CanvasTransfer_AssignmentTransform):
    null: Self
    _classInfo: 'ClassInfo'


class CaptureSettings(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def blackOutOtherDisplays(self) -> int:
        ...
    @blackOutOtherDisplays.setter
    def blackOutOtherDisplays(self, value: int) -> None:
        ...

    @property
    def cameraAutoMode(self) -> int:
        ...
    @cameraAutoMode.setter
    def cameraAutoMode(self, value: int) -> None:
        ...

    @property
    def cameras(self) -> List[CameraNamePair]:
        ...
    @cameras.setter
    def cameras(self, value: List[CameraNamePair]) -> None:
        ...

    @property
    def groups(self) -> List[ProjectorGroup]:
        ...
    @groups.setter
    def groups(self, value: List[ProjectorGroup]) -> None:
        ...

    @property
    def overlapThreshold(self) -> float:
        ...
    @overlapThreshold.setter
    def overlapThreshold(self, value: float) -> None:
        ...

    @property
    def parallelCaptureMode(self) -> int:
        ...
    @parallelCaptureMode.setter
    def parallelCaptureMode(self, value: int) -> None:
        ...

    @property
    def projectors(self) -> List[ProjectorCaptureSettingsPair]:
        ...
    @projectors.setter
    def projectors(self, value: List[ProjectorCaptureSettingsPair]) -> None:
        ...

    @property
    def useWarps(self) -> bool:
        ...
    @useWarps.setter
    def useWarps(self, value: bool) -> None:
        ...

    @overload
    def __init__(self) -> None:
        """
        Default constructor for CaptureSettings
        """
        ...

    @overload
    def __init__(self, other: CaptureSettings) -> None:
        """
        Copy constructor for CaptureSettings
        """
        ...


class CaptureViewSettings(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CaptureViewSettings'

    @property
    def showAdvanced(self) -> int:
        """
        Show Advanced Options
        
        Options: {0: 'No', 1: 'Yes'}
        """
        ...
    @showAdvanced.setter
    def showAdvanced(self, value: int) -> None:
        ...

    @property
    def showStackedProjectors(self) -> int:
        """
        Show Stacked Projectors
        
        Options: {0: 'No', 1: 'Yes'}
        """
        ...
    @showStackedProjectors.setter
    def showStackedProjectors(self, value: int) -> None:
        ...


class CatchupGroup(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class Change(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class ChannelInfo(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def hardwareId(self) -> str:
        ...
    @hardwareId.setter
    def hardwareId(self, value: str) -> None:
        ...

    @property
    def name(self) -> str:
        ...
    @name.setter
    def name(self, value: str) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: ChannelInfo) -> None:
        """
        Copy constructor for ChannelInfo
        """
        ...


class ChannelInstance(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    STRATEGY_MANUAL: Final = 2

    @property
    def assigner(self) -> ClusterAssigner:
        ...
    @assigner.setter
    def assigner(self, value: ClusterAssigner) -> None:
        ...

    @property
    def channel(self) -> str:
        ...
    @channel.setter
    def channel(self, value: str) -> None:
        ...

    @property
    def fragments(self) -> List[FrameFragment]:
        ...
    @fragments.setter
    def fragments(self, value: List[FrameFragment]) -> None:
        ...

    @property
    def iViewpoint(self) -> int:
        ...
    @iViewpoint.setter
    def iViewpoint(self, value: int) -> None:
        ...

    @property
    def mapping(self) -> Projection:
        ...
    @mapping.setter
    def mapping(self, value: Projection) -> None:
        ...

    @overload
    def __init__(self) -> None:
        """
        Default constructor for ChannelInstance
        """
        ...

    @overload
    def __init__(self, other: ChannelInstance) -> None:
        """
        Copy constructor for ChannelInstance
        """
        ...


class ChannelInstanceIdentifier(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class ChannelMappingAssigner(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def assigner(self) -> ClusterAssigner:
        """
        How to split and transport the video stream
        
        UserName: Assigner
        """
        ...
    @assigner.setter
    def assigner(self, value: ClusterAssigner) -> None:
        ...

    @property
    def channel(self) -> str:
        """
        Which channel to use from the asset.
        
        UserName: Channel
        """
        ...
    @channel.setter
    def channel(self, value: str) -> None:
        ...

    @property
    def loadWeight(self) -> float:
        """
        The amount of load to take from the cluster pool. Higher means more machines are assigned to the instance.
        
        UserName: Load weight
        """
        ...
    @loadWeight.setter
    def loadWeight(self, value: float) -> None:
        ...

    @property
    def mapping(self) -> Projection:
        """
        Which mapping to use for viewpoints and compositing
        
        UserName: Mapping
        """
        ...
    @mapping.setter
    def mapping(self, value: Projection) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for ChannelMappingAssigner
        """
        ...


class ChannelRouterModule(ProjectionAwareModule):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ChannelRouterModule'

    @property
    def aComponent(self) -> int:
        """
        Options: {0: 'Source 1 Red', 1: 'Source 1 Green', 2: 'Source 1 Blue', 3: 'Source 1 Alpha', 4: 'Source 1 Luma', 5: 'Source 1 Max RGB', 6: 'Source 1 Min RGB', 7: 'Source 2 Red', 8: 'Source 2 Green', 9: 'Source 2 Blue', 10: 'Source 2 Alpha', 11: 'Source 2 Luma', 12: 'Source 2 Max RGB', 13: 'Source 2 Min RGB', 14: 'Constant 0', 15: 'Constant 1'}
        UserName: A component
        """
        ...
    @aComponent.setter
    def aComponent(self, value: int) -> None:
        ...

    @property
    def bComponent(self) -> int:
        """
        Options: {0: 'Source 1 Red', 1: 'Source 1 Green', 2: 'Source 1 Blue', 3: 'Source 1 Alpha', 4: 'Source 1 Luma', 5: 'Source 1 Max RGB', 6: 'Source 1 Min RGB', 7: 'Source 2 Red', 8: 'Source 2 Green', 9: 'Source 2 Blue', 10: 'Source 2 Alpha', 11: 'Source 2 Luma', 12: 'Source 2 Max RGB', 13: 'Source 2 Min RGB', 14: 'Constant 0', 15: 'Constant 1'}
        UserName: B component
        """
        ...
    @bComponent.setter
    def bComponent(self, value: int) -> None:
        ...

    @property
    def gComponent(self) -> int:
        """
        Options: {0: 'Source 1 Red', 1: 'Source 1 Green', 2: 'Source 1 Blue', 3: 'Source 1 Alpha', 4: 'Source 1 Luma', 5: 'Source 1 Max RGB', 6: 'Source 1 Min RGB', 7: 'Source 2 Red', 8: 'Source 2 Green', 9: 'Source 2 Blue', 10: 'Source 2 Alpha', 11: 'Source 2 Luma', 12: 'Source 2 Max RGB', 13: 'Source 2 Min RGB', 14: 'Constant 0', 15: 'Constant 1'}
        UserName: G component
        """
        ...
    @gComponent.setter
    def gComponent(self, value: int) -> None:
        ...

    @property
    def rComponent(self) -> int:
        """
        Options: {0: 'Source 1 Red', 1: 'Source 1 Green', 2: 'Source 1 Blue', 3: 'Source 1 Alpha', 4: 'Source 1 Luma', 5: 'Source 1 Max RGB', 6: 'Source 1 Min RGB', 7: 'Source 2 Red', 8: 'Source 2 Green', 9: 'Source 2 Blue', 10: 'Source 2 Alpha', 11: 'Source 2 Luma', 12: 'Source 2 Max RGB', 13: 'Source 2 Min RGB', 14: 'Constant 0', 15: 'Constant 1'}
        UserName: R component
        """
        ...
    @rComponent.setter
    def rComponent(self, value: int) -> None:
        ...

    @property
    def source0(self) -> ContentSource:
        """
        UserName: Source 1
        """
        ...
    @source0.setter
    def source0(self, value: ContentSource) -> None:
        ...

    @property
    def source1(self) -> ContentSource:
        """
        UserName: Source 2
        """
        ...
    @source1.setter
    def source1(self, value: ContentSource) -> None:
        ...

    def __init__(self) -> None:
        ...


class ChevronModule(ProjectionAwareModule):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ChevronModule'

    @property
    def angle(self) -> float:
        """
        UserName: Angle
        """
        ...
    @angle.setter
    def angle(self, value: float) -> None:
        ...

    @property
    def firstBrightness(self) -> float:
        """
        UserName: First brightness
        """
        ...
    @firstBrightness.setter
    def firstBrightness(self, value: float) -> None:
        ...

    @property
    def rotation(self) -> float:
        """
        UserName: Rotation
        """
        ...
    @rotation.setter
    def rotation(self, value: float) -> None:
        ...

    @property
    def spacing(self) -> float:
        """
        UserName: Spacing
        """
        ...
    @spacing.setter
    def spacing(self, value: float) -> None:
        ...

    @property
    def speed(self) -> float:
        """
        UserName: Speed
        """
        ...
    @speed.setter
    def speed(self, value: float) -> None:
        ...

    @property
    def width(self) -> float:
        """
        UserName: Width
        """
        ...
    @width.setter
    def width(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class ChristieProjectorDevice(ProjectorDevice):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ChristieProjectorDevice'
    exportWarpFilesHelper: Callable


class ChromaKeyModule(ProjectionAwareModule):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ChromaKeyModule'

    @property
    def colourCutoff(self) -> float:
        """
        UserName: Colour cutoff
        """
        ...
    @colourCutoff.setter
    def colourCutoff(self, value: float) -> None:
        ...

    @property
    def colourFeathering(self) -> float:
        """
        UserName: Colour feathering
        """
        ...
    @colourFeathering.setter
    def colourFeathering(self, value: float) -> None:
        ...

    @property
    def despill(self) -> float:
        """
        UserName: Despill strength
        """
        ...
    @despill.setter
    def despill(self, value: float) -> None:
        ...

    @property
    def despillLuminanceAdd(self) -> float:
        """
        UserName: Despill luminance add
        """
        ...
    @despillLuminanceAdd.setter
    def despillLuminanceAdd(self, value: float) -> None:
        ...

    @property
    def keyColour(self) -> Colour:
        """
        UserName: Key colour
        """
        ...
    @keyColour.setter
    def keyColour(self, value: Colour) -> None:
        ...

    @property
    def maskFeathering(self) -> float:
        """
        UserName: Mask feathering
        """
        ...
    @maskFeathering.setter
    def maskFeathering(self, value: float) -> None:
        ...

    @property
    def sharpening(self) -> float:
        """
        UserName: Sharpening
        """
        ...
    @sharpening.setter
    def sharpening(self, value: float) -> None:
        ...

    @property
    def source(self) -> ContentSource:
        """
        UserName: Source
        """
        ...
    @source.setter
    def source(self, value: ContentSource) -> None:
        ...

    def __init__(self) -> None:
        ...


class ChromaticitySet(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def blue(self) -> Vec2:
        """
        Blue primary chromaticity coordinates (xy)
        """
        ...
    @blue.setter
    def blue(self, value: Vec2) -> None:
        ...

    @property
    def ca(self) -> int:
        """
        Chromatic adaptation transform
        """
        ...
    @ca.setter
    def ca(self, value: int) -> None:
        ...

    @property
    def green(self) -> Vec2:
        """
        Green primary chromaticity coordinates (xy)
        """
        ...
    @green.setter
    def green(self, value: Vec2) -> None:
        ...

    @property
    def red(self) -> Vec2:
        """
        Red primary chromaticity coordinates (xy)
        """
        ...
    @red.setter
    def red(self, value: Vec2) -> None:
        ...

    @property
    def white(self) -> Vec2:
        """
        White point chromaticity coordinates (xy)
        """
        ...
    @white.setter
    def white(self, value: Vec2) -> None:
        ...


class ClassEditorAttribute(ReflectionAttributeT):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def removeFields(self) -> List[str]:
        ...
    @removeFields.setter
    def removeFields(self, fields: List[str]) -> None:
        ...

    @property
    def separators(self) -> List[str]:
        ...
    @separators.setter
    def separators(self, separators: List[str]) -> None:
        ...


class ClassInfo(ReflectionAttributeContainer):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def actions(self) -> List[ActionInfo]:
        ...

    @property
    def base(self) -> ClassInfo:
        ...

    @property
    def constructors(self) -> List[ConstructorInfo]:
        ...

    @property
    def fields(self) -> List[FieldInfo]:
        ...

    @property
    def methods(self) -> List[MethodInfo]:
        ...

    @property
    def properties(self) -> List[PropertyInfo]:
        ...

    @property
    def size(self) -> int:
        ...

    @property
    def templates(self) -> List[Type]:
        ...

    @property
    def type(self) -> Type:
        ...

    def action(self, name: string_view) -> ActionInfo:
        ...

    def field(self, name: string_view) -> FieldInfo:
        ...

    def findProperty(self, name: string_view) -> PropertyInfo:
        ...

    def method(self, name: string_view) -> MethodInfo:
        ...

    def property_(self, name: string_view) -> PropertyInfo:
        ...

    def staticField(self, name: string_view) -> ReflectionValue:
        ...

    def staticMethod(self, name: string_view) -> Callable:
        ...


class ClassNode(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def categoryName(self) -> str:
        ...

    @property
    def creator(self) -> Resource:
        ...

    @property
    def group(self) -> str:
        ...

    @property
    def name(self) -> str:
        ...

    @property
    def rpType(self) -> Type:
        ...

    @property
    def userName(self) -> str:
        ...


class Client(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class ClockTransitionInfo(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class CloudExportTask(Task):
    null: Self
    _classInfo: 'ClassInfo'


class CloudSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...

    def activeUsername(self) -> str:
        ...

    def addExportTask(self, trackUid: int, selectionStartBeat: float, selectionEndBeat: float) -> None:
        ...

    def cancelExportTask(self) -> None:
        ...

    def exportConfig(self) -> ExportConfig:
        ...

    def exportStatus(self) -> ExporterStatus:
        ...

    def hasExporter(self) -> bool:
        ...

    def refreshStorageInfo(self) -> None:
        ...

    def retryUploadTask(self) -> bool:
        ...

    def storageDrives(self) -> List[str]:
        ...

    def storageOrganizations(self) -> List[str]:
        ...


class CloudUploadTask(Task):
    null: Self
    _classInfo: 'ClassInfo'


class ClusterAssigner(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ClusterAssigner'
    SPLIT_TYPE_MANUAL: Final = 2
    SPLIT_TYPE_TILES: Final = 0
    TRANSPORT_BIT_DEPTH_10: Final = 1
    TRANSPORT_BIT_DEPTH_12: Final = 2
    TRANSPORT_BIT_DEPTH_16: Final = 3
    TRANSPORT_BIT_DEPTH_8: Final = 0
    TRANSPORT_FORMAT_RGB444: Final = 0
    TRANSPORT_FORMAT_YUV420: Final = 2
    TRANSPORT_FORMAT_YUV422: Final = 1
    TRANSPORT_TYPE_COMPRESSED: Final = 2
    TRANSPORT_TYPE_LOCAL: Final = 3
    TRANSPORT_TYPE_NDI: Final = 0
    TRANSPORT_TYPE_UNCOMPRESSED: Final = 1
    isValidWorkloadTransportCombination: Callable

    @property
    def enableAlpha(self) -> bool:
        """
        UserName: Alpha
        """
        ...
    @enableAlpha.setter
    def enableAlpha(self, value: bool) -> None:
        ...

    @property
    def maxTileSize(self) -> Int2:
        """
        Largest resolution before viewports are split into tiles.
        Null values default to a safe limit
        
        UserName: Maximum tile size (pixels)
        """
        ...
    @maxTileSize.setter
    def maxTileSize(self, value: Int2) -> None:
        ...

    @property
    def overlap(self) -> int:
        """
        Overlap between splits that is blended together.
        Use to hide simulation imperfections.
        
        UserName: Splitting overlap (pixels)
        """
        ...
    @overlap.setter
    def overlap(self, value: int) -> None:
        ...

    @property
    def padding(self) -> int:
        """
        Padding between splits that is rendered, but cut off before compositing.
        Use to remove screen-space edge artifacts.
        If in Full-Frame mode, padding will apply on the outside of the frame
        
        UserName: Padding (pixels)
        """
        ...
    @padding.setter
    def padding(self, value: int) -> None:
        ...

    @property
    def preferredNetwork(self) -> IPAddress:
        """
        UserName: Preferred network
        """
        ...
    @preferredNetwork.setter
    def preferredNetwork(self, value: IPAddress) -> None:
        ...

    @property
    def proxySettings(self) -> ProxySettings:
        """
        UserName: Proxy streams
        """
        ...
    @proxySettings.setter
    def proxySettings(self, value: ProxySettings) -> None:
        ...

    @property
    def scaleFactor(self) -> float:
        """
        Scale factor for the resolution. Downscaled streams will be upscaled using Super Resolution techniques
        
        UserName: Scale factor
        """
        ...
    @scaleFactor.setter
    def scaleFactor(self, value: float) -> None:
        ...

    @property
    def splitter(self) -> int:
        """
        Options: {0: 'Tiles', 1: 'Full frame', 2: 'Manual'}
        UserName: Splitting strategy
        """
        ...
    @splitter.setter
    def splitter(self, value: int) -> None:
        ...

    @property
    def transportBitDepth(self) -> int:
        ...
    @transportBitDepth.setter
    def transportBitDepth(self, value: int) -> None:
        ...

    @property
    def transportFormat(self) -> int:
        ...
    @transportFormat.setter
    def transportFormat(self, value: int) -> None:
        ...

    @property
    def transportType(self) -> int:
        ...
    @transportType.setter
    def transportType(self, value: int) -> None:
        ...

    def isUpscaleSupported(self) -> bool:
        ...

    def isValidCombination(self) -> bool:
        ...

    def maxTransportResolution(self) -> Int2:
        ...


class ClusterPool(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ClusterPool'

    @property
    def machines(self) -> List[RenderStreamMachine]:
        """
        UserName: Render machines
        """
        ...
    @machines.setter
    def machines(self, value: List[RenderStreamMachine]) -> None:
        ...

    @property
    def understudies(self) -> List[RenderStreamMachine]:
        """
        UserName: Renderstream understudies
        """
        ...
    @understudies.setter
    def understudies(self, value: List[RenderStreamMachine]) -> None:
        ...

    def assetErrors(self, asset: RenderStreamAsset) -> List[str]:
        ...

    def assignerErrors(self, assigner: ClusterAssigner) -> List[str]:
        ...

    def getOnlineRenderMachines(self) -> List[RenderStreamMachine]:
        ...

    def getOnlineUnderstudies(self) -> List[RenderStreamMachine]:
        ...


class Col(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    black: Col
    blackZeroAlpha: Col
    blue: Col
    caramel: Col
    cyan: Col
    darkGrey: Col
    fromHSL: Callable
    green: Col
    grey: Col
    lightGrey: Col
    lime: Col
    magenta: Col
    orange: Col
    pink: Col
    red: Col
    salmon: Col
    transparent: Col
    turquoise: Col
    white: Col
    whiteZeroAlpha: Col
    yellow: Col

    @property
    def a(self) -> int:
        """
        UserName: A
        """
        ...
    @a.setter
    def a(self, value: int) -> None:
        ...

    @property
    def b(self) -> int:
        """
        UserName: B
        """
        ...
    @b.setter
    def b(self, value: int) -> None:
        ...

    @property
    def g(self) -> int:
        """
        UserName: G
        """
        ...
    @g.setter
    def g(self, value: int) -> None:
        ...

    @property
    def r(self) -> int:
        """
        UserName: R
        """
        ...
    @r.setter
    def r(self, value: int) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: Col) -> None:
        """
        Copy constructor for Col
        """
        ...

    @overload
    def __init__(self, r: int, g: int, b: int) -> None:
        ...

    @overload
    def __init__(self, r: int, g: int, b: int, a: int) -> None:
        ...

    @overload
    def __init__(self, c: Colour) -> None:
        ...

    def __add__(self, c: Col) -> Col:
        ...

    def __eq__(self, c: Col) -> bool:
        ...

    def __mul__(col, x) -> Any:
        """
        Multiply the elements of the colour by a value
        
        :param x: A float or integer multiplier
        
        :return The colour with its elements multiplied by x
        """
        ...

    def __ne__(self, c: Col) -> bool:
        ...

    def __repr__(self) -> Any:
        """
        String representation of the colour
        """
        ...

    def __rmul__(col, x) -> Any:
        """
        Multiply the elements of the colour by a value
        
        :param x: A float or integer multiplier
        
        :return The colour with its elements multiplied by x
        """
        ...

    def __sub__(self, c: Col) -> Col:
        ...

    def mix(self, c: Col, r: float) -> Col:
        ...

    def toHSL(self) -> Vec:
        ...

    def toNormalisedColour(self) -> Colour:
        ...


class ColourAdjustModule(ProjectionAwareModule):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ColourAdjustModule'

    @property
    def ccBrightness(self) -> float:
        """
        UserName: Brightness
        """
        ...
    @ccBrightness.setter
    def ccBrightness(self, value: float) -> None:
        ...

    @property
    def ccContrast(self) -> float:
        """
        UserName: Contrast
        """
        ...
    @ccContrast.setter
    def ccContrast(self, value: float) -> None:
        ...

    @property
    def ccKelvin(self) -> float:
        """
        UserName: Kelvin
        """
        ...
    @ccKelvin.setter
    def ccKelvin(self, value: float) -> None:
        ...

    @property
    def ccSaturation(self) -> float:
        """
        UserName: Saturation
        """
        ...
    @ccSaturation.setter
    def ccSaturation(self, value: float) -> None:
        ...

    @property
    def ccTint(self) -> float:
        """
        UserName: Tint
        """
        ...
    @ccTint.setter
    def ccTint(self, value: float) -> None:
        ...

    @property
    def ccWhiteBalanceMode(self) -> int:
        """
        Controls which white balance preset is applied
        
        Options: {0: 'None', 1: 'Custom', 2: 'Daylight', 3: 'Shade', 4: 'Cloudy', 5: 'Tungsten', 6: 'Florescent', 7: 'Flash'}
        UserName: White balance preset
        """
        ...
    @ccWhiteBalanceMode.setter
    def ccWhiteBalanceMode(self, value: int) -> None:
        ...

    @property
    def gainColour(self) -> Colour:
        """
        Category: Levels
        UserName: Highlight
        """
        ...
    @gainColour.setter
    def gainColour(self, value: Colour) -> None:
        ...

    @property
    def midtoneColour(self) -> HDRColour:
        """
        Category: Levels
        UserName: Midtone
        """
        ...
    @midtoneColour.setter
    def midtoneColour(self, value: HDRColour) -> None:
        ...

    @property
    def outputLevelHigh(self) -> float:
        """
        Category: Levels
        UserName: Output High
        """
        ...
    @outputLevelHigh.setter
    def outputLevelHigh(self, value: float) -> None:
        ...

    @property
    def outputLevelHighClamp(self) -> float:
        """
        Clamp the output above the specified value
        
        Category: Levels
        UserName: Output High Clamp
        """
        ...
    @outputLevelHighClamp.setter
    def outputLevelHighClamp(self, value: float) -> None:
        ...

    @property
    def outputLevelLow(self) -> float:
        """
        Category: Levels
        UserName: Output Low
        """
        ...
    @outputLevelLow.setter
    def outputLevelLow(self, value: float) -> None:
        ...

    @property
    def outputLevelLowClamp(self) -> float:
        """
        Clamp the output below the specified value
        
        Category: Levels
        UserName: Output Low Clamp
        """
        ...
    @outputLevelLowClamp.setter
    def outputLevelLowClamp(self, value: float) -> None:
        ...

    @property
    def oututLevelClampEnable(self) -> bool:
        """
        Enable clamping output
        
        Category: Levels
        UserName: Enable Output Clamp
        """
        ...
    @oututLevelClampEnable.setter
    def oututLevelClampEnable(self, value: bool) -> None:
        ...

    @property
    def shadowColour(self) -> Colour:
        """
        Category: Levels
        UserName: Shadow
        """
        ...
    @shadowColour.setter
    def shadowColour(self, value: Colour) -> None:
        ...

    @property
    def source(self) -> ContentSource:
        """
        UserName: Source
        """
        ...
    @source.setter
    def source(self, value: ContentSource) -> None:
        ...

    def __init__(self) -> None:
        ...


class ColourModule(ProjectionAwareModule):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ColourModule'

    def __init__(self) -> None:
        """
        Default constructor for ColourModule
        """
        ...


class ColourProfile(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ColourProfile'

    @property
    def colourspace(self) -> int:
        """
        Options: {0: 'ITU-R BT.709', 1: 'ITU-R BT.2020', 2: 'ACES (AP0)', 3: 'ACES (AP1)', 4: 'ALEXA Wide Gamut RGB', 5: 'S-Gamut', 6: 'V-Gamut', 7: 'REDWideGamutRGB', 8: 'JLog-LS300', 9: 'Canon Cinema Gamut', 10: 'DCI-P3', 11: 'ITU-R BT.470', 12: 'SMPTE 240M', 13: 'CIE 1931 XYZ', 14: 'Custom'}
        UserName: Colour space
        """
        ...
    @colourspace.setter
    def colourspace(self, value: int) -> None:
        ...

    @property
    def customPrimaries(self) -> ChromaticitySet:
        """
        When the colour space is set to 'Custom', these will be used.
        
        UserName: Custom primaries
        """
        ...
    @customPrimaries.setter
    def customPrimaries(self, value: ChromaticitySet) -> None:
        ...

    @property
    def gammaLevel(self) -> float:
        """
        Gamma level for gamma curve: Gamma
        
        UserName: Gamma level
        """
        ...
    @gammaLevel.setter
    def gammaLevel(self, value: float) -> None:
        ...

    @property
    def gammacurve(self) -> int:
        """
        Options: {0: 'sRGB', 1: 'Linear', 2: 'PQ SMPTE ST.2084', 3: 'HLG ITU-R BT.2100', 4: 'ALEXA LogC EI 160', 5: 'ALEXA LogC EI 800', 6: 'Sony SLog3', 7: 'Panasonic V-Log', 8: 'RED Log3G10', 9: 'JVC Kenwood J-Log1 LS300', 10: 'Kodak Log - Over range', 11: 'Canon CLog2', 12: 'Canon Clog3', 13: 'Gamma', 14: 'ITU-R BT.1886', 15: 'ACEScc', 16: 'ACEScct'}
        UserName: Gamma curve
        """
        ...
    @gammacurve.setter
    def gammacurve(self, value: int) -> None:
        ...

    @property
    def paperwhite(self) -> float:
        """
        Paper white surface luminance in nits/candela.
        
        UserName: Paper white
        """
        ...
    @paperwhite.setter
    def paperwhite(self, value: float) -> None:
        ...

    @property
    def peakwhite(self) -> float:
        """
        The maximum display intensity in nits/candela.
        
        UserName: Maximum luminance
        """
        ...
    @peakwhite.setter
    def peakwhite(self, value: float) -> None:
        ...

    @property
    def profilename(self) -> str:
        """
        User defined description of the profile
        
        UserName: Name
        """
        ...
    @profilename.setter
    def profilename(self, value: str) -> None:
        ...

    @property
    def tonemapping(self) -> int:
        """
        Technique to use for HDR content on an SDR output
        
        Options: {0: 'None', 1: 'Reinhard', 2: 'Hable', 3: 'ACES Filmic'}
        UserName: Tone mapping
        """
        ...
    @tonemapping.setter
    def tonemapping(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class ColourShift(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ColourShift'

    @property
    def RGB_controlled(self) -> int:
        """
        If 'Separate', you can control min/max/gamma separately; otherwise, all work together
        
        Options: {0: 'Separate', 1: 'Together'}
        UserName: RGB controlled
        """
        ...
    @RGB_controlled.setter
    def RGB_controlled(self, value: int) -> None:
        ...

    @property
    def blue_gamma(self) -> float:
        """
        Gamma curve setting. Higher numbers produce darker results; 1 means no change
        
        UserName: Blue gamma
        """
        ...
    @blue_gamma.setter
    def blue_gamma(self, value: float) -> None:
        ...

    @property
    def blue_max(self) -> float:
        """
        Levels higher than 'max' are scaled up to full
        
        UserName: Blue maximum
        """
        ...
    @blue_max.setter
    def blue_max(self, value: float) -> None:
        ...

    @property
    def blue_min(self) -> float:
        """
        Levels lower than 'min' are scaled down to black
        
        UserName: Blue minimum
        """
        ...
    @blue_min.setter
    def blue_min(self, value: float) -> None:
        ...

    @property
    def brightness__shift_(self) -> float:
        """
        UserName: Brightness (shift)
        """
        ...
    @brightness__shift_.setter
    def brightness__shift_(self, value: float) -> None:
        ...

    @property
    def contrast__scale_(self) -> float:
        """
        UserName: Contrast (scale)
        """
        ...
    @contrast__scale_.setter
    def contrast__scale_(self, value: float) -> None:
        ...

    @property
    def green_gamma(self) -> float:
        """
        Gamma curve setting. Higher numbers produce darker results; 1 means no change
        
        UserName: Green gamma
        """
        ...
    @green_gamma.setter
    def green_gamma(self, value: float) -> None:
        ...

    @property
    def green_max(self) -> float:
        """
        Levels higher than 'max' are scaled up to full
        
        UserName: Green maximum
        """
        ...
    @green_max.setter
    def green_max(self, value: float) -> None:
        ...

    @property
    def green_min(self) -> float:
        """
        Levels lower than 'min' are scaled down to black
        
        UserName: Green minimum
        """
        ...
    @green_min.setter
    def green_min(self, value: float) -> None:
        ...

    @property
    def hardness(self) -> float:
        """
        Lower numbers produce softer edges between transparent and opaque areas
        
        Category: Keying
        UserName: Hardness
        """
        ...
    @hardness.setter
    def hardness(self, value: float) -> None:
        ...

    @property
    def hue_shift(self) -> float:
        """
        Shifts hue; in degrees
        
        UserName: Hue shift
        """
        ...
    @hue_shift.setter
    def hue_shift(self, value: float) -> None:
        ...

    @property
    def key_colour(self) -> Colour:
        """
        The key colour becomes transparent
        
        Category: Keying
        UserName: Key colour
        """
        ...
    @key_colour.setter
    def key_colour(self, value: Colour) -> None:
        ...

    @property
    def red_gamma(self) -> float:
        """
        Gamma curve setting. Higher numbers produce darker results; 1 means no change
        
        UserName: Red gamma
        """
        ...
    @red_gamma.setter
    def red_gamma(self, value: float) -> None:
        ...

    @property
    def red_max(self) -> float:
        """
        Levels higher than 'max' are scaled up to full
        
        UserName: Red maximum
        """
        ...
    @red_max.setter
    def red_max(self, value: float) -> None:
        ...

    @property
    def red_min(self) -> float:
        """
        Levels lower than 'min' are scaled down to black
        
        UserName: Red minimum
        """
        ...
    @red_min.setter
    def red_min(self, value: float) -> None:
        ...

    @property
    def saturation_scale(self) -> float:
        """
        When less than 1, desaturates (0 is b/w); when greater than 1, enhances saturation
        
        UserName: Saturation scale
        """
        ...
    @saturation_scale.setter
    def saturation_scale(self, value: float) -> None:
        ...

    @property
    def threshold(self) -> float:
        """
        Colours closer than 'Threshold' to the key colour become transparent
        
        Category: Keying
        UserName: Threshold
        """
        ...
    @threshold.setter
    def threshold(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class ColourShiftData(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def brightness(self) -> float:
        ...
    @brightness.setter
    def brightness(self, b: float) -> None:
        ...

    @property
    def contrast(self) -> float:
        ...
    @contrast.setter
    def contrast(self, c: float) -> None:
        ...

    @property
    def gamma(self) -> Vec:
        ...
    @gamma.setter
    def gamma(self, g: Vec) -> None:
        ...

    @property
    def keyColour(self) -> Colour:
        ...
    @keyColour.setter
    def keyColour(self, c: Colour) -> None:
        ...

    @property
    def keyHardness(self) -> float:
        ...
    @keyHardness.setter
    def keyHardness(self, f: float) -> None:
        ...

    @property
    def keyThreshold(self) -> float:
        ...
    @keyThreshold.setter
    def keyThreshold(self, f: float) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: ColourShiftData) -> None:
        """
        Copy constructor for ColourShiftData
        """
        ...

    def setShaderParameters(self, mtl: ShaderMaterial, objectName: str) -> None:
        ...

    def setup(self, satScale: float, hueShift: float, minLevel: Vec, maxLevel: Vec) -> None:
        ...


class ColourShiftMaterial(DxMaterial):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...

    def set(self, cs: ColourShiftData, arg1: DxTexture) -> None:
        ...


class ColourWheel(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ColourWheel'

    @property
    def channel(self) -> int:
        """
        UserName: Channel
        """
        ...
    @channel.setter
    def channel(self, value: int) -> None:
        ...

    @property
    def primaries(self) -> List[Primary]:
        """
        UserName: Primaries
        """
        ...
    @primaries.setter
    def primaries(self, value: List[Primary]) -> None:
        ...

    def __init__(self) -> None:
        ...


class Colours(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    instance: Callable

    def __call__(self, arg0: int) -> Colour:
        ...

    def colourNames(self) -> List[str]:
        ...

    def getItem(self, arg0: int) -> Colour:
        ...


class Column(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def field(self) -> FieldAccessor:
        ...
    @field.setter
    def field(self, value: FieldAccessor) -> None:
        ...

    @property
    def lockable(self) -> bool:
        ...
    @lockable.setter
    def lockable(self, value: bool) -> None:
        ...

    @property
    def name(self) -> str:
        ...
    @name.setter
    def name(self, value: str) -> None:
        ...

    @property
    def visible(self) -> bool:
        ...
    @visible.setter
    def visible(self, value: bool) -> None:
        ...


class CommonCommandInfo(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class Comms(IComms):
    null: Self
    _classInfo: 'ClassInfo'
    Active: Final = 0
    Evasive: Final = 2
    Finished: Final = 4
    Hung: Final = 3
    Inactive: Final = 1

    def allNodeNames(self) -> List[str]:
        ...

    def nodeName(self) -> str:
        ...


class CommsSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def comms(self) -> Comms:
        ...

    def __init__(self) -> None:
        """
        Default constructor for CommsSystem
        """
        ...


class ComposeModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ComposeModule'

    @property
    def blendBorder(self) -> float:
        """
        UserName: Blend border
        """
        ...
    @blendBorder.setter
    def blendBorder(self, value: float) -> None:
        ...

    @property
    def content_source_1(self) -> ContentSource:
        """
        One of the sources of the content to be composed
        
        UserName: Content source 1
        """
        ...
    @content_source_1.setter
    def content_source_1(self, value: ContentSource) -> None:
        ...

    @property
    def content_source_2(self) -> ContentSource:
        """
        One of the sources of the content to be composed
        
        UserName: Content source 2
        """
        ...
    @content_source_2.setter
    def content_source_2(self, value: ContentSource) -> None:
        ...

    @property
    def content_source_3(self) -> ContentSource:
        """
        One of the sources of the content to be composed
        
        UserName: Content source 3
        """
        ...
    @content_source_3.setter
    def content_source_3(self, value: ContentSource) -> None:
        ...

    @property
    def content_source_4(self) -> ContentSource:
        """
        One of the sources of the content to be composed
        
        UserName: Content source 4
        """
        ...
    @content_source_4.setter
    def content_source_4(self, value: ContentSource) -> None:
        ...

    @property
    def horizontalShift(self) -> float:
        """
        UserName: Horizontal shift
        """
        ...
    @horizontalShift.setter
    def horizontalShift(self, value: float) -> None:
        ...

    @property
    def rotationSpeed(self) -> float:
        """
        UserName: Rotation speed
        """
        ...
    @rotationSpeed.setter
    def rotationSpeed(self, value: float) -> None:
        ...

    @property
    def source_1(self) -> float:
        """
        The proportion of source 1 which is included in the composition
        
        UserName: Source 1
        """
        ...
    @source_1.setter
    def source_1(self, value: float) -> None:
        ...

    @property
    def source_2(self) -> float:
        """
        The proportion of source 2 which is included in the composition
        
        UserName: Source 2
        """
        ...
    @source_2.setter
    def source_2(self, value: float) -> None:
        ...

    @property
    def source_3(self) -> float:
        """
        The proportion of source 3 which is included in the composition
        
        UserName: Source 3
        """
        ...
    @source_3.setter
    def source_3(self, value: float) -> None:
        ...

    @property
    def source_4(self) -> float:
        """
        The proportion of source 4 which is included in the composition
        
        UserName: Source 4
        """
        ...
    @source_4.setter
    def source_4(self, value: float) -> None:
        ...

    @property
    def verticalShift(self) -> float:
        """
        UserName: Vertical shift
        """
        ...
    @verticalShift.setter
    def verticalShift(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class CompositeCameraTrackingSource(CameraTrackingSource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CompositeCameraTrackingSource'

    @property
    def lensSource(self) -> CameraTrackingSource:
        """
        Tracking source to get lens encoder data and intrinsics from
        
        UserName: Lens source
        """
        ...
    @lensSource.setter
    def lensSource(self, ls: CameraTrackingSource) -> None:
        ...

    @property
    def poseSource(self) -> ObjectTrackingSource:
        """
        Tracking source to get position and rotation from
        
        UserName: Pose source
        """
        ...
    @poseSource.setter
    def poseSource(self, ps: ObjectTrackingSource) -> None:
        ...


class CompositeTexture(ProceduralTexture):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CompositeTexture'

    @property
    def blendModes(self) -> List[int]:
        ...
    @blendModes.setter
    def blendModes(self, value: List[int]) -> None:
        ...

    @property
    def size(self) -> Int2:
        """
        UserName: Size
        """
        ...
    @size.setter
    def size(self, value: Int2) -> None:
        ...

    @property
    def textures(self) -> List[DxTexture]:
        ...
    @textures.setter
    def textures(self, value: List[DxTexture]) -> None:
        ...

    def addItem(self) -> None:
        ...

    def removeItem(self, index: int) -> None:
        ...


class CompositorTargetKey(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def display(self) -> Display:
        ...
    @display.setter
    def display(self, value: Display) -> None:
        ...

    @property
    def displayTarget(self) -> int:
        ...
    @displayTarget.setter
    def displayTarget(self, value: int) -> None:
        ...

    @property
    def resolution(self) -> Int2:
        ...
    @resolution.setter
    def resolution(self, value: Int2) -> None:
        ...

    @property
    def uvRectangle(self) -> Rect:
        ...
    @uvRectangle.setter
    def uvRectangle(self, value: Rect) -> None:
        ...


class CompressionOptions(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def compressionLevel(self) -> int:
        """
        The compression level from 0 (least compression) to 10 (most compression)
        Set to -1 to turn off compression
        
        UserName: Compression level
        """
        ...
    @compressionLevel.setter
    def compressionLevel(self, value: int) -> None:
        ...

    @property
    def normalsQuantizationBits(self) -> int:
        """
        Number of bits to compress vertex normals into
        
        Category: Quantization Bits
        UserName: Normals
        """
        ...
    @normalsQuantizationBits.setter
    def normalsQuantizationBits(self, value: int) -> None:
        ...

    @property
    def positionsQuantizationBits(self) -> int:
        """
        Number of bits to compress vertex positions into
        
        Category: Quantization Bits
        UserName: Positions
        """
        ...
    @positionsQuantizationBits.setter
    def positionsQuantizationBits(self, value: int) -> None:
        ...

    @property
    def texCoordsQuantizationBits(self) -> int:
        """
        Number of bits to compress texture UV coordinates into
        
        Category: Quantization Bits
        UserName: Texture coordinates
        """
        ...
    @texCoordsQuantizationBits.setter
    def texCoordsQuantizationBits(self, value: int) -> None:
        ...


class ComputeShaderSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class ConnectedField(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def value(self) -> ReflectionValue:
        ...
    @value.setter
    def value(self, value: ReflectionValue) -> None:
        ...

    @property
    def variable(self) -> ExpressionVariable:
        ...
    @variable.setter
    def variable(self, value: ExpressionVariable) -> None:
        ...

    def setFloat(self, v: float) -> None:
        ...

    def setString(self, v: str) -> None:
        ...


class ConnectionArgs(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class ConsoleEndpoint(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class ConsoleExternalMutexProvider(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class ConstructorInfo(ReflectionAttributeContainer):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def args(self) -> TCallArgs[Type]:
        ...


class ContentSource(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def arrow(self) -> int:
        ...
    @arrow.setter
    def arrow(self, value: int) -> None:
        ...

    @property
    def isExplicitEffectMode(self) -> int:
        """
        When enabled, the background is used as the source texture.
        
        UserName: from background
        """
        ...
    @isExplicitEffectMode.setter
    def isExplicitEffectMode(self, value: int) -> None:
        ...

    @property
    def texture(self) -> DxTexture:
        """
        Source selection - either Arrow source or a Texture. It is useful to select a PreCompTexture here.
        
        UserName: texture
        """
        ...
    @texture.setter
    def texture(self, value: DxTexture) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, arrow: int) -> None:
        ...

    @overload
    def __init__(self, other: ContentSource) -> None:
        """
        Copy constructor for ContentSource
        """
        ...

    @overload
    def __init__(self, arrow: int, tex: DxTexture) -> None:
        ...


class ContentViewPoint(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def isRendered(self) -> bool:
        ...
    @isRendered.setter
    def isRendered(self, value: bool) -> None:
        ...

    @property
    def source(self) -> ContentViewPointSource:
        ...
    @source.setter
    def source(self, value: ContentViewPointSource) -> None:
        ...


class ContentViewPointSource(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def index(self) -> int:
        ...
    @index.setter
    def index(self, value: int) -> None:
        ...

    @property
    def object(self) -> Object:
        ...
    @object.setter
    def object(self, value: Object) -> None:
        ...


class Control3DManipulator(Manipulator):
    null: Self
    _classInfo: 'ClassInfo'

    def selectRotationManipulator(self) -> bool:
        """
        Select Translation Manipulator
        """
        ...

    def selectScaleManipulator(self) -> bool:
        """
        Select Translation Manipulator
        """
        ...

    def selectTranslationManipulator(self) -> bool:
        """
        Select Translation Manipulator
        """
        ...

    def toggleCoordinateSpace(self) -> None:
        """
        Toggle between gizmos working on global and local space
        """
        ...


class ControlDevice(Device):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ControlDevice'

    @property
    def failoverCommand(self) -> ControlString:
        """
        UserName: Failover command
        """
        ...
    @failoverCommand.setter
    def failoverCommand(self, value: ControlString) -> None:
        ...

    @property
    def recoveryCommand(self) -> ControlString:
        """
        UserName: Recovery command
        """
        ...
    @recoveryCommand.setter
    def recoveryCommand(self, value: ControlString) -> None:
        ...

    def sendFailover(self, source: str) -> None:
        ...

    def sendRecovery(self, source: str) -> None:
        ...


class ControlModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ControlModule'

    @property
    def auto_resend(self) -> int:
        """
        Options: {0: 'Off', 1: 'Whenever variable changes'}
        UserName: Auto resend
        """
        ...
    @auto_resend.setter
    def auto_resend(self, value: int) -> None:
        ...

    @property
    def command(self) -> ControlString:
        """
        UserName: Command
        """
        ...
    @command.setter
    def command(self, value: ControlString) -> None:
        ...

    @property
    def control_device(self) -> ControlDevice:
        """
        UserName: Control device
        """
        ...
    @control_device.setter
    def control_device(self, value: ControlDevice) -> None:
        ...

    @property
    def variable(self) -> int:
        """
        UserName: Variable
        """
        ...
    @variable.setter
    def variable(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class ControlPatch(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ControlPatch'

    class InputValues(_BlipValue):
        null: Self
        _classInfo: 'ClassInfo'

        @property
        def lastActivationTime(self) -> float:
            ...

        @property
        def values(self) -> map[str, ReflectionValue]:
            ...

        @overload
        def __init__(self) -> None:
            ...

        @overload
        def __init__(self, arg0: InputValues) -> None:
            ...


    @property
    def embeddedInResource(self) -> bool:
        ...

    @property
    def layerDescriptionSuffix(self) -> str:
        ...

    @property
    def parent(self) -> Resource:
        ...

    @property
    def personality(self) -> SockpuppetPersonality:
        """
        Describes the patch, and defines the set of controllable properties.
        
        UserName: Personality
        """
        ...
    @personality.setter
    def personality(self, p: SockpuppetPersonality) -> None:
        ...

    def controlsField(self, fieldUndecoratedName: str) -> bool:
        ...

    def didChange(self, prop: SockpuppetProperty) -> bool:
        ...

    def inputValues(self) -> InputValues:
        ...

    def reportCollisions(self) -> None:
        ...


class ControlString(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ControlString'

    @property
    def string(self) -> str:
        """
        UserName: String
        """
        ...
    @string.setter
    def string(self, newString: str) -> None:
        ...

    def __init__(self) -> None:
        ...


class CopyData(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class CopyFileTask(Task):
    null: Self
    _classInfo: 'ClassInfo'


class CoreResourceManager(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'
    ArrowBitmap: Final = 0
    CheckerBoardBitmap: Final = 3
    DemoLogoBitmap: Final = 1
    LuxmapBitmap: Final = 5
    OneOnOneOffBitmap: Final = 2
    UnknownThumb: Final = 4

    def __init__(self) -> None:
        """
        Default constructor for CoreResourceManager
        """
        ...

    def getBitmap(self, res: int) -> DxTexture:
        ...


class Core_Impl(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class CoutEndpoint(ConsoleEndpoint):
    null: Self
    _classInfo: 'ClassInfo'


class CpsAxisState(TrackingScalarState):
    null: Self
    _classInfo: 'ClassInfo'


class Cue(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Cue'

    @property
    def note(self) -> str:
        ...
    @note.setter
    def note(self, value: str) -> None:
        ...

    @property
    def section(self) -> bool:
        ...
    @section.setter
    def section(self, value: bool) -> None:
        ...

    @property
    def sectionTransition(self) -> TrackTransitionInfo:
        ...
    @sectionTransition.setter
    def sectionTransition(self, value: TrackTransitionInfo) -> None:
        ...

    def getNote(self) -> str:
        ...

    def getTag(self, tagType: int) -> Tag:
        ...

    def getTags(self) -> List[Tag]:
        ...

    def hasNote(self) -> bool:
        ...

    def hasTags(self) -> bool:
        ...

    def isEmpty(self) -> bool:
        ...

    def isSection(self) -> bool:
        ...

    def setNote(self, note: str) -> None:
        ...

    def setTag(self, tag: Tag) -> None:
        ...


class CustomEngineDefinition(EngineDefinition):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        """
        Default constructor for CustomEngineDefinition
        """
        ...


class CustomStreamEndpoint(ConsoleEndpoint):
    null: Self
    _classInfo: 'ClassInfo'


class CustomTiming(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CustomTiming'

    @property
    def hActive(self) -> int:
        ...
    @hActive.setter
    def hActive(self, value: int) -> None:
        ...

    @property
    def hBack(self) -> int:
        ...
    @hBack.setter
    def hBack(self, value: int) -> None:
        ...

    @property
    def hFront(self) -> int:
        ...
    @hFront.setter
    def hFront(self, value: int) -> None:
        ...

    @property
    def hPolarity(self) -> int:
        ...
    @hPolarity.setter
    def hPolarity(self, value: int) -> None:
        ...

    @property
    def hSync(self) -> int:
        ...
    @hSync.setter
    def hSync(self, value: int) -> None:
        ...

    @property
    def interlaced(self) -> int:
        ...
    @interlaced.setter
    def interlaced(self, value: int) -> None:
        ...

    @property
    def pixelClock(self) -> int:
        ...
    @pixelClock.setter
    def pixelClock(self, value: int) -> None:
        ...

    @property
    def vActive(self) -> int:
        ...
    @vActive.setter
    def vActive(self, value: int) -> None:
        ...

    @property
    def vBack(self) -> int:
        ...
    @vBack.setter
    def vBack(self, value: int) -> None:
        ...

    @property
    def vFront(self) -> int:
        ...
    @vFront.setter
    def vFront(self, value: int) -> None:
        ...

    @property
    def vPolarity(self) -> int:
        ...
    @vPolarity.setter
    def vPolarity(self, value: int) -> None:
        ...

    @property
    def vSync(self) -> int:
        ...
    @vSync.setter
    def vSync(self, value: int) -> None:
        ...


class Cylindrical(Projection):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Cylindrical'

    @property
    def anchor(self) -> int:
        """
        Options: {0: 'Bottom', 1: 'Centre', 2: 'Top'}
        UserName: Anchor
        """
        ...
    @anchor.setter
    def anchor(self, value: int) -> None:
        ...

    @property
    def arc(self) -> float:
        """
        Arc around the cylinder axis the content is projected from.
        Extends symmetrically either side of the X axis of the object.
        
        UserName: Arc
        """
        ...
    @arc.setter
    def arc(self, value: float) -> None:
        ...

    @property
    def pixelBorder(self) -> int:
        """
        UV islands on screens are expanded by this many pixels to cover edge sampling artifacts such as black fringing.
        Note that there must be an equivalent amount of empty space in the screen UV map to take advantage of this.
        
        UserName: Border expansion
        """
        ...
    @pixelBorder.setter
    def pixelBorder(self, value: int) -> None:
        ...

    @property
    def projectionMode(self) -> int:
        """
        Whether the content is on the inside or outside of the target surface.
        
        Options: {0: 'Outside', 1: 'Inside'}
        UserName: Projection mode
        """
        ...
    @projectionMode.setter
    def projectionMode(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class CylindricalProjectionObject(ProjectionObject):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'CylindricalProjectionObject'

    @property
    def size(self) -> Vec:
        """
        Controls the size of the cylinder
        
        UserName: Size
        """
        ...
    @size.setter
    def size(self, value: Vec) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for CylindricalProjectionObject
        """
        ...


class D3(App):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'D3'

    @property
    def debugOutput(self) -> str:
        ...

    @property
    def gpuLoad(self) -> float:
        ...

    @property
    def iHeadGui(self) -> int:
        ...

    @property
    def majorVersion(self) -> str:
        """
        Get the major version
        """
        ...

    @property
    def minorVersion(self) -> str:
        """
        Get the minor version
        """
        ...

    @property
    def password(self) -> str:
        ...
    @password.setter
    def password(self, value: str) -> None:
        ...

    @property
    def projectFolder(self) -> str:
        """
        Get the current project folder
        """
        ...

    @property
    def projectName(self) -> str:
        """
        Get the current project name
        """
        ...

    @property
    def projectPaths(self) -> ProjectPathsManager:
        """
        Get the current project paths object
        """
        ...

    @property
    def space(self) -> Space:
        ...
    @space.setter
    def space(self, value: Space) -> None:
        ...

    @property
    def state(self) -> D3State:
        ...
    @state.setter
    def state(self, value: D3State) -> None:
        ...

    def alertError(self, message: str = '') -> None:
        """
        Alert the user regarding a critical error
        """
        ...

    def alertInfo(self, message: str = '') -> None:
        """
        Alert the user regarding a notable event
        """
        ...

    def alertWarning(self, message: str = '') -> None:
        """
        Alert the user regarding a potential issue
        """
        ...

    def clipObjects(self) -> List[Resource]:
        ...

    def currentContext(self) -> str:
        """
        Get the current function context
        """
        ...

    def cycleFeeds(self) -> None:
        """
        Cycle feed output display on the GUI head
        """
        ...

    def directorForceQuitAll(self) -> None:
        """
        Kill all machines (kill process)
        """
        ...

    def directorForceQuitSingle(self, hostname: str) -> None:
        """
        Kill single machine (kill process)
        """
        ...

    def directorQuitAll(self) -> None:
        """
        Quit all machines (polite)
        """
        ...

    def directorQuitSingle(self, hostname: str) -> None:
        """
        Quit single machine (polite)
        """
        ...

    def directorRestartAll(self) -> None:
        """
        Restart all machines
        """
        ...

    def directorRestartSingle(self, hostname: str) -> None:
        """
        Start single machine
        """
        ...

    def directorStartAll(self) -> None:
        """
        Start all machines
        """
        ...

    def directorStartSingle(self, hostname: str) -> None:
        """
        Start single machine
        """
        ...

    def isCrashReportingEnabled(self) -> bool:
        ...

    def lock(self) -> None:
        """
        Lock D3
        """
        ...

    def notify(self, shortName: str, detail: str) -> None:
        """
        Create a notification for user
        """
        ...

    def quit(self) -> None:
        """
        Quit D3
        """
        ...

    def saveAndBackup(self) -> int:
        """
        Save and backup the D3 scene (quietly)
        """
        ...

    def saveAndBackupInteractive(self) -> int:
        """
        Save and backup the D3 scene
        """
        ...

    def setClipObjects(self, r: List[Resource], cut: bool) -> None:
        ...

    def setCrashReportingEnabled(self, enabled: bool) -> None:
        ...

    def toggleGui(self) -> None:
        """
        Toggle GUI
        """
        ...

    def writeDependencies(self, package: IFilesystem) -> None:
        ...


class D3Command(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self, cmd: str, str: str) -> None:
        ...

    @overload
    def __init__(self, cmd: str, p: float) -> None:
        ...

    @overload
    def __init__(self, cmd: str, p: float, p2: float) -> None:
        ...

    @overload
    def __init__(self, cmd: str, str: str, p: float, p2: float, p3: float, p4: float) -> None:
        ...


class D3NetManager(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'd3net'
    UNDERSTUDY_STATE_NO_TARGETS: Final = 2
    UNDERSTUDY_STATE_OK: Final = 0
    UNDERSTUDY_STATE_TARGET_OVERLAP: Final = 1

    @property
    def actorMode(self) -> bool:
        ...

    @property
    def actors(self) -> List[Machine]:
        """
        Category: actors
        """
        ...
    @actors.setter
    def actors(self, value: List[Machine]) -> None:
        ...

    @property
    def dedicatedDirectorMode(self) -> bool:
        ...

    @property
    def director(self) -> Machine:
        ...
    @director.setter
    def director(self, value: Machine) -> None:
        ...

    @property
    def directorMode(self) -> bool:
        ...

    @property
    def director_type(self) -> bool:
        ...
    @director_type.setter
    def director_type(self, value: bool) -> None:
        ...

    @property
    def hasValidDirector(self) -> bool:
        ...

    @property
    def localMachine(self) -> Machine:
        ...

    @property
    def machines(self) -> List[Machine]:
        ...

    @property
    def mobileEditorMode(self) -> bool:
        ...

    @property
    def nonDedicatedDirectorMode(self) -> bool:
        ...

    @property
    def normal_preset(self) -> str:
        """
        Category: Failover
        UserName: Normal preset
        """
        ...
    @normal_preset.setter
    def normal_preset(self, value: str) -> None:
        ...

    @property
    def soloMode(self) -> bool:
        ...

    @property
    def thisMachine(self) -> Machine:
        ...

    @property
    def timeout(self) -> float:
        """
        Automatic failover timeout - 0 is disabled
        
        Category: Failover
        UserName: Timeout
        """
        ...
    @timeout.setter
    def timeout(self, value: float) -> None:
        ...

    @property
    def understudies(self) -> List[Machine]:
        """
        Category: understudies
        """
        ...
    @understudies.setter
    def understudies(self, value: List[Machine]) -> None:
        ...

    @property
    def understudy(self) -> bool:
        ...

    def dispatchCommandAll(self, cmd: RemoteCommand, sessionOnly: bool) -> None:
        ...

    def dispatchCommandDirect(self, hostname: str, cmd: RemoteCommand, sessionOnly: bool) -> bool:
        ...

    def findMachineByHostname(self, hostname: str) -> Machine:
        ...

    def getUnderstudyConfigStatus(self, understudy: Machine) -> int:
        ...

    def isUnderstudy(self, machine: Machine) -> bool:
        ...

    def machineStatus(self, nodeId: int) -> MachineStatus:
        ...

    def sendMatrixRouting(self, machine: Machine, feed: FeedScene) -> None:
        ...

    def understudyAvailableFor(self, machine: Machine) -> bool:
        ...


class D3NetManagerSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def d3NetManager(self) -> D3NetManager:
        ...

    def __init__(self) -> None:
        """
        Default constructor for D3NetManagerSystem
        """
        ...


class D3Nmos(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'D3Nmos'

    @property
    def networkAdapter(self) -> str:
        """
        The name of the network adapter the nmos node should use. This will affect the ip address it gives the registry and advertises it's APIs on. Default is the user selected network in d3Manager
        
        Category: Node
        UserName: Chosen Network Adapter
        """
        ...
    @networkAdapter.setter
    def networkAdapter(self, value: str) -> None:
        ...

    @property
    def nmosDisplayChangePort(self) -> int:
        """
        The port number Designer will use to send the NMOS Node updates (default 3207)
        
        Category: Node
        UserName: Display Change Port Number
        """
        ...
    @nmosDisplayChangePort.setter
    def nmosDisplayChangePort(self, value: int) -> None:
        ...

    @property
    def nmosLoggingEnable(self) -> bool:
        """
        Switch on additional NMOS logging
        
        Category: Debug
        UserName: Enable Logging
        """
        ...
    @nmosLoggingEnable.setter
    def nmosLoggingEnable(self, value: bool) -> None:
        ...

    @property
    def nmosRegistryDomain(self) -> str:
        """
        Network Domain the NMOS registry is running on
        
        Category: Registry
        UserName: Registry Network Domain
        """
        ...
    @nmosRegistryDomain.setter
    def nmosRegistryDomain(self, value: str) -> None:
        ...

    @property
    def nmosRegistryIPAddress(self) -> str:
        """
        IP Address of the NMOS registry on the network
        
        Category: Registry
        UserName: Registry IP Address
        """
        ...
    @nmosRegistryIPAddress.setter
    def nmosRegistryIPAddress(self, value: str) -> None:
        ...

    @property
    def nmosRegistryPort(self) -> int:
        """
        Port Number of the NMOS registry's registration API
        
        Category: Registry
        UserName: Registration Port Number
        """
        ...
    @nmosRegistryPort.setter
    def nmosRegistryPort(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class D3SSIAxis(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'D3SSIAxis'

    def __init__(self) -> None:
        ...


class D3SSIAxisState(TrackingScalarState):
    null: Self
    _classInfo: 'ClassInfo'


class D3SSIDriver(UdpReceiverDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'D3SSIDriver'

    def __init__(self) -> None:
        ...


class D3State(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'D3State'
    ACES: Final = 2
    Disabled: Final = 0
    DragStart: Final = 1
    GammaSpace: Final = 1
    OCIO: Final = 3

    @property
    def activeEditorMan(self) -> ActiveEditorManager:
        ...
    @activeEditorMan.setter
    def activeEditorMan(self, value: ActiveEditorManager) -> None:
        ...

    @property
    def archiveAction(self) -> int:
        ...
    @archiveAction.setter
    def archiveAction(self, value: int) -> None:
        ...

    @property
    def autoSaveFrequency(self) -> int:
        ...
    @autoSaveFrequency.setter
    def autoSaveFrequency(self, value: int) -> None:
        ...

    @property
    def bit_depth(self) -> int:
        """
        Set bit depth for video outputs.
        """
        ...
    @bit_depth.setter
    def bit_depth(self, value: int) -> None:
        ...

    @property
    def colourManagementAllowed(self) -> bool:
        ...

    @property
    def colourManager(self) -> int:
        ...
    @colourManager.setter
    def colourManager(self, cm: int) -> None:
        ...

    @property
    def colourManagerVmap(self) -> int:
        """
        'Disabled' performs no colour space conversion on assets. 'Gamma Space' assets are blended to a common sRGB colour/gamma space, then converted to selected output space. 'ACES' a linear colour/gamma space with ACES v1.2 CM & sweeteners
        """
        ...
    @colourManagerVmap.setter
    def colourManagerVmap(self, value: int) -> None:
        ...

    @property
    def commit_mode(self) -> int:
        ...
    @commit_mode.setter
    def commit_mode(self, value: int) -> None:
        ...

    @property
    def d3Nmos(self) -> D3Nmos:
        ...

    @property
    def defaultGammaSpaceDisplayProfile(self) -> ColourProfile:
        """
        Default display profile
        """
        ...
    @defaultGammaSpaceDisplayProfile.setter
    def defaultGammaSpaceDisplayProfile(self, value: ColourProfile) -> None:
        ...

    @property
    def defaultGammaSpaceIngestProfile(self) -> ColourProfile:
        """
        Default ingest profile
        """
        ...
    @defaultGammaSpaceIngestProfile.setter
    def defaultGammaSpaceIngestProfile(self, value: ColourProfile) -> None:
        ...

    @property
    def defaultTransitionInfo(self) -> TrackTransitionInfo:
        """
        Default UX fade transition behaviour
        """
        ...
    @defaultTransitionInfo.setter
    def defaultTransitionInfo(self, transitionInfo: TrackTransitionInfo) -> None:
        ...

    @property
    def deviceMan(self) -> DeviceManager:
        ...

    @property
    def devices(self) -> DeviceManager:
        """
        Input and output devices
        """
        ...
    @devices.setter
    def devices(self, value: DeviceManager) -> None:
        ...

    @property
    def domain_number(self) -> int:
        """
        Set domain number for PTP
        """
        ...
    @domain_number.setter
    def domain_number(self, value: int) -> None:
        ...

    @property
    def enableBlackout(self) -> int:
        ...
    @enableBlackout.setter
    def enableBlackout(self, value: int) -> None:
        ...

    @property
    def feed(self) -> FeedScene:
        """
        The current output feed configuration
        """
        ...

    @property
    def force_dmx_send(self) -> int:
        ...
    @force_dmx_send.setter
    def force_dmx_send(self, value: int) -> None:
        ...

    @property
    def globalRefreshRate(self) -> Rational:
        ...
    @globalRefreshRate.setter
    def globalRefreshRate(self, value: Rational) -> None:
        ...

    @property
    def isInShow(self) -> bool:
        ...

    @property
    def lastExportDate(self) -> DateStamp:
        ...
    @lastExportDate.setter
    def lastExportDate(self, value: DateStamp) -> None:
        ...

    @property
    def layerColourRuleSet(self) -> LayerColourRuleSet:
        """
        Layer colour for all tracks unless overridden
        
        UserName: Global layer colour rules
        """
        ...
    @layerColourRuleSet.setter
    def layerColourRuleSet(self, value: LayerColourRuleSet) -> None:
        ...

    @property
    def license(self) -> str:
        ...
    @license.setter
    def license(self, value: str) -> None:
        ...

    @property
    def lockedToDirector(self) -> bool:
        ...
    @lockedToDirector.setter
    def lockedToDirector(self, onOff: bool) -> None:
        ...

    @property
    def m(self) -> int:
        ...
    @m.setter
    def m(self, value: int) -> None:
        ...

    @property
    def m_hasDoneScheduledExit(self) -> int:
        ...
    @m_hasDoneScheduledExit.setter
    def m_hasDoneScheduledExit(self, value: int) -> None:
        ...

    @property
    def mixedRealityAllowed(self) -> bool:
        ...

    @property
    def monitorAudio(self) -> LogicalAudioOutDevice:
        ...
    @monitorAudio.setter
    def monitorAudio(self, value: LogicalAudioOutDevice) -> None:
        ...

    @property
    def nOldVersionsToKeep(self) -> int:
        ...
    @nOldVersionsToKeep.setter
    def nOldVersionsToKeep(self, value: int) -> None:
        ...

    @property
    def ocioConfig(self) -> OcioConfig:
        ...
    @ocioConfig.setter
    def ocioConfig(self, value: OcioConfig) -> None:
        ...

    @property
    def projectName(self) -> str:
        ...

    @property
    def ptpprofile(self) -> int:
        ...
    @ptpprofile.setter
    def ptpprofile(self, value: int) -> None:
        ...

    @property
    def quit_h(self) -> int:
        ...
    @quit_h.setter
    def quit_h(self, value: int) -> None:
        ...

    @property
    def realtimeConnectorLicenceActive(self) -> bool:
        ...

    @property
    def rename_table(self) -> RenameTableSetting:
        ...
    @rename_table.setter
    def rename_table(self, value: RenameTableSetting) -> None:
        ...

    @property
    def resetOnStop(self) -> int:
        """
        Defines behaviour of the stop button; you can either reset to the start of the bar, or stay where you are
        """
        ...
    @resetOnStop.setter
    def resetOnStop(self, value: int) -> None:
        ...

    @property
    def slcRegionManagement(self) -> unique_ptr[SlcRegionManagement]:
        ...

    @property
    def stage(self) -> Stage:
        """
        The current stage
        """
        ...
    @stage.setter
    def stage(self, s: Stage) -> None:
        ...

    @property
    def stageUid(self) -> int:
        ...
    @stageUid.setter
    def stageUid(self, value: int) -> None:
        ...

    @property
    def sync_source(self) -> int:
        """
        Sync to external signal or sync to PTP from IP VFC
        """
        ...
    @sync_source.setter
    def sync_source(self, value: int) -> None:
        ...

    @property
    def target_speed(self) -> int:
        ...
    @target_speed.setter
    def target_speed(self, value: int) -> None:
        ...

    @property
    def use_video_thumbnails(self) -> int:
        ...
    @use_video_thumbnails.setter
    def use_video_thumbnails(self, value: int) -> None:
        ...

    @property
    def videoOverlayOption(self) -> int:
        ...
    @videoOverlayOption.setter
    def videoOverlayOption(self, value: int) -> None:
        ...

    def archiveUnusedMedia(self, files: List[str], action: int) -> None:
        ...

    def cmdMachineFailed(self, machineHostname: str) -> None:
        ...

    def cmdMachineRestored(self, machineHostname: str) -> None:
        ...

    def getDaysLeftDesigner(self) -> int:
        ...

    def getTestNames(self) -> List[str]:
        ...

    def getUnusedMedia(self) -> List[str]:
        ...

    def listUnused(self) -> None:
        ...

    def localOrDirectorState(self) -> LocalState:
        ...

    def runTest(self, iTest: int) -> None:
        ...

    def sendCommand(self, cmd: str, param: float, p2: float, p3: float, p4: float, iParam: int) -> None:
        """
        Send a command
        """
        ...

    def strikeFixtures(self, onOff: bool) -> None:
        ...

    def unpack(self) -> None:
        ...


class DL1(Fixture):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DL1'

    @property
    def focus(self) -> float:
        ...
    @focus.setter
    def focus(self, value: float) -> None:
        ...

    @property
    def infraRed(self) -> bool:
        ...
    @infraRed.setter
    def infraRed(self, value: bool) -> None:
        ...

    @property
    def xFlip(self) -> bool:
        ...
    @xFlip.setter
    def xFlip(self, value: bool) -> None:
        ...

    @property
    def zoom(self) -> float:
        ...
    @zoom.setter
    def zoom(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class DVIMatrix(Device):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Matrix'

    @property
    def supportsPreset(self) -> bool:
        ...

    @property
    def supportsSingleRoute(self) -> bool:
        ...

    def sendMultiRoute(self, inputs: List[int], outputs: List[int]) -> None:
        ...

    def sendPreset(self, preset: str) -> None:
        ...


class DVIMatrixCommand(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MatrixCommand'

    def __init__(self) -> None:
        ...


class DVIMatrixCommandAutoTrans(DVIMatrixCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MatrixCommandAutoTrans'

    @property
    def transition_time(self) -> float:
        """
        UserName: Transition time
        """
        ...
    @transition_time.setter
    def transition_time(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class DVIMatrixCommandCut(DVIMatrixCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MatrixCommandCut'

    def __init__(self) -> None:
        ...


class DVIMatrixCommandPreset(DVIMatrixCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MatrixCommandPreset'

    @property
    def preset(self) -> str:
        """
        UserName: Preset
        """
        ...
    @preset.setter
    def preset(self, value: str) -> None:
        ...

    def __init__(self) -> None:
        ...


class DVIMatrixCommandRoute(DVIMatrixCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DVIMatrixCommandRoute'

    @property
    def inputs(self) -> List[int]:
        """
        UserName: Inputs
        """
        ...
    @inputs.setter
    def inputs(self, value: List[int]) -> None:
        ...

    @property
    def outputs(self) -> List[int]:
        """
        UserName: Ouputs
        """
        ...
    @outputs.setter
    def outputs(self, value: List[int]) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for DVIMatrixCommandRoute
        """
        ...


class DVIMatrixControlModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MatrixControlModule'

    @property
    def command(self) -> DVIMatrixCommand:
        """
        UserName: Command
        """
        ...
    @command.setter
    def command(self, value: DVIMatrixCommand) -> None:
        ...

    def __init__(self) -> None:
        ...


class DVIMatrixControlModuleConfig(ModuleConfig):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DVIMatrixControlModuleConfig'

    @property
    def devices(self) -> List[DVIMatrix]:
        """
        UserName: DVI matrices
        """
        ...
    @devices.setter
    def devices(self, value: List[DVIMatrix]) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for DVIMatrixControlModuleConfig
        """
        ...


class DateStamp(FilesystemDateStamp):
    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, rhs: DateStamp) -> None:
        ...

    @overload
    def __init__(self, fsDateStamp: FilesystemDateStamp) -> None:
        ...

    def __repr__(self) -> Any:
        """
        String representation of the date stamp
        """
        ...

    def __str__(self) -> Any:
        """
        String representation of the date stamp
        """
        ...


class DbgObject(Object):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DbgObject'

    def arrow(self, label: str, v0: Vec, v1: Vec, c: Colour) -> None:
        ...

    def box(self, label: str, topLeft: Vec, size: Vec, c: Colour) -> None:
        ...

    def force(self, onOff: bool) -> None:
        ...

    def line(self, label: str, v0: Vec, v1: Vec, c: Colour) -> None:
        ...

    def matrix(self, label: str, mat: Mat, lineSize: float, c: Colour) -> None:
        ...

    def normal(self, label: str, v0: Vec, normal: Vec, lineSize: float, c: Colour) -> None:
        ...

    def on(self) -> bool:
        ...

    def point(self, label: str, v0: Vec, c: Colour) -> None:
        ...


class DcsDriver(UdpReceiverDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DcsDriver'

    @property
    def sensor_width(self) -> float:
        """
        UserName: Sensor width (mm)
        """
        ...
    @sensor_width.setter
    def sensor_width(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class DebugEndpoint(ConsoleEndpoint):
    null: Self
    _classInfo: 'ClassInfo'


class DebugOptions(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def options(self) -> Options:
        ...


class DecodedAudioPlayer_Impl(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class DecodedFrame(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class DefaultEngineSettings(EngineSettings):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class DefaultEngineSettingsResource(EngineSettingsResource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DefaultEngineSettingsResource'

    @property
    def settings(self) -> DefaultEngineSettings:
        """
        UserName:
        """
        ...
    @settings.setter
    def settings(self, value: DefaultEngineSettings) -> None:
        ...

    def __init__(self) -> None:
        ...


class DeferredRenderer(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def dirty(self) -> bool:
        ...
    @dirty.setter
    def dirty(self, value: bool) -> None:
        ...

    def __init__(self) -> None:
        ...

    def allItemsById(self, idFilter: str) -> List[DeferredRendererItem]:
        ...

    def calculateDisplayProxyLevels(self, visibleAreaRect: Rect, levels: VisibilityProxyLevels) -> None:
        ...

    def deferBoundedText(self, id: str, data: ReflectionValue, pos: Vec2, halign: int, valign: int, width: float, text: str) -> Rect:
        ...

    def deferCenterText(self, id: str, data: ReflectionValue, pos: Vec2, size: float, text: str) -> Rect:
        ...

    def deferCenteredQuad(self, id: str, data: ReflectionValue, pos: Vec2, screenSize: Vec2, arg4: DxTexture, col: Colour) -> None:
        ...

    def deferCircle(self, id: str, data: ReflectionValue, center: Vec2, radius: float, col: Colour) -> None:
        ...

    def deferDisplayQuad(self, id: str, data: ReflectionValue, rect: Rect, arg3: Display, iTarget: int, arg5: FeedDisplayRenderHelper, col: Colour) -> None:
        ...

    def deferDynamicPlaceholderQuad(self, id: str, data: ReflectionValue, rectCallable: Callable) -> None:
        ...

    def deferDynamicPreviewQuad(self, id: str, data: ReflectionValue, rectCallable: Callable, textureCallable: Callable, col: Colour) -> None:
        ...

    def deferDynamicQuad(self, id: str, data: ReflectionValue, rectCallable: Callable, arg3: DxTexture, col: Colour) -> None:
        ...

    def deferDynamicSelectionQuad(self, id: str, data: ReflectionValue, rectCallable: Callable) -> None:
        ...

    def deferDynamicText(self, id: str, data: ReflectionValue, posCallable: Callable, halign: int, valign: int, textCallable: Callable) -> None:
        ...

    def deferFeedOutputQuad(self, id: str, data: ReflectionValue, rect: Rect, arg3: FeedSceneRenderHelper, iHead: int, bgCol: Colour, arg6: DxTexture) -> None:
        ...

    def deferItem(self, item: DeferredRendererItem) -> None:
        ...

    def deferPreviewQuad(self, id: str, data: ReflectionValue, rect: Rect, textureCallable: Callable, col: Colour) -> None:
        ...

    def deferQuad(self, id: str, data: ReflectionValue, rect: Rect, col: Colour) -> None:
        ...

    def deferText(self, id: str, data: ReflectionValue, pos: Vec2, halign: int, valign: int, text: str) -> Rect:
        ...

    def deferTextRightAlign(self, id: str, data: ReflectionValue, rpos: Vec2, text: str) -> Rect:
        ...

    def deferThumbnailQuad(self, id: str, data: ReflectionValue, rect: Rect, thumbResource: Resource) -> None:
        ...

    def getExtents(self) -> Rect:
        ...

    def intersectingItems(self, rect: Rect, idFilter: str) -> List[DeferredRendererItem]:
        ...

    def itemAtPoint(self, pos: Vec2, idFilter: str = '') -> DeferredRendererItem:
        ...

    def render(self, viewMat: Mat) -> None:
        ...

    def reset(self) -> None:
        ...

    def setScale(self, scale: float) -> None:
        ...


class DeferredRendererItem(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    RenderType_Circle: Final = 8
    RenderType_DisplayQuad: Final = 2
    RenderType_FeedOutputQuad: Final = 5
    RenderType_Line: Final = 6
    RenderType_None: Final = 0
    RenderType_Quad: Final = 1
    RenderType_SelectionQuad: Final = 7
    RenderType_Text: Final = 4

    @property
    def bounds(self) -> Rect:
        ...
    @bounds.setter
    def bounds(self, value: Rect) -> None:
        ...

    @property
    def colCallable(self) -> Callable:
        ...
    @colCallable.setter
    def colCallable(self, value: Callable) -> None:
        ...

    @property
    def data(self) -> ReflectionValue:
        ...
    @data.setter
    def data(self, value: ReflectionValue) -> None:
        ...

    @property
    def id(self) -> str:
        ...
    @id.setter
    def id(self, value: str) -> None:
        ...

    @property
    def renderType(self) -> int:
        ...
    @renderType.setter
    def renderType(self, value: int) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, id_: str, data_: ReflectionValue, bounds_: Rect, renderType_: int) -> None:
        ...


class DeformCircularMaterial(DxMaterial):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class DeformStack(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DeformStack'

    @property
    def draw_control_points_on_output(self) -> int:
        """
        UserName: Draw control points on output
        """
        ...
    @draw_control_points_on_output.setter
    def draw_control_points_on_output(self, value: int) -> None:
        ...

    @property
    def lookupTexture(self) -> DxTexture:
        ...

    @property
    def stack(self) -> List[DeformStackItem]:
        ...
    @stack.setter
    def stack(self, value: List[DeformStackItem]) -> None:
        ...

    def empty(self) -> bool:
        ...

    def insert(self, index: int, item: DeformStackItem) -> None:
        ...

    def item(self, index: int) -> DeformStackItem:
        ...

    def remove(self, index: int) -> None:
        ...

    def renderLookup(self, size: Int2) -> None:
        ...

    def renderTo(self, arg0: DxTexture) -> None:
        ...

    def size(self) -> int:
        ...


class DeformStackItem(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DeformStackItem'

    @property
    def enabled(self) -> bool:
        ...
    @enabled.setter
    def enabled(self, _enabled: bool) -> None:
        ...

    @property
    def manipulationTechnique(self) -> str:
        ...
    @manipulationTechnique.setter
    def manipulationTechnique(self, value: str) -> None:
        ...

    @property
    def techniqueValues(self) -> HashTable[float]:
        ...
    @techniqueValues.setter
    def techniqueValues(self, value: HashTable[float]) -> None:
        ...

    @property
    def userName(self) -> str:
        ...
    @userName.setter
    def userName(self, value: str) -> None:
        ...

    def render(self, mtl: DxMaterial, targetSize: Vec2) -> None:
        ...


class DeformStackItem_Circular(DeformStackItem):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DeformStackItem_Circular'

    @property
    def m_points(self) -> int:
        ...
    @m_points.setter
    def m_points(self, value: int) -> None:
        ...

    @property
    def m_radii(self) -> List[float]:
        ...
    @m_radii.setter
    def m_radii(self, value: List[float]) -> None:
        ...

    def getMaxPoints(self) -> int:
        ...

    def size(self) -> int:
        ...


class DeformStackItem_Lens(DeformStackItem):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DeformStackItem_Lens'

    @property
    def lens(self) -> LensIntrinsics:
        ...
    @lens.setter
    def lens(self, value: LensIntrinsics) -> None:
        ...


class DeformStackItem_Mesh(DeformStackItem):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DeformStackItem_Mesh'

    @property
    def mesh(self) -> Mesh:
        ...
    @mesh.setter
    def mesh(self, value: Mesh) -> None:
        ...

    def estimateMatrix(self, worldMesh: Mesh) -> Mat:
        ...

    def intersectPoints(self, intersectRect: Rect) -> List[int]:
        ...


class DeformStackItem_MeshProject(DeformStackItem):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DeformStackItem_MeshProject'

    @property
    def perspectiveMatrix(self) -> Mat:
        ...

    @property
    def projector(self) -> Projector:
        ...
    @projector.setter
    def projector(self, value: Projector) -> None:
        ...

    @property
    def screen(self) -> Display:
        ...
    @screen.setter
    def screen(self, value: Display) -> None:
        ...

    def setupPerspectiveMatrix(self, size: Vec2) -> Mat:
        ...


class DeformStackItem_PatchGroup(DeformStackItem):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DeformStackItem_PatchGroup'

    @property
    def group(self) -> PatchGroup:
        ...
    @group.setter
    def group(self, value: PatchGroup) -> None:
        ...

    @property
    def offset(self) -> Vec2:
        ...
    @offset.setter
    def offset(self, value: Vec2) -> None:
        ...

    @property
    def scale(self) -> Vec2:
        ...
    @scale.setter
    def scale(self, value: Vec2) -> None:
        ...

    @property
    def selection(self) -> List[int]:
        ...
    @selection.setter
    def selection(self, value: List[int]) -> None:
        ...

    def __init__(self) -> None:
        ...


class DeformStackItem_PufferSphere(DeformStackItem):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DeformStackItem_PufferSphere'

    @property
    def m_focus(self) -> float:
        ...
    @m_focus.setter
    def m_focus(self, value: float) -> None:
        ...


class DeformStackItem_Reference(DeformStackItem):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DeformStackItem_Reference'

    @property
    def display(self) -> Display:
        ...
    @display.setter
    def display(self, value: Display) -> None:
        ...


class DeformationSettings(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def anchorMode(self) -> int:
        ...
    @anchorMode.setter
    def anchorMode(self, value: int) -> None:
        ...

    @property
    def autoApply(self) -> int:
        ...
    @autoApply.setter
    def autoApply(self, value: int) -> None:
        ...

    @property
    def lockBoundaries(self) -> int:
        ...
    @lockBoundaries.setter
    def lockBoundaries(self, value: int) -> None:
        ...

    @property
    def maxAngle(self) -> float:
        ...
    @maxAngle.setter
    def maxAngle(self, value: float) -> None:
        ...

    @property
    def maxDist(self) -> float:
        ...
    @maxDist.setter
    def maxDist(self, value: float) -> None:
        ...

    @property
    def mode(self) -> int:
        ...
    @mode.setter
    def mode(self, value: int) -> None:
        ...

    @property
    def topologyBehaviour(self) -> int:
        ...
    @topologyBehaviour.setter
    def topologyBehaviour(self, value: int) -> None:
        ...

    @property
    def useAlignmentPoints(self) -> int:
        ...
    @useAlignmentPoints.setter
    def useAlignmentPoints(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for DeformationSettings
        """
        ...


class DeleteTask(Task):
    null: Self
    _classInfo: 'ClassInfo'


class DeltaIn(BufferedVideoIn):
    null: Self
    _classInfo: 'ClassInfo'


class DeltaMesh(Mesh):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DeltaMesh'

    @property
    def baseMesh(self) -> Mesh:
        ...
    @baseMesh.setter
    def baseMesh(self, bm: Mesh) -> None:
        ...

    @property
    def deltas(self) -> MapTable[int, Vec]:
        ...
    @deltas.setter
    def deltas(self, value: MapTable[int, Vec]) -> None:
        ...

    @property
    def setTexCoord(self) -> bool:
        ...
    @setTexCoord.setter
    def setTexCoord(self, value: bool) -> None:
        ...

    def getDelta(self, i: int) -> Vec:
        ...

    def origPos(self, i: int) -> Vec:
        ...

    def setDelta(self, i: int, d: Vec) -> None:
        ...


class DeltaSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        """
        Default constructor for DeltaSystem
        """
        ...


class DeltaThread(VideoInThread):
    null: Self
    _classInfo: 'ClassInfo'


class DetailedException(Exception):
    """
    Exception with additional textual details, not visible in shortMessage itself
    """

    null: Self
    _classInfo: 'ClassInfo'


class Device(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Device'

    @property
    def name(self) -> str:
        ...

    @property
    def receiving(self) -> bool:
        ...

    @property
    def started(self) -> bool:
        ...

    def doUpdateInput(self) -> None:
        ...

    def doUpdateOutput(self) -> None:
        ...

    def start(self) -> None:
        ...

    def stop(self) -> None:
        ...


class DeviceManager(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DeviceManager'

    @property
    def devices(self) -> List[Device]:
        """
        UserName: Devices
        """
        ...
    @devices.setter
    def devices(self, value: List[Device]) -> None:
        ...

    @property
    def redistributionDelay(self) -> int:
        ...
    @redistributionDelay.setter
    def redistributionDelay(self, delay: int) -> None:
        ...


class DeviceMap(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DeviceMap'

    class Mapping(_BlipValue):
        null: Self
        _classInfo: 'ClassInfo'

        @property
        def hardwareId(self) -> str:
            ...
        @hardwareId.setter
        def hardwareId(self, value: str) -> None:
            ...

        @property
        def logicalDevice(self) -> LogicalDevice:
            ...
        @logicalDevice.setter
        def logicalDevice(self, value: LogicalDevice) -> None:
            ...


    @property
    def hardware(self) -> List[HardwareIdentifier]:
        ...
    @hardware.setter
    def hardware(self, value: List[HardwareIdentifier]) -> None:
        ...

    @property
    def mappings(self) -> List[Mapping]:
        ...
    @mappings.setter
    def mappings(self, value: List[Mapping]) -> None:
        ...

    def addHardware(self, hwId: HardwareIdentifier) -> None:
        ...

    def findHardware(self, logical: LogicalDevice) -> HardwareIdentifier:
        ...

    def getHardwareById(self, hwid: str) -> HardwareIdentifier:
        ...

    def getHardwareDevices(self) -> List[HardwareIdentifier]:
        ...

    def getMappedHardwareDevices(self) -> List[HardwareIdentifier]:
        ...

    def mapDevice(self, hardware: HardwareIdentifier, logical: LogicalDevice) -> None:
        ...

    def removeHardware(self, hwId: str) -> None:
        ...


class DeviceMapping(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DeviceMapping'

    @property
    def audioOut(self) -> AudioOutDeviceMap2:
        ...
    @audioOut.setter
    def audioOut(self, value: AudioOutDeviceMap2) -> None:
        ...

    @property
    def vfcs(self) -> VFCDeviceMap:
        ...
    @vfcs.setter
    def vfcs(self, value: VFCDeviceMap) -> None:
        ...

    @property
    def videoIn(self) -> VideoInDeviceMap:
        ...
    @videoIn.setter
    def videoIn(self, value: VideoInDeviceMap) -> None:
        ...

    def __init__(self) -> None:
        ...


class DfxFile(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'NotchFile'

    @property
    def handle(self) -> NotchHandle:
        ...

    @property
    def isHandleValid(self) -> bool:
        ...


class DfxLicenseData(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def daysRemaining(self) -> int:
        ...

    @property
    def isBundled(self) -> bool:
        ...

    @property
    def isExpired(self) -> bool:
        ...

    @property
    def isPerpetual(self) -> bool:
        ...

    @property
    def isUsed(self) -> bool:
        ...

    @property
    def isValid(self) -> bool:
        ...

    @property
    def state(self) -> str:
        ...

    @property
    def type(self) -> str:
        ...

    def __init__(self) -> None:
        """
        Default constructor for DfxLicenseData
        """
        ...


class DfxSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        """
        Default constructor for DfxSystem
        """
        ...

    def getAvailableLicenseData(self) -> List[DfxLicenseData]:
        ...

    def releaseVideoMemory(self) -> None:
        ...


class DirectProjection(Projection):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Direct'

    def __init__(self) -> None:
        """
        Default constructor for DirectProjection
        """
        ...


class Discovery(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class DiskMonitor(MetricMonitor):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DiskMonitor'

    def __init__(self) -> None:
        """
        Default constructor for DiskMonitor
        """
        ...


class Display(Object):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Display'

    @property
    def acesFinalMatrix(self) -> Mat:
        """
        ACES final matrix
        
        UserName: Matrix
        """
        ...
    @acesFinalMatrix.setter
    def acesFinalMatrix(self, value: Mat) -> None:
        ...

    @property
    def acesTransform(self) -> AcesOutputTransformParameters:
        """
        ACES Output Display Transform (ODT)
        
        Category: Output
        UserName: Output transform
        """
        ...
    @acesTransform.setter
    def acesTransform(self, value: AcesOutputTransformParameters) -> None:
        ...

    @property
    def alpha(self) -> float:
        """
        If the screen is translucent, this controls its opacity
        
        Category: Appearance
        UserName: Alpha
        """
        ...
    @alpha.setter
    def alpha(self, a: float) -> None:
        ...

    @property
    def blendMode(self) -> int:
        """
        Controls the way the screen is composited with the rest of the stage
        
        Options: {0: 'Over', 1: 'Alpha', 2: 'Add', 3: 'Multiply', 7: 'Premult-Alpha'}
        Category: Appearance
        UserName: Blend mode
        """
        ...
    @blendMode.setter
    def blendMode(self, value: int) -> None:
        ...

    @property
    def canBeFeedRectSource(self) -> bool:
        ...

    @property
    def colourprofile(self) -> ColourProfile:
        """
        Colour/Gamma space of the output display
        
        Category: Output
        UserName: Colour profile
        """
        ...
    @colourprofile.setter
    def colourprofile(self, value: ColourProfile) -> None:
        ...

    @property
    def colourshift(self) -> ColourShift:
        """
        Colour Shift applied to correct display device output; does not appear in visualiser
        
        Category: Output
        UserName: Colour shift
        """
        ...
    @colourshift.setter
    def colourshift(self, value: ColourShift) -> None:
        ...

    @property
    def content(self) -> int:
        """
        Controls which side of the screen shows content
        
        Options: {0: 'Both Sides', 1: 'Front Only', 2: 'Back Only'}
        Category: Appearance
        UserName: Content
        """
        ...
    @content.setter
    def content(self, value: int) -> None:
        ...

    @property
    def holdOutput(self) -> bool:
        """
        If enabled, stop the output of this display from changing
        
        Category: Output
        UserName: Hold output
        """
        ...
    @holdOutput.setter
    def holdOutput(self, value: bool) -> None:
        ...

    @property
    def isConnected(self) -> bool:
        ...

    @property
    def lutfile(self) -> LutFile:
        """
        Cube LUT applied to correct display device output; does not appear in visualiser
        
        Category: Output
        UserName: Colour LUT
        """
        ...
    @lutfile.setter
    def lutfile(self, value: LutFile) -> None:
        ...

    @property
    def master_fade(self) -> float:
        """
        Controls output brightness; is not reflected in the visualiser
        
        Category: Output
        UserName: Master fade
        """
        ...
    @master_fade.setter
    def master_fade(self, value: float) -> None:
        ...

    @property
    def mesh(self) -> Mesh:
        """
        The mesh that defines the shape of the object
        
        UserName: Mesh
        """
        ...
    @mesh.setter
    def mesh(self, value: Mesh) -> None:
        ...

    @property
    def nTargets(self) -> int:
        ...

    @property
    def ocioShaderProperties(self) -> OcioShaderProperties:
        """
        Available OCIO transform parameters for a given colour space.
        
        Category: Output
        UserName: OCIO transform properties
        """
        ...
    @ocioShaderProperties.setter
    def ocioShaderProperties(self, value: OcioShaderProperties) -> None:
        ...

    @property
    def ocioTransform(self) -> OcioColourSpace:
        """
        OCIO colour space of the display
        
        Category: Output
        UserName: Output transform
        """
        ...
    @ocioTransform.setter
    def ocioTransform(self, value: OcioColourSpace) -> None:
        ...

    @property
    def pixel_mask(self) -> DxTexture:
        """
        Bitmap showing the appearance of each pixel
        
        Category: Appearance
        UserName: Pixel mask
        """
        ...
    @pixel_mask.setter
    def pixel_mask(self, value: DxTexture) -> None:
        ...

    @property
    def pixel_mask_size(self) -> Vec2:
        """
        Allows the pixelmask to represent a grid of pixels
        """
        ...
    @pixel_mask_size.setter
    def pixel_mask_size(self, value: Vec2) -> None:
        ...

    @property
    def population_mask(self) -> DxTexture:
        """
        Bitmap that controls whether an output pixel exists or not; should have the same resolution as the screen
        
        Category: Appearance
        UserName: Population mask
        """
        ...
    @population_mask.setter
    def population_mask(self, value: DxTexture) -> None:
        ...

    @property
    def product(self) -> Product:
        """
        Product
        
        UserName: Product
        """
        ...
    @product.setter
    def product(self, value: Product) -> None:
        ...

    @property
    def resolution(self) -> Vec2:
        """
        The resolution, in pixels
        
        UserName: Resolution
        """
        ...
    @resolution.setter
    def resolution(self, res: Vec2) -> None:
        ...

    @property
    def scale(self) -> Vec:
        """
        Controls the size; this is a scale factor applied to mesh vertices
        
        UserName: Scale
        """
        ...
    @scale.setter
    def scale(self, value: Vec) -> None:
        ...

    def getImageMosaic(self, iTarget: int, etf: int) -> ImageMosaic:
        ...

    def needsContent(self, iTarget: int) -> bool:
        ...

    def resolveTarget(self, iTarget: int) -> Display:
        ...

    def setContent(self, material: ShaderMaterial, iTarget: int, lodFactor: float) -> None:
        ...

    def target(self, iTarget: int) -> DxTexture:
        ...

    def targetName(self, iTarget: int) -> str:
        ...


class DisplayAdapter(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    VENDOR_AMD: Final = 0
    VENDOR_NVIDIA: Final = 1
    VENDOR_OTHER: Final = 2

    @property
    def outputs(self) -> List[unique_ptr[DisplayAdapterOutput]]:
        ...


class DisplayAdapterList(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def adapters(self) -> List[unique_ptr[DisplayAdapter]]:
        ...

    @property
    def updateNumber(self) -> int:
        ...

    def allOutputs(self) -> List[DisplayAdapterOutput]:
        ...

    def allVfcs(self) -> List[DisplayOutputVFC]:
        ...


class DisplayAdapterOutput(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def mode(self) -> DisplayMode:
        ...
    @mode.setter
    def mode(self, value: DisplayMode) -> None:
        ...

    @property
    def vfcs(self) -> List[unique_ptr[DisplayOutputVFC]]:
        ...


class DisplayBlobSettings(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def dotSize(self) -> int:
        """
        UserName: Dot Size (pixels)
        """
        ...
    @dotSize.setter
    def dotSize(self, value: int) -> None:
        ...

    @property
    def gridSpacing(self) -> int:
        """
        UserName: Grid Spacing (pixels)
        """
        ...
    @gridSpacing.setter
    def gridSpacing(self, value: int) -> None:
        ...

    @property
    def include(self) -> bool:
        """
        UserName: Include in Observation
        """
        ...
    @include.setter
    def include(self, value: bool) -> None:
        ...


class DisplayIndirection(ForwardingDisplay):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DisplayIndirection'

    @property
    def indirectionController(self) -> IndirectionController:
        """
        Control which camera's view the MRSet outputs. Change the controller's value to do camera switching.
        
        Category: Settings
        UserName: Controller
        """
        ...
    @indirectionController.setter
    def indirectionController(self, value: IndirectionController) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for DisplayIndirection
        """
        ...


class DisplayList(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def absPos(self) -> Vec2:
        ...

    @property
    def pos(self) -> Vec2:
        ...
    @pos.setter
    def pos(self, v: Vec2) -> None:
        ...

    @property
    def size(self) -> Vec2:
        ...

    def __init__(self, other: DisplayList) -> None:
        """
        Copy constructor for DisplayList
        """
        ...

    def add(self, d: DisplayList) -> None:
        ...

    def clear(self) -> None:
        ...

    def outlineBounded(self, arg0: DxMaterial, rect: Rect, col: Colour, texRect: Rect) -> None:
        ...

    def print(self, font: SlugFont, text: str, pos: Vec2, iBlend: int = 1, c: Colour = Colour.white) -> None:
        ...

    def printBounded(self, font: SlugFont, text: str, pos: Vec2, extent: float, leftMost: float, iBlend: int, col: Colour) -> None:
        ...

    def print_(self, font: SlugFont, text: str, pos: Vec2, iBlend: int = 1, c: Colour = Colour.white) -> None:
        ...

    def quad(self, arg0: DxMaterial, rect: Rect, col: Colour, texRect: Rect) -> None:
        ...

    def quadBounded(self, arg0: DxMaterial, rect: Rect, col: Colour, texRect: Rect, leftMost: float) -> None:
        ...

    def quadRounded(self, iBlend: int, rect: Rect, col: Colour, corners: Rect, texRect: Rect) -> None:
        ...

    def remove(self, toRemove: DisplayList) -> None:
        ...

    def sublist(self, pos: Vec2, tag: int) -> DisplayList:
        ...

    def tag(self) -> int:
        ...


class DisplayManagement_Client(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class DisplayManagerSubsystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        """
        Default constructor for DisplayManagerSubsystem
        """
        ...

    def getMachineTargetModesForRefresh(self, hostname: str, targetIndex: int, refresh: Rational) -> List[DisplayMode]:
        ...

    def loadDisplayAdapterList(self, hostname: str, path: str) -> bool:
        ...

    def saveDisplayAdapterList(self, hostname: str, path: str) -> bool:
        ...


class DisplayMode(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def bpc(self) -> int:
        ...
    @bpc.setter
    def bpc(self, value: int) -> None:
        ...

    @property
    def height(self) -> int:
        ...
    @height.setter
    def height(self, value: int) -> None:
        ...

    @property
    def refresh(self) -> Rational:
        ...
    @refresh.setter
    def refresh(self, value: Rational) -> None:
        ...

    @property
    def smpte(self) -> SMPTE:
        ...
    @smpte.setter
    def smpte(self, value: SMPTE) -> None:
        ...

    @property
    def timing(self) -> Timing:
        ...
    @timing.setter
    def timing(self, value: Timing) -> None:
        ...

    @property
    def transferCharacteristics(self) -> int:
        ...
    @transferCharacteristics.setter
    def transferCharacteristics(self, value: int) -> None:
        ...

    @property
    def videoFormat(self) -> VideoFormat:
        ...
    @videoFormat.setter
    def videoFormat(self, value: VideoFormat) -> None:
        ...

    @property
    def videoOutput(self) -> int:
        ...
    @videoOutput.setter
    def videoOutput(self, value: int) -> None:
        ...

    @property
    def width(self) -> int:
        ...
    @width.setter
    def width(self, value: int) -> None:
        ...

    def __init__(self, mode: DisplayMode) -> None:
        ...

    def __eq__(self, rhs: DisplayMode) -> bool:
        ...

    def __str__(self) -> str:
        ...


class DisplayOutputVFC(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def generation(self) -> int:
        ...

    @property
    def model(self) -> int:
        ...

    @property
    def slot(self) -> int:
        ...

    @property
    def splitMode(self) -> int:
        ...
    @splitMode.setter
    def splitMode(self, value: int) -> None:
        ...

    @property
    def targets(self) -> List[unique_ptr[DisplayTarget]]:
        ...


class DisplayTarget(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def currentMode(self) -> DisplayMode:
        ...

    @property
    def device(self) -> str:
        ...

    @property
    def fsStart(self) -> int:
        ...

    @property
    def modes(self) -> List[DisplayMode]:
        ...

    @property
    def name(self) -> str:
        ...

    @property
    def preferredMode(self) -> DisplayMode:
        ...

    @property
    def redundantLines(self) -> int:
        ...

    @property
    def vfcPort(self) -> int:
        ...


class DistributeTask(Task):
    null: Self
    _classInfo: 'ClassInfo'


class Dmx(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'
    actAs: Callable

    def __init__(self) -> None:
        ...

    def debugInput(self, iUniverse: int, iChannel: int, value: int) -> None:
        ...

    def get(self, iSignal: int) -> int:
        ...

    def isUniverseFrozen(self, universe: int) -> bool:
        ...

    def last(self, iSignal: int) -> int:
        ...

    def lastSent(self, iSignalStart: int, iSignalEnd: int) -> float:
        ...

    def lastValid(self, iSignalStart: int, iSignalEnd: int) -> float:
        ...

    def remoteNodes(self, driver: str) -> List[RemoteNodeInfo]:
        ...


class DmxAssignRule(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DmxAssignRule'

    @property
    def do(self) -> int:
        """
        Options: {0: 'Nothing', 1: 'Step', 2: 'Step universe', 3: 'Flip'}
        UserName: Do
        """
        ...
    @do.setter
    def do(self, value: int) -> None:
        ...

    @property
    def every(self) -> int:
        """
        UserName: Every
        """
        ...
    @every.setter
    def every(self, value: int) -> None:
        ...

    @property
    def starting_at(self) -> int:
        """
        UserName: Starting at
        """
        ...
    @starting_at.setter
    def starting_at(self, value: int) -> None:
        ...

    @property
    def step(self) -> int:
        """
        UserName: Step
        """
        ...
    @step.setter
    def step(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class DmxAssigner(FixtureAssigner):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DmxAssigner'

    @property
    def strings(self) -> List[DmxString]:
        ...
    @strings.setter
    def strings(self, value: List[DmxString]) -> None:
        ...

    def __init__(self) -> None:
        ...


class DmxBank(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DmxBank'
    maxSlots: Final = 256

    @property
    def bankVersion(self) -> int:
        ...
    @bankVersion.setter
    def bankVersion(self, value: int) -> None:
        ...

    @property
    def name(self) -> str:
        ...
    @name.setter
    def name(self, n: str) -> None:
        ...

    @property
    def slotVersions(self) -> List[int]:
        ...
    @slotVersions.setter
    def slotVersions(self, value: List[int]) -> None:
        ...

    @property
    def slots(self) -> List[Resource]:
        ...
    @slots.setter
    def slots(self, value: List[Resource]) -> None:
        ...

    def getResource(self, i: int) -> Resource:
        ...

    def setResource(self, i: int, r: Resource) -> None:
        ...


class DmxBankSlot(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def bank(self) -> int:
        ...
    @bank.setter
    def bank(self, value: int) -> None:
        ...

    @property
    def slot(self) -> int:
        ...
    @slot.setter
    def slot(self, value: int) -> None:
        ...

    def __init__(self, other: DmxBankSlot) -> None:
        """
        Copy constructor for DmxBankSlot
        """
        ...


class DmxCommand(Resource):
    """
    A command sent to a DMX fixture to get it to do things (eg turn off, reset, etc)
    """

    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DmxCommand'

    @property
    def channel(self) -> int:
        """
        The channel (1-based) to send the number to
        
        UserName: Channel
        """
        ...
    @channel.setter
    def channel(self, value: int) -> None:
        ...

    @property
    def encoding(self) -> int:
        """
        Options: {0: '8-bit', 1: '16-bit big endian', 2: '16-bit little endian', 3: '24-bit big endian', 4: '24-bit little endian'}
        UserName: Encoding
        """
        ...
    @encoding.setter
    def encoding(self, value: int) -> None:
        ...

    @property
    def max_value(self) -> int:
        """
        Allows you scale the 'value' to any range. 'max' specifies the upper number in the range
        
        Category: Range
        UserName: Maximum value
        """
        ...
    @max_value.setter
    def max_value(self, value: int) -> None:
        ...

    @property
    def min_value(self) -> int:
        """
        Allows you scale the 'value' to any range. 'min' specifies the lower number in the range
        
        Category: Range
        UserName: Minimum value
        """
        ...
    @min_value.setter
    def min_value(self, value: int) -> None:
        ...

    @property
    def time(self) -> int:
        """
        If the number must be sent for a certain duration to active the command, specify it here (in seconds)
        
        UserName: Time
        """
        ...
    @time.setter
    def time(self, value: int) -> None:
        ...

    @property
    def value(self) -> int:
        """
        The number to send to activate the command
        
        UserName: Value
        """
        ...
    @value.setter
    def value(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class DmxControlModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DmxLightsControlModule'

    @property
    def dmx_command_1(self) -> DmxCommand:
        """
        UserName: DMX command 1
        """
        ...
    @dmx_command_1.setter
    def dmx_command_1(self, value: DmxCommand) -> None:
        ...

    @property
    def dmx_command_2(self) -> DmxCommand:
        """
        UserName: DMX command 2
        """
        ...
    @dmx_command_2.setter
    def dmx_command_2(self, value: DmxCommand) -> None:
        ...

    @property
    def dmx_command_3(self) -> DmxCommand:
        """
        UserName: DMX command 3
        """
        ...
    @dmx_command_3.setter
    def dmx_command_3(self, value: DmxCommand) -> None:
        ...

    @property
    def dmx_command_4(self) -> DmxCommand:
        """
        UserName: DMX command 4
        """
        ...
    @dmx_command_4.setter
    def dmx_command_4(self, value: DmxCommand) -> None:
        ...

    @property
    def dmx_command_5(self) -> DmxCommand:
        """
        UserName: DMX command 5
        """
        ...
    @dmx_command_5.setter
    def dmx_command_5(self, value: DmxCommand) -> None:
        ...

    @property
    def dmx_command_6(self) -> DmxCommand:
        """
        UserName: DMX command 6
        """
        ...
    @dmx_command_6.setter
    def dmx_command_6(self, value: DmxCommand) -> None:
        ...

    @property
    def dmx_command_7(self) -> DmxCommand:
        """
        UserName: DMX command 7
        """
        ...
    @dmx_command_7.setter
    def dmx_command_7(self, value: DmxCommand) -> None:
        ...

    @property
    def dmx_command_8(self) -> DmxCommand:
        """
        UserName: DMX command 8
        """
        ...
    @dmx_command_8.setter
    def dmx_command_8(self, value: DmxCommand) -> None:
        ...

    @property
    def value_1(self) -> float:
        """
        UserName: Value 1
        """
        ...
    @value_1.setter
    def value_1(self, value: float) -> None:
        ...

    @property
    def value_2(self) -> float:
        """
        UserName: Value 2
        """
        ...
    @value_2.setter
    def value_2(self, value: float) -> None:
        ...

    @property
    def value_3(self) -> float:
        """
        UserName: Value 3
        """
        ...
    @value_3.setter
    def value_3(self, value: float) -> None:
        ...

    @property
    def value_4(self) -> float:
        """
        UserName: Value 4
        """
        ...
    @value_4.setter
    def value_4(self, value: float) -> None:
        ...

    @property
    def value_5(self) -> float:
        """
        UserName: Value 5
        """
        ...
    @value_5.setter
    def value_5(self, value: float) -> None:
        ...

    @property
    def value_6(self) -> float:
        """
        UserName: Value 6
        """
        ...
    @value_6.setter
    def value_6(self, value: float) -> None:
        ...

    @property
    def value_7(self) -> float:
        """
        UserName: Value 7
        """
        ...
    @value_7.setter
    def value_7(self, value: float) -> None:
        ...

    @property
    def value_8(self) -> float:
        """
        UserName: Value 8
        """
        ...
    @value_8.setter
    def value_8(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class DmxDevice(Device):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DmxDevice'
    ArtnetDevice: Final = 0
    EnttecDevice: Final = 1
    EzdmxDevice: Final = 3
    KinetV1Device: Final = 4
    KinetV2Device: Final = 5
    Receive: Final = 2
    SacnDevice: Final = 6
    Send: Final = 1
    SendAndReceive: Final = 0
    SoundlightDevice: Final = 2
    WendiUnsupportedDevice: Final = 7

    @property
    def IP_address(self) -> str:
        """
        IP address to send or receive DMX commands
        """
        ...
    @IP_address.setter
    def IP_address(self, value: str) -> None:
        ...

    @property
    def actualStatus(self) -> str:
        """
        UserName: Status
        """
        ...
    @actualStatus.setter
    def actualStatus(self, value: str) -> None:
        ...

    @property
    def configured(self) -> bool:
        ...

    @property
    def directionality(self) -> int:
        """
        Options: {0: 'Input And Output', 1: 'Output', 2: 'Input'}
        UserName: Directionality
        """
        ...
    @directionality.setter
    def directionality(self, value: int) -> None:
        ...

    @property
    def driver(self) -> int:
        """
        Defines the protocol the driver accepts
        
        Options: {0: 'Art-Net', 1: 'Enttec', 2: 'SoundLight', 3: 'ezDMX', 4: 'KiNET v1', 5: 'KiNET v2', 6: 'sACN'}
        UserName: Driver
        """
        ...
    @driver.setter
    def driver(self, value: int) -> None:
        ...

    @property
    def driverSpecificOptions(self) -> DmxDriverSpecificOptions:
        ...
    @driverSpecificOptions.setter
    def driverSpecificOptions(self, value: DmxDriverSpecificOptions) -> None:
        ...

    @property
    def machine(self) -> Machine:
        """
        Machine designated to output DMX through this device. If (none), director outputs DMX
        
        UserName: Machine
        """
        ...
    @machine.setter
    def machine(self, value: Machine) -> None:
        ...

    @property
    def mappingSynopsis(self) -> str:
        ...

    @property
    def speed(self) -> int:
        """
        Limit send frequency, as a multiple of video output frames. Set to 44Hz if experiencing issues on receiving devices.
        At 60fps, 44Hz limit would output at 30Hz - every other frame, as 60Hz exceeds the limit.
        
        Options: {0: '44Hz limit', 1: 'Unlimited'}
        UserName: Maximum rate
        """
        ...
    @speed.setter
    def speed(self, value: int) -> None:
        ...

    @property
    def start_universe(self) -> int:
        """
        In conjunction with 'number of universes', defines the universe range of the device. 'start universe' is the 1-based number of the first universe handled by the device
        
        UserName: d3 universe start
        """
        ...
    @start_universe.setter
    def start_universe(self, value: int) -> None:
        ...

    @property
    def universe_mapping(self) -> List[int]:
        ...
    @universe_mapping.setter
    def universe_mapping(self, value: List[int]) -> None:
        ...

    @property
    def universes(self) -> int:
        """
        In conjunction with 'start universe', defines the universe range of the device. 'number of universes' is the number of universes in the range
        
        UserName: Number of universes
        """
        ...
    @universes.setter
    def universes(self, value: int) -> None:
        ...

    def driverStatus(self) -> str:
        ...

    def driverType(self) -> str:
        ...

    def lastSent(self) -> float:
        ...

    def lastValid(self) -> float:
        ...

    def updateDriverOptions(self) -> None:
        ...


class DmxDisplay(DownloadableDisplay):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DmxDisplay'

    def __init__(self) -> None:
        """
        Default constructor for DmxDisplay
        """
        ...


class DmxDriver(FixtureDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DmxDriver'

    @property
    def amber_level(self) -> float:
        """
        UserName: Amber level
        """
        ...
    @amber_level.setter
    def amber_level(self, value: float) -> None:
        ...

    @property
    def horizontal(self) -> int:
        """
        Options: {0: 'Normal', 1: 'Mirrored'}
        UserName: Horizontal
        """
        ...
    @horizontal.setter
    def horizontal(self, value: int) -> None:
        ...

    @property
    def mode(self) -> int:
        """
        Options: {0: 'RGB', 1: 'RGB+amber', 2: 'RGB+white', 3: 'RGB+amber+white', 4: 'CMY', 5: 'Mono (weighted sum)', 6: 'Mono (maximum signal)', 7: 'Alpha', 8: 'RrGgBb', 9: 'RrGgBb+Aa', 10: 'RrGgBb+Ww', 11: 'RrGgBb+Aa+Ww'}
        UserName: Mode
        """
        ...
    @mode.setter
    def mode(self, value: int) -> None:
        ...

    @property
    def rotation(self) -> int:
        """
        Options: {0: 'None', 1: '90 degree CW', 2: '90 degree CCW'}
        UserName: Rotation
        """
        ...
    @rotation.setter
    def rotation(self, value: int) -> None:
        ...

    @property
    def vertical(self) -> int:
        """
        Options: {0: 'Normal', 1: 'Mirrored'}
        UserName: Vertical
        """
        ...
    @vertical.setter
    def vertical(self, value: int) -> None:
        ...

    @property
    def white_level(self) -> float:
        """
        UserName: White level
        """
        ...
    @white_level.setter
    def white_level(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class DmxDriverInfo(FixtureDriverInfo):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DmxDriverInfo'

    @property
    def channel(self) -> int:
        """
        UserName: Channel
        """
        ...
    @channel.setter
    def channel(self, value: int) -> None:
        ...

    @property
    def universe(self) -> int:
        """
        UserName: Universe
        """
        ...
    @universe.setter
    def universe(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class DmxDriverSpecificOptions(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DmxDriverSpecificOptions'


class DmxDummyPersonality(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DmxDummyPersonality'

    def __init__(self) -> None:
        """
        Default constructor for DmxDummyPersonality
        """
        ...


class DmxIndirectionController(IndirectionController):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DmxIndirectionController'

    @property
    def iChannel(self) -> int:
        """
        DMX channel of the 8-bit bank/8-bit slot (1-based)
        
        UserName: Channel
        """
        ...
    @iChannel.setter
    def iChannel(self, value: int) -> None:
        ...

    @property
    def universe(self) -> int:
        """
        DMX universe of the 8-bit bank/8-bit slot (1-based)
        
        UserName: Universe
        """
        ...
    @universe.setter
    def universe(self, value: int) -> None:
        ...


class DmxLibrary(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DmxLibrary'

    @property
    def editorTracking(self) -> int:
        """
        When parameters change on the controller, open the relevant Layer editor to show the changes being made
        
        UserName: Editor tracking
        """
        ...
    @editorTracking.setter
    def editorTracking(self, value: int) -> None:
        ...

    @property
    def enableAutoPopulate(self) -> int:
        """
        When new media is ingested, populate banks with that media
        
        UserName: Auto populate
        """
        ...
    @enableAutoPopulate.setter
    def enableAutoPopulate(self, value: int) -> None:
        ...

    @property
    def parameterTracking(self) -> bool:
        """
        While the bank editor is open, highlight recently selected Resources when they change
        
        UserName: Parameter tracking
        """
        ...
    @parameterTracking.setter
    def parameterTracking(self, value: bool) -> None:
        ...

    @property
    def sets(self) -> List[DmxObjectSet]:
        ...
    @sets.setter
    def sets(self, value: List[DmxObjectSet]) -> None:
        ...

    def findOrAddSet(self, className: str) -> DmxObjectSet:
        ...


class DmxMachineControl(Device):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DmxMachineControl'

    @property
    def dmxPatch(self) -> DmxPatch:
        """
        UserName: Patch
        """
        ...
    @dmxPatch.setter
    def dmxPatch(self, value: DmxPatch) -> None:
        ...

    @property
    def enabled(self) -> bool:
        ...

    @property
    def fieldActivity(self) -> List[str]:
        ...

    @property
    def holdStartTime(self) -> float:
        ...

    @property
    def holdTime(self) -> float:
        """
        Time in seconds before the signal is acted on
        
        Category: Behaviour
        UserName: Hold time
        """
        ...
    @holdTime.setter
    def holdTime(self, value: float) -> None:
        ...


class DmxObjectSet(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DmxObjectSet'

    @property
    def autoPopulateFolder(self) -> str:
        ...
    @autoPopulateFolder.setter
    def autoPopulateFolder(self, value: str) -> None:
        ...

    @property
    def banks(self) -> List[DmxBank]:
        ...
    @banks.setter
    def banks(self, value: List[DmxBank]) -> None:
        ...

    @property
    def className(self) -> str:
        ...
    @className.setter
    def className(self, value: str) -> None:
        ...

    @property
    def classType(self) -> Type:
        ...

    def addBank(self, iBank: int, name: str) -> DmxBank:
        ...

    def autoPopulateAllBanks(self) -> None:
        ...

    def findBankSlot(self, r: Resource) -> optional[DmxBankSlot]:
        ...

    def getBank(self, iBank: int) -> DmxBank:
        ...

    def getNumberOfBanks(self) -> int:
        ...

    def removeBank(self, iBank: int) -> None:
        ...


class DmxPatch(ControlPatch):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DmxPatch'
    getDummyPersonality: Callable
    make: Callable
    nChannels: Callable

    @property
    def dummyChannels(self) -> int:
        """
        UserName: Total channels
        """
        ...
    @dummyChannels.setter
    def dummyChannels(self, value: int) -> None:
        ...

    @property
    def iChannel(self) -> int:
        """
        UserName: Channel
        """
        ...
    @iChannel.setter
    def iChannel(self, value: int) -> None:
        ...

    @property
    def iUniverse(self) -> int:
        """
        UserName: Universe
        """
        ...
    @iUniverse.setter
    def iUniverse(self, value: int) -> None:
        ...

    @property
    def isDummyPatch(self) -> bool:
        ...

    @property
    def moveable(self) -> int:
        ...
    @moveable.setter
    def moveable(self, value: int) -> None:
        ...

    @property
    def totalChannels(self) -> int:
        ...

    def getChannelOffset(self, property: SockpuppetProperty) -> int:
        ...

    def getNaturalValue(self, property: SockpuppetProperty, dmx: Dmx) -> ReflectionValue:
        ...

    def setChannel(self, property: SockpuppetProperty, channel: int) -> None:
        """
        :brief Sets a property to a channel, either by reordering properties or increasing its offset
        :param property: The property to change
        :param channel: The channel to move the property to, a zero or negative channel will move the property to ch. 1
        """
        ...


class DmxPatchSet(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DmxPatchSet'

    @property
    def tracking(self) -> int:
        ...
    @tracking.setter
    def tracking(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for DmxPatchSet
        """
        ...


class DmxProjectorControlDevice(ProjectorControlDevice):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DmxProjectorControlDevice'

    @property
    def channel(self) -> int:
        """
        Category: DMX
        UserName: Channel
        """
        ...
    @channel.setter
    def channel(self, value: int) -> None:
        ...

    @property
    def defaults(self) -> List[DmxCommand]:
        """
        Category: Commands
        UserName: Default commands
        """
        ...
    @defaults.setter
    def defaults(self, value: List[DmxCommand]) -> None:
        ...

    @property
    def focus_channel(self) -> int:
        """
        Category: Focus
        UserName: Focus channel (coarse)
        """
        ...
    @focus_channel.setter
    def focus_channel(self, value: int) -> None:
        ...

    @property
    def focus_fine_channel(self) -> int:
        """
        Category: Focus
        UserName: Focus channel (fine)
        """
        ...
    @focus_fine_channel.setter
    def focus_fine_channel(self, value: int) -> None:
        ...

    @property
    def focus_range(self) -> Vec2:
        """
        Category: Focus
        UserName: Focus range
        """
        ...
    @focus_range.setter
    def focus_range(self, value: Vec2) -> None:
        ...

    @property
    def intensity_channel(self) -> int:
        """
        Category: Intensity
        UserName: Intensity channel (coarse)
        """
        ...
    @intensity_channel.setter
    def intensity_channel(self, value: int) -> None:
        ...

    @property
    def intensity_fine_channel(self) -> int:
        """
        Category: Intensity
        UserName: Intensity channel (fine)
        """
        ...
    @intensity_fine_channel.setter
    def intensity_fine_channel(self, value: int) -> None:
        ...

    @property
    def intensity_range(self) -> Vec2:
        """
        Category: Intensity
        UserName: Intensity range
        """
        ...
    @intensity_range.setter
    def intensity_range(self, value: Vec2) -> None:
        ...

    @property
    def lens_shift_h_channel(self) -> int:
        """
        Category: Lens Shift
        UserName: Horizontal shift channel (coarse)
        """
        ...
    @lens_shift_h_channel.setter
    def lens_shift_h_channel(self, value: int) -> None:
        ...

    @property
    def lens_shift_h_fine_channel(self) -> int:
        """
        Category: Lens Shift
        UserName: Horizontal shift channel (fine)
        """
        ...
    @lens_shift_h_fine_channel.setter
    def lens_shift_h_fine_channel(self, value: int) -> None:
        ...

    @property
    def lens_shift_h_range(self) -> Vec2:
        """
        Category: Lens Shift
        UserName: Horizontal shift range
        """
        ...
    @lens_shift_h_range.setter
    def lens_shift_h_range(self, value: Vec2) -> None:
        ...

    @property
    def lens_shift_v_channel(self) -> int:
        """
        Category: Lens Shift
        UserName: Vertical shift channel (coarse)
        """
        ...
    @lens_shift_v_channel.setter
    def lens_shift_v_channel(self, value: int) -> None:
        ...

    @property
    def lens_shift_v_fine_channel(self) -> int:
        """
        Category: Lens Shift
        UserName: Vertical shift channel (fine)
        """
        ...
    @lens_shift_v_fine_channel.setter
    def lens_shift_v_fine_channel(self, value: int) -> None:
        ...

    @property
    def lens_shift_v_range(self) -> Vec2:
        """
        Category: Lens Shift
        UserName: Vertical shift range
        """
        ...
    @lens_shift_v_range.setter
    def lens_shift_v_range(self, value: Vec2) -> None:
        ...

    @property
    def pan_channel(self) -> int:
        """
        Category: Pan/Tilt
        UserName: Pan channel (coarse)
        """
        ...
    @pan_channel.setter
    def pan_channel(self, value: int) -> None:
        ...

    @property
    def pan_fine_channel(self) -> int:
        """
        Category: Pan/Tilt
        UserName: Pan channel (fine)
        """
        ...
    @pan_fine_channel.setter
    def pan_fine_channel(self, value: int) -> None:
        ...

    @property
    def pan_range(self) -> Vec2:
        """
        Category: Pan/Tilt
        UserName: Pan range
        """
        ...
    @pan_range.setter
    def pan_range(self, value: Vec2) -> None:
        ...

    @property
    def shutdown(self) -> List[DmxCommand]:
        """
        Category: Commands
        UserName: Shutdown commands
        """
        ...
    @shutdown.setter
    def shutdown(self, value: List[DmxCommand]) -> None:
        ...

    @property
    def startup(self) -> List[DmxCommand]:
        """
        Category: Commands
        UserName: Startup commands
        """
        ...
    @startup.setter
    def startup(self, value: List[DmxCommand]) -> None:
        ...

    @property
    def tilt_channel(self) -> int:
        """
        Category: Pan/Tilt
        UserName: Tilt channel (coarse)
        """
        ...
    @tilt_channel.setter
    def tilt_channel(self, value: int) -> None:
        ...

    @property
    def tilt_fine_channel(self) -> int:
        """
        Category: Pan/Tilt
        UserName: Tilt channel (fine)
        """
        ...
    @tilt_fine_channel.setter
    def tilt_fine_channel(self, value: int) -> None:
        ...

    @property
    def tilt_range(self) -> Vec2:
        """
        Category: Pan/Tilt
        UserName: Tilt range
        """
        ...
    @tilt_range.setter
    def tilt_range(self, value: Vec2) -> None:
        ...

    @property
    def universe(self) -> int:
        """
        Category: DMX
        UserName: Universe
        """
        ...
    @universe.setter
    def universe(self, value: int) -> None:
        ...

    @property
    def zoom_channel(self) -> int:
        """
        Category: Zoom
        UserName: Zoom channel (coarse)
        """
        ...
    @zoom_channel.setter
    def zoom_channel(self, value: int) -> None:
        ...

    @property
    def zoom_fine_channel(self) -> int:
        """
        Category: Zoom
        UserName: Zoom channel (fine)
        """
        ...
    @zoom_fine_channel.setter
    def zoom_fine_channel(self, value: int) -> None:
        ...

    @property
    def zoom_range(self) -> Vec2:
        """
        Category: Zoom
        UserName: Zoom range
        """
        ...
    @zoom_range.setter
    def zoom_range(self, value: Vec2) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for DmxProjectorControlDevice
        """
        ...


class DmxScreen(DmxDisplay):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DmxScreen'

    @property
    def always_show_channels(self) -> int:
        """
        Options: {0: 'No', 1: 'Yes'}
        Category: Addressing
        UserName: Always show channels
        """
        ...
    @always_show_channels.setter
    def always_show_channels(self, value: int) -> None:
        ...

    @property
    def amberCompensation(self) -> float:
        """
        Adjustment of amber component output
        
        Category: Output
        UserName: Amber Compensation
        """
        ...
    @amberCompensation.setter
    def amberCompensation(self, value: float) -> None:
        ...

    @property
    def array(self) -> int:
        """
        The addressing order of the pixels - either Horizontal or Vertical
        
        UserName: Array
        """
        ...
    @array.setter
    def array(self, value: int) -> None:
        ...

    @property
    def channels(self) -> List[int]:
        """
        Displays the DMX channel assignment in the visualiser
        
        UserName: Channels
        """
        ...
    @channels.setter
    def channels(self, value: List[int]) -> None:
        ...

    @property
    def fixture_type(self) -> int:
        """
        The pixel type
        
        Options: {0: 'RGB', 1: 'Monochrome', 2: 'Monochrome max', 3: 'RGBW', 4: 'RGBA', 5: 'Inverted monochrome max', 6: 'Bi-level mono', 7: 'Inverted bi-level mono', 8: 'GRB', 9: 'WA', 10: 'RrGgBb', 11: 'RGBAW', 12: 'BRG', 13: 'GBR', 14: 'RrGgBbWw', 15: 'RBG', 16: 'BGR', 17: 'BRGW', 18: 'GRBW'}
        Category: Addressing
        UserName: Fixture type
        """
        ...
    @fixture_type.setter
    def fixture_type(self, value: int) -> None:
        ...

    @property
    def iChannel(self) -> int:
        """
        DMX channel of the first screen pixel (1-based)
        
        Category: Addressing
        UserName: Channel
        """
        ...
    @iChannel.setter
    def iChannel(self, value: int) -> None:
        ...

    @property
    def luminance(self) -> float:
        """
        Light output (NITS); only affects visualiser
        
        Category: Appearance
        UserName: Brightness (NITS)
        """
        ...
    @luminance.setter
    def luminance(self, value: float) -> None:
        ...

    @property
    def neutral_white(self) -> Colour:
        """
        Category: Addressing
        UserName: Neutral White
        """
        ...
    @neutral_white.setter
    def neutral_white(self, value: Colour) -> None:
        ...

    @property
    def origin(self) -> int:
        """
        The start point of the addressing order - which corner of the screen
        
        UserName: Origin
        """
        ...
    @origin.setter
    def origin(self, value: int) -> None:
        ...

    @property
    def personalities(self) -> List[SockpuppetPersonality]:
        ...
    @personalities.setter
    def personalities(self, value: List[SockpuppetPersonality]) -> None:
        ...

    @property
    def status__(self) -> int:
        """
        Either active or muted. If muted, no DMX data is sent
        
        Options: {0: 'Mute', 1: 'Active'}
        Category: Addressing
        UserName: Status
        """
        ...
    @status__.setter
    def status__(self, value: int) -> None:
        ...

    @property
    def table(self) -> Table:
        """
        DMX Screens only support comma-separated tables with 4 columns
        """
        ...
    @table.setter
    def table(self, value: Table) -> None:
        ...

    @property
    def universe(self) -> int:
        """
        DMX universe of the first screen pixel (1-based)
        
        Category: Addressing
        UserName: Universe
        """
        ...
    @universe.setter
    def universe(self, value: int) -> None:
        ...

    @property
    def universe_size(self) -> int:
        """
        There are usually 512 channels in a universe; however, it's sometimes useful to restrict a screen to a smaller number of channels within a universe
        
        UserName: Universe size
        """
        ...
    @universe_size.setter
    def universe_size(self, value: int) -> None:
        ...

    @property
    def universe_step(self) -> int:
        """
        Whether a universe jump is allowed within a row/column, or not
        
        UserName: Universe step
        """
        ...
    @universe_step.setter
    def universe_step(self, value: int) -> None:
        ...

    @property
    def whiteCompensation(self) -> float:
        """
        Adjustment of white component output
        
        Category: Output
        UserName: White Compensation
        """
        ...
    @whiteCompensation.setter
    def whiteCompensation(self, value: float) -> None:
        ...

    def assignString(self, iArraySelect: int, channel: int, nFixtures: int, direction: int, highlightOnly: bool) -> None:
        ...

    def channel(self, iArray: int) -> int:
        ...

    def displayChannels(self, onOff: bool) -> None:
        ...

    def hasAmberChannel(self) -> bool:
        ...

    def hasWhiteChannel(self) -> bool:
        ...

    def iArraySelect(self) -> int:
        ...

    def isTableMalformed(self) -> bool:
        ...


class DmxScreenPositionDriver(ScreenPositionDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DmxScreenPositionDriver'

    @property
    def axis(self) -> str:
        """
        UserName: Axis prefix
        """
        ...
    @axis.setter
    def axis(self, value: str) -> None:
        ...

    @property
    def axisPrefixInput(self) -> str:
        ...
    @axisPrefixInput.setter
    def axisPrefixInput(self, name: str) -> None:
        ...

    @property
    def channel(self) -> int:
        """
        UserName: Channel
        """
        ...
    @channel.setter
    def channel(self, value: int) -> None:
        ...

    @property
    def isLittleEndian(self) -> bool:
        """
        Little or big endian data.
        
        UserName: Little endian
        """
        ...
    @isLittleEndian.setter
    def isLittleEndian(self, value: bool) -> None:
        ...

    @property
    def isSigned(self) -> bool:
        """
        Signed or unsigned data.
        
        UserName: Signed
        """
        ...
    @isSigned.setter
    def isSigned(self, value: bool) -> None:
        ...

    @property
    def nAxes(self) -> int:
        """
        Number of axes. 4 channels per axis plus any padding.
        
        UserName: Number of axes
        """
        ...
    @nAxes.setter
    def nAxes(self, value: int) -> None:
        ...

    @property
    def nChannels(self) -> int:
        """
        Number of 8 bit DMX channels per axis.
        
        UserName: Number of channels per axis
        """
        ...
    @nChannels.setter
    def nChannels(self, value: int) -> None:
        ...

    @property
    def padding(self) -> int:
        """
        Padding between channels.
        
        UserName: Padding
        """
        ...
    @padding.setter
    def padding(self, value: int) -> None:
        ...

    @property
    def universe(self) -> int:
        """
        UserName: Universe
        """
        ...
    @universe.setter
    def universe(self, value: int) -> None:
        ...

    def setAxisPrefixFromInput(self) -> None:
        ...


class DmxShareModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DmxShareModule'

    @property
    def enable_blackout(self) -> int:
        """
        Options: {0: 'No', 1: 'Yes', 2: 'Default'}
        UserName: Enable blackout
        """
        ...
    @enable_blackout.setter
    def enable_blackout(self, value: int) -> None:
        ...

    @property
    def output(self) -> int:
        """
        Options: {0: 'All', 1: 'Colour only', 2: 'Position only'}
        UserName: Output
        """
        ...
    @output.setter
    def output(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class DmxString(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DmxString'

    @property
    def channel(self) -> int:
        """
        UserName: Channel
        """
        ...
    @channel.setter
    def channel(self, value: int) -> None:
        ...

    @property
    def direction(self) -> int:
        """
        Options: {0: 'Right', 1: 'Left', 2: 'Up', 3: 'Down'}
        UserName: Direction
        """
        ...
    @direction.setter
    def direction(self, value: int) -> None:
        ...

    @property
    def minorDirection(self) -> int:
        """
        Options: {0: '-ve', 1: '+ve'}
        UserName: Minor direction
        """
        ...
    @minorDirection.setter
    def minorDirection(self, value: int) -> None:
        ...

    @property
    def nUnits(self) -> int:
        """
        UserName: Number of units
        """
        ...
    @nUnits.setter
    def nUnits(self, value: int) -> None:
        ...

    @property
    def order(self) -> int:
        """
        Options: {0: 'Normal', 1: 'Alternating'}
        UserName: Order
        """
        ...
    @order.setter
    def order(self, value: int) -> None:
        ...

    @property
    def start_pos(self) -> Vec2:
        """
        UserName: Start position
        """
        ...
    @start_pos.setter
    def start_pos(self, value: Vec2) -> None:
        ...

    @property
    def start_unit(self) -> int:
        ...
    @start_unit.setter
    def start_unit(self, value: int) -> None:
        ...

    @property
    def step(self) -> int:
        ...
    @step.setter
    def step(self, value: int) -> None:
        ...

    @property
    def universe(self) -> int:
        """
        UserName: Universe
        """
        ...
    @universe.setter
    def universe(self, value: int) -> None:
        ...

    @property
    def universe_step(self) -> int:
        """
        Options: {0: 'Unit', 1: 'Row/column'}
        UserName: Universe step
        """
        ...
    @universe_step.setter
    def universe_step(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class DocStringAttribute(ReflectionAttributeT):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def string(self) -> str:
        ...
    @string.setter
    def string(self, value: str) -> None:
        ...


class Domain(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class DomainConnection(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class DomainManager(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...

    def getDomainByType(self, type: Type) -> Domain:
        ...

    def getDomainConnectionByType(self, type: Type) -> DomainConnection:
        ...


class DownloadTask(Task):
    null: Self
    _classInfo: 'ClassInfo'


class DownloadableDisplay(Display):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DownloadableDisplay'

    def __init__(self) -> None:
        ...


class DriverRegistry(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class DumpVmapApp(App):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DumpVmapApp'

    def __init__(self) -> None:
        """
        Default constructor for DumpVmapApp
        """
        ...


class DxAdapterGroupDevice(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class DxDevice(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class DxHistogram(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def blue(self) -> bool:
        ...
    @blue.setter
    def blue(self, value: bool) -> None:
        ...

    @property
    def green(self) -> bool:
        ...
    @green.setter
    def green(self, value: bool) -> None:
        ...

    @property
    def histogramMtl(self) -> Material:
        ...

    @property
    def limits(self) -> Vec2:
        ...

    @property
    def luma(self) -> bool:
        ...
    @luma.setter
    def luma(self, value: bool) -> None:
        ...

    @property
    def red(self) -> bool:
        ...
    @red.setter
    def red(self, value: bool) -> None:
        ...

    def __init__(self) -> None:
        ...

    def compute(self, input: DxTexture) -> None:
        ...


class DxMaterial(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    add: Final = 2
    addMtl: DxMaterial
    alpha: Final = 1
    alphaMtl: DxMaterial
    anisotropic: Final = 128
    lineStrip: Final = 32
    linearSample: Final = 0
    mipmap: Final = 64
    multMtl: DxMaterial
    multiply: Final = 3
    multiplyAlpha: Final = 5
    over: Final = 0
    overMtl: DxMaterial
    pointSample: Final = 16
    textureBorder: Final = 768
    textureBorderU: Final = 256
    textureBorderV: Final = 512
    textureClamp: Final = 1024
    textureWrap: Final = 0
    zCmpAlways: Final = 2048
    zCmpLessEqual: Final = 0

    @property
    def blendMode0(self) -> int:
        ...
    @blendMode0.setter
    def blendMode0(self, value: int) -> None:
        ...

    @property
    def blendMode1(self) -> int:
        ...
    @blendMode1.setter
    def blendMode1(self, value: int) -> None:
        ...

    @property
    def colour(self) -> Colour:
        ...
    @colour.setter
    def colour(self, value: Colour) -> None:
        ...

    @property
    def texture0(self) -> DxTexture:
        ...
    @texture0.setter
    def texture0(self, value: DxTexture) -> None:
        ...

    @property
    def texture1(self) -> DxTexture:
        ...
    @texture1.setter
    def texture1(self, value: DxTexture) -> None:
        ...

    @property
    def zWriteEnable(self) -> bool:
        ...
    @zWriteEnable.setter
    def zWriteEnable(self, zWrite: bool) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, tex0: DxTexture, blendMode0: int) -> None:
        ...

    @overload
    def __init__(self, tex0: DxTexture, blendMode0: int, arg2: DxTexture, blendMode1: int) -> None:
        ...

    @staticmethod
    def __new__(cls, args, *args) -> Any:
        """
        Create a new DxMaterial
        """
        ...

    def blendMode(self, mode: int, i: int) -> None:
        ...

    def getTexAddressModeU(self, iStage: int) -> int:
        ...

    def getTexAddressModeV(self, iStage: int) -> int:
        ...

    def getZCmpMode(self, zMode: int) -> int:
        ...

    @staticmethod
    def make(tex0, blendMode0, tex1 = None, blendMode1 = 0) -> Any:
        ...

    def set(self, tex0 = None, bm0 = 0, tex1 = None, bm1 = 0) -> Any:
        """
        Set the material with up to two textures
        
        :param tex0: The first texture
        :param bm0: The blend mode for the first texture
        :param tex1: The second texture
        :param bm1: The blend mode for the second texture
        """
        ...

    def setBlendState(self, arg0: int, blendMode: int, iBlendTargetMask: int) -> None:
        ...

    def setMacro(self, arg0: int, iValue: int) -> None:
        ...

    def setWorldMatrix(self, mat: Mat) -> None:
        ...


class DxRenderer(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    DX11_ALL_TARGETS: Final = 18446744073709551615
    LineList: Final = 3
    PointList: Final = 2
    TriangleList: Final = 0
    TriangleStrip: Final = 1
    instance: Callable
    withSlugs: Final = 1
    withoutSlugs: Final = 0

    @property
    def backbufferEtf(self) -> int:
        ...

    @property
    def composeMatrix(self) -> Mat:
        ...
    @composeMatrix.setter
    def composeMatrix(self, m: Mat) -> None:
        ...

    @property
    def compositorEtf(self) -> int:
        ...

    def allocMaterial(self, type: Type) -> DxMaterial:
        ...

    def cancelClip(self) -> None:
        ...

    def clear(self, c: Colour, iTarget: int = 18446744073709551615) -> None:
        ...

    def clearZBuffer(self, bClearStencil: bool, depthValue: float) -> None:
        ...

    def clip(self, rect: Rect, offset: Vec2 = Vec2(0.0, 0.0)) -> None:
        ...

    def createMaterial(self) -> DxMaterial:
        ...

    def customMatrices(self, trans: Mat, proj: Mat) -> None:
        ...

    def fullscreenQuadImmediate(self, mtl: DxMaterial) -> None:
        ...

    def getBlackTexture(self) -> DxTexture:
        ...

    def getBlackZeroAlphaTexture(self) -> DxTexture:
        ...

    def getModelView(self, mat: Mat) -> Mat:
        ...

    def getModelViewProj(self, mat: Mat) -> Mat:
        ...

    def getNullMaterial(self) -> DxMaterial:
        ...

    def getProj(self) -> Mat:
        ...

    def getWhiteTexture(self) -> DxTexture:
        ...

    def getWhiteZeroAlphaTexture(self) -> DxTexture:
        ...

    def line(self, v0: Vec, v1: Vec, c0: Colour, c1: Colour = Colour.white, mtl: DxMaterial = DxMaterial.overMtl) -> None:
        ...

    def lineList(self, m: DxMaterial) -> DxTriStrip:
        ...

    def lineStrip(self, m: DxMaterial) -> DxTriStrip:
        ...

    def ortho(self) -> None:
        ...

    def perspective(self) -> None:
        ...

    def pointList(self, m: DxMaterial) -> DxTriStrip:
        ...

    def quad(self, m: DxMaterial, r: Rect, col: Colour = Colour.white, depth: float = 0.0, texRect: Rect = Rect(Vec2(0.0, 0.0), Vec2(1.0, 1.0)), texRect2: Rect = Rect(Vec2(0.0, 0.0), Vec2(1.0, 1.0))) -> None:
        ...

    def render(self) -> None:
        ...

    def renderNoSort(self, renderSlug: int) -> None:
        ...

    def size(self) -> Int2:
        ...

    def target(self, tex: DxTexture, iTarget: int, iSlice: int, mipLevel: int, bNoDepth: bool) -> None:
        ...

    def triList(self, m: DxMaterial) -> DxTriStrip:
        ...

    def triStrip(self, m: DxMaterial) -> DxTriStrip:
        ...


class DxResourceMgr(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    instance: Callable

    def getBlackTexture(self) -> DxTexture:
        ...

    def getWhiteTexture(self) -> DxTexture:
        ...


class DxShader(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    class Param(_BlipValue):
        null: Self
        _classInfo: 'ClassInfo'

        @property
        def name(self) -> str:
            ...
        @name.setter
        def name(self, value: str) -> None:
            ...

        @property
        def type(self) -> Type:
            ...

        @property
        def uiEnum(self) -> str:
            ...
        @uiEnum.setter
        def uiEnum(self, value: str) -> None:
            ...

        @property
        def uiName(self) -> str:
            ...
        @uiName.setter
        def uiName(self, value: str) -> None:
            ...

        @property
        def uiVisible(self) -> bool:
            ...
        @uiVisible.setter
        def uiVisible(self, value: bool) -> None:
            ...

        @property
        def valueMax(self) -> ReflectionValue:
            ...
        @valueMax.setter
        def valueMax(self, value: ReflectionValue) -> None:
            ...

        @property
        def valueMin(self) -> ReflectionValue:
            ...
        @valueMin.setter
        def valueMin(self, value: ReflectionValue) -> None:
            ...

        @property
        def valueStride(self) -> ReflectionValue:
            ...
        @valueStride.setter
        def valueStride(self, value: ReflectionValue) -> None:
            ...


    def __init__(self) -> None:
        ...

    def name(self) -> str:
        ...

    def params(self) -> List[Param]:
        ...


class DxSlugTriList(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def addVert(self, vert: DxVert) -> None:
        ...


class DxSlugVert(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def banding(self) -> Colour:
        ...
    @banding.setter
    def banding(self, v: Colour) -> None:
        ...

    @property
    def colour(self) -> Col:
        ...
    @colour.setter
    def colour(self, v: Col) -> None:
        ...

    @property
    def jacobian(self) -> Colour:
        ...
    @jacobian.setter
    def jacobian(self, v: Colour) -> None:
        ...

    @property
    def position(self) -> Colour:
        ...
    @position.setter
    def position(self, v: Colour) -> None:
        ...

    @property
    def texcoord(self) -> Colour:
        ...
    @texcoord.setter
    def texcoord(self, v: Colour) -> None:
        ...

    def __init__(self) -> None:
        ...


class DxTargetRestorer(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, newTarget: DxTexture) -> None:
        ...


class DxTexture(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Texture'
    ETF_NONE: Final = 0
    formatStrings: List[str]

    @property
    def acesTransform(self) -> AcesInputTransformParameters:
        """
        ACES Input Display Transform (IDT)
        
        UserName: Input transform
        """
        ...
    @acesTransform.setter
    def acesTransform(self, value: AcesInputTransformParameters) -> None:
        ...

    @property
    def bpp(self) -> int:
        ...

    @property
    def etf(self) -> int:
        ...

    @property
    def name(self) -> str:
        ...

    @property
    def ocioShaderProperties(self) -> OcioShaderProperties:
        """
        UserName: Ocio shader properties
        """
        ...
    @ocioShaderProperties.setter
    def ocioShaderProperties(self, value: OcioShaderProperties) -> None:
        ...

    @property
    def ocioTransform(self) -> OcioColourSpace:
        """
        OCIO Input Display Transform (IDT)
        
        UserName: Input transform
        """
        ...
    @ocioTransform.setter
    def ocioTransform(self, value: OcioColourSpace) -> None:
        ...

    @property
    def size(self) -> Int2:
        ...

    def beginWritingPixels(self) -> None:
        ...

    def blitToFormat(self, fmt: int) -> DxTexture:
        ...

    def clear(self, c: Colour) -> None:
        ...

    def deletePixels(self) -> None:
        ...

    def download(self, bResolve: bool) -> None:
        ...

    def forceUpload(self) -> None:
        ...

    def getScaleMatrix(self) -> Mat:
        ...

    def hasPixels(self, yesNo: bool) -> None:
        ...

    def load(self, x: int, y: int) -> Colour:
        ...

    def resize(self, size: Int2) -> None:
        ...

    def resizeNoPixels(self, size: Int2) -> None:
        ...

    def resizeTarget(self, size: Int2, etf: int, msaaMode: int, allocFlags: int, sliceCount: int, mipCount: int = False) -> None:
        ...

    def saveFile(self, path: str) -> None:
        ...

    def store(self, x: int, y: int, colour: Colour) -> None:
        ...


class DxTextureHistogram(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def channelColours(self) -> List[Col]:
        ...

    @property
    def channelNames(self) -> List[str]:
        ...

    @property
    def channels(self) -> List[List[int]]:
        ...

    @property
    def nBuckets(self) -> int:
        ...

    @property
    def nPixels(self) -> int:
        ...

    def __init__(self, texture: DxTexture) -> None:
        ...


class DxTriStrip(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def addVert(self, vert: DxVert) -> None:
        ...


class DxVectorscope(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def exposure(self) -> float:
        ...
    @exposure.setter
    def exposure(self, value: float) -> None:
        ...

    @property
    def vectorscopeMtl(self) -> Material:
        ...

    def __init__(self) -> None:
        ...

    def compute(self, input: DxTexture) -> None:
        ...


class DxVert(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def col(self) -> Colour:
        ...
    @col.setter
    def col(self, value: Colour) -> None:
        ...

    @property
    def normal(self) -> Vec:
        ...
    @normal.setter
    def normal(self, v: Vec) -> None:
        ...

    @property
    def pos(self) -> Vec:
        ...
    @pos.setter
    def pos(self, v: Vec) -> None:
        ...

    @property
    def tex1(self) -> Vec2:
        ...
    @tex1.setter
    def tex1(self, value: Vec2) -> None:
        ...

    @property
    def tex2(self) -> Vec2:
        ...
    @tex2.setter
    def tex2(self, value: Vec2) -> None:
        ...

    @property
    def tex3(self) -> Vec2:
        ...
    @tex3.setter
    def tex3(self, value: Vec2) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, pos: Vec, normal: Vec, col: Colour) -> None:
        ...


class DxWaveform(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    modeNames: Callable

    @property
    def exposure(self) -> float:
        ...
    @exposure.setter
    def exposure(self, value: float) -> None:
        ...

    @property
    def limits(self) -> Vec2:
        ...

    @property
    def mode(self) -> int:
        ...
    @mode.setter
    def mode(self, value: int) -> None:
        ...

    @property
    def outputResolution(self) -> Vec2:
        ...
    @outputResolution.setter
    def outputResolution(self, value: Vec2) -> None:
        ...

    @property
    def waveformMtl(self) -> Material:
        ...

    def __init__(self) -> None:
        ...

    def compute(self, input: DxTexture) -> None:
        ...


class EdgeFilterModule(ProjectionAwareModule):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'EdgeFilterModule'

    @property
    def source(self) -> ContentSource:
        """
        UserName: Source
        """
        ...
    @source.setter
    def source(self, value: ContentSource) -> None:
        ...

    @property
    def strength(self) -> float:
        """
        UserName: Strength
        """
        ...
    @strength.setter
    def strength(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class EditManipulator(Manipulator):
    null: Self
    _classInfo: 'ClassInfo'

    def editObjectUnderCursor(self) -> None:
        """
        Select an object
        """
        ...

    def objectAltClick(self) -> bool:
        """
        Alt click on objects
        """
        ...


class ElementChangedArgs(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class EmberPlusMatrix(DVIMatrix):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MediorNetMatrix'

    @property
    def ipAddress(self) -> str:
        """
        UserName: IP address
        """
        ...
    @ipAddress.setter
    def ipAddress(self, value: str) -> None:
        ...

    @property
    def port(self) -> int:
        """
        UserName: Port
        """
        ...
    @port.setter
    def port(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class EngineDefinition(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    fetchAllRegisteredEngineIdentifiers: Callable

    def __init__(self) -> None:
        """
        Default constructor for EngineDefinition
        """
        ...


class EngineSettings(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def additionalArgs(self) -> List[str]:
        """
        Extra command line arguements to launch the asset with.
        
        UserName: Custom arguments
        """
        ...
    @additionalArgs.setter
    def additionalArgs(self, additionalArgs: List[str]) -> None:
        ...

    def __init__(self) -> None:
        ...

    def canSynchroniseEngine(self) -> bool:
        ...


class EngineSettingsResource(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'EngineSettingsResource'

    def __init__(self) -> None:
        ...


class Event(SyncObject):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self, manualReset: bool, name: str) -> None:
        ...

    def reset(self) -> None:
        ...

    def set(self) -> None:
        ...


class EventTransport(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'EventTransport'

    @property
    def cueMode(self) -> int:
        """
        Options: {0: 'Global (All Tracks)', 1: 'Local (Current Track)'}
        Category: Behaviour
        UserName: Cues are
        """
        ...
    @cueMode.setter
    def cueMode(self, value: int) -> None:
        ...

    @property
    def fieldActivity(self) -> List[str]:
        ...

    @property
    def transportManager(self) -> TransportManager:
        ...
    @transportManager.setter
    def transportManager(self, tm: TransportManager) -> None:
        ...


class EventTransportDmx(EventTransport):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'EventTransportDmx'

    @property
    def dmxPatch(self) -> DmxPatch:
        ...
    @dmxPatch.setter
    def dmxPatch(self, value: DmxPatch) -> None:
        ...

    @property
    def playMode(self) -> int:
        """
        Options: {0: 'No change', 1: 'Play', 2: 'Play to end of section', 3: 'Loop section'}
        UserName: Play mode
        """
        ...
    @playMode.setter
    def playMode(self, value: int) -> None:
        ...


class EventTransportInputMap(EventTransport):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'EventTransportInputMap'

    def fadeDown(self) -> None:
        """
        Fade down
        """
        ...

    def fadeUp(self) -> None:
        """
        Fade up
        """
        ...

    def jumpBarBack(self) -> None:
        """
        Jump a bar backwards
        """
        ...

    def jumpBarForward(self) -> None:
        """
        Jump a bar forwards
        """
        ...

    def jumpFrameBack(self) -> None:
        """
        Jump a frame backwards
        """
        ...

    def jumpFrameForward(self) -> None:
        """
        Jump a frame forwards
        """
        ...

    def jumpQuarterBeatBack(self) -> None:
        """
        Jump a quarter second backwards
        """
        ...

    def jumpQuarterBeatForward(self) -> None:
        """
        Jump a quarter second forwards
        """
        ...

    def jumpSectionBack(self) -> None:
        """
        Jump a section backwards
        """
        ...

    def jumpSectionBackSetList(self) -> None:
        """
        Jump a section backwards across the set list
        """
        ...

    def jumpSectionForward(self) -> None:
        """
        Jump a section forwards
        """
        ...

    def jumpSectionForwardSetList(self) -> None:
        """
        Jump a section forwards across the set list
        """
        ...

    def jumpToEnd(self) -> None:
        """
        Jump to end of track
        """
        ...

    def loopSectionToggle(self) -> None:
        """
        Toggle play section looped mode
        """
        ...

    def nextTrack(self) -> None:
        """
        Jump to next track
        """
        ...

    def outputHold(self) -> None:
        """
        Output hold
        """
        ...

    def playToEndSectionToggle(self) -> None:
        """
        Toggle play to end of section mode
        """
        ...

    def playToggle(self) -> None:
        """
        Toggle play mode
        """
        ...

    def previousTrack(self) -> None:
        """
        Jump to previous track
        """
        ...

    def returnToStart(self) -> None:
        """
        Jump to start of track
        """
        ...

    def toggleFadeDir(self) -> None:
        """
        Toggle output fade direction
        """
        ...

    def toggleOutputHold(self) -> None:
        """
        Output output hold
        """
        ...

    def toggleSendTranpsortCommandsMode(self) -> None:
        """
        Toggle sending transport commands
        """
        ...


class EventTransportMidiNote(EventTransport):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'EventTransportMidiNote'

    @property
    def iChannel(self) -> int:
        """
        UserName: Input channel
        """
        ...
    @iChannel.setter
    def iChannel(self, value: int) -> None:
        ...

    @property
    def loopSection(self) -> int:
        ...
    @loopSection.setter
    def loopSection(self, value: int) -> None:
        ...

    @property
    def loopSectionInputType(self) -> int:
        ...
    @loopSectionInputType.setter
    def loopSectionInputType(self, value: int) -> None:
        ...

    @property
    def midiIn(self) -> MidiIn:
        ...

    @property
    def midiInName(self) -> str:
        """
        UserName: MIDI device
        """
        ...
    @midiInName.setter
    def midiInName(self, value: str) -> None:
        ...

    @property
    def nextCue(self) -> int:
        ...
    @nextCue.setter
    def nextCue(self, value: int) -> None:
        ...

    @property
    def nextCueInputType(self) -> int:
        ...
    @nextCueInputType.setter
    def nextCueInputType(self, value: int) -> None:
        ...

    @property
    def nextSection(self) -> int:
        ...
    @nextSection.setter
    def nextSection(self, value: int) -> None:
        ...

    @property
    def nextSectionInputType(self) -> int:
        ...
    @nextSectionInputType.setter
    def nextSectionInputType(self, value: int) -> None:
        ...

    @property
    def nextTrack(self) -> int:
        ...
    @nextTrack.setter
    def nextTrack(self, value: int) -> None:
        ...

    @property
    def nextTrackInputType(self) -> int:
        ...
    @nextTrackInputType.setter
    def nextTrackInputType(self, value: int) -> None:
        ...

    @property
    def on_midi_note_jump(self) -> int:
        """
        Options: {0: 'No change', 1: 'Stop', 2: 'Play', 3: 'Play to end of section', 4: 'Loop section'}
        UserName: On MIDI note jump
        """
        ...
    @on_midi_note_jump.setter
    def on_midi_note_jump(self, value: int) -> None:
        ...

    @property
    def play(self) -> int:
        ...
    @play.setter
    def play(self, value: int) -> None:
        ...

    @property
    def playInputType(self) -> int:
        ...
    @playInputType.setter
    def playInputType(self, value: int) -> None:
        ...

    @property
    def playToEndOfSection(self) -> int:
        ...
    @playToEndOfSection.setter
    def playToEndOfSection(self, value: int) -> None:
        ...

    @property
    def playToEndOfSectionInputType(self) -> int:
        ...
    @playToEndOfSectionInputType.setter
    def playToEndOfSectionInputType(self, value: int) -> None:
        ...

    @property
    def previousSection(self) -> int:
        ...
    @previousSection.setter
    def previousSection(self, value: int) -> None:
        ...

    @property
    def previousSectionInputType(self) -> int:
        ...
    @previousSectionInputType.setter
    def previousSectionInputType(self, value: int) -> None:
        ...

    @property
    def previousTrack(self) -> int:
        ...
    @previousTrack.setter
    def previousTrack(self, value: int) -> None:
        ...

    @property
    def previousTrackInputType(self) -> int:
        ...
    @previousTrackInputType.setter
    def previousTrackInputType(self, value: int) -> None:
        ...

    @property
    def returnToStart(self) -> int:
        ...
    @returnToStart.setter
    def returnToStart(self, value: int) -> None:
        ...

    @property
    def returnToStartInputType(self) -> int:
        ...
    @returnToStartInputType.setter
    def returnToStartInputType(self, value: int) -> None:
        ...

    @property
    def stop(self) -> int:
        ...
    @stop.setter
    def stop(self, value: int) -> None:
        ...

    @property
    def stopInputType(self) -> int:
        ...
    @stopInputType.setter
    def stopInputType(self, value: int) -> None:
        ...

    @property
    def transportBrightness(self) -> int:
        ...
    @transportBrightness.setter
    def transportBrightness(self, value: int) -> None:
        ...

    @property
    def transportBrightnessInputType(self) -> int:
        ...
    @transportBrightnessInputType.setter
    def transportBrightnessInputType(self, value: int) -> None:
        ...

    @property
    def transportVolume(self) -> int:
        ...
    @transportVolume.setter
    def transportVolume(self, value: int) -> None:
        ...

    @property
    def transportVolumeInputType(self) -> int:
        ...
    @transportVolumeInputType.setter
    def transportVolumeInputType(self, value: int) -> None:
        ...


class EventTransportMsc(EventTransport):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'EventTransportMsc'

    @property
    def cueList(self) -> str:
        ...
    @cueList.setter
    def cueList(self, value: str) -> None:
        ...

    @property
    def midi_device(self) -> int:
        """
        UserName: MIDI device
        """
        ...
    @midi_device.setter
    def midi_device(self, value: int) -> None:
        ...

    @property
    def mscDeviceId(self) -> int:
        ...
    @mscDeviceId.setter
    def mscDeviceId(self, value: int) -> None:
        ...

    @property
    def on_section_jump(self) -> int:
        """
        Options: {0: 'No change', 1: 'Stop', 2: 'Play', 3: 'Play to end of section', 4: 'Loop section'}
        UserName: On section jump
        """
        ...
    @on_section_jump.setter
    def on_section_jump(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class EventTransportOSC(EventTransport):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'EventTransportOSC'
    FeedbackModeAlwaysSend: Final = 1
    FeedbackModeNeverSend: Final = 2
    FeedbackModeSendChangesOnly: Final = 0

    @property
    def brightness(self) -> str:
        """
        OSC string mapped to control master brightness; the message should be a float between 0 and 1
        
        Category: Input Messages
        UserName: Brightness
        """
        ...
    @brightness.setter
    def brightness(self, value: str) -> None:
        ...

    @property
    def cue(self) -> str:
        """
        Category: Input Messages
        UserName: Cue
        """
        ...
    @cue.setter
    def cue(self, value: str) -> None:
        ...

    @property
    def cue_play_mode(self) -> int:
        """
        Options: {0: 'No change', 1: 'Stop', 2: 'Play', 3: 'Play to end of section', 4: 'Loop section'}
        Category: Behaviour
        UserName: Cue play mode
        """
        ...
    @cue_play_mode.setter
    def cue_play_mode(self, value: int) -> None:
        ...

    @property
    def fade_down(self) -> str:
        """
        Category: Input Messages
        UserName: Fade down
        """
        ...
    @fade_down.setter
    def fade_down(self, value: str) -> None:
        ...

    @property
    def fade_up(self) -> str:
        """
        Category: Input Messages
        UserName: Fade up
        """
        ...
    @fade_up.setter
    def fade_up(self, value: str) -> None:
        ...

    @property
    def feedbackInterval(self) -> float:
        """
        Sets the time interval between two messages, in seconds
        
        Category: Output Messages
        UserName: Feedback Interval
        """
        ...
    @feedbackInterval.setter
    def feedbackInterval(self, value: float) -> None:
        ...

    @property
    def feedbackMode(self) -> int:
        """
        The expression determining what is sent by the OSC event transport
        
        Options: {0: 'Send Changes Only', 1: 'Always Send', 2: 'Never Send'}
        Category: Output Messages
        UserName: Feedback mode
        """
        ...
    @feedbackMode.setter
    def feedbackMode(self, value: int) -> None:
        ...

    @property
    def floatCue(self) -> str:
        """
        Cue sent as floating point number, in the form xx.yy
        yy is always taken to be 2 digits, so 2.1 is interpreted as 2.10
        
        Category: Input Messages
        UserName: Float cue
        """
        ...
    @floatCue.setter
    def floatCue(self, value: str) -> None:
        ...

    @property
    def hold(self) -> str:
        """
        Category: Input Messages
        UserName: Hold
        """
        ...
    @hold.setter
    def hold(self, value: str) -> None:
        ...

    @property
    def loop_section(self) -> str:
        """
        Category: Input Messages
        UserName: Loop section
        """
        ...
    @loop_section.setter
    def loop_section(self, value: str) -> None:
        ...

    @property
    def next_section(self) -> str:
        """
        Category: Input Messages
        UserName: Next section
        """
        ...
    @next_section.setter
    def next_section(self, value: str) -> None:
        ...

    @property
    def next_track(self) -> str:
        """
        Category: Input Messages
        UserName: Next track
        """
        ...
    @next_track.setter
    def next_track(self, value: str) -> None:
        ...

    @property
    def osc_device(self) -> OscDevice:
        """
        UserName: OSC device
        """
        ...
    @osc_device.setter
    def osc_device(self, value: OscDevice) -> None:
        ...

    @property
    def outputs(self) -> List[OutputOSCExpression]:
        """
        Category: Output Messages
        UserName: Output expressions
        """
        ...
    @outputs.setter
    def outputs(self, value: List[OutputOSCExpression]) -> None:
        ...

    @property
    def play(self) -> str:
        """
        Category: Input Messages
        UserName: Play
        """
        ...
    @play.setter
    def play(self, value: str) -> None:
        ...

    @property
    def play_section(self) -> str:
        """
        Category: Input Messages
        UserName: Play to end of section
        """
        ...
    @play_section.setter
    def play_section(self, value: str) -> None:
        ...

    @property
    def previous_section(self) -> str:
        """
        Category: Input Messages
        UserName: Previous section
        """
        ...
    @previous_section.setter
    def previous_section(self, value: str) -> None:
        ...

    @property
    def previous_track(self) -> str:
        """
        Category: Input Messages
        UserName: Previous track
        """
        ...
    @previous_track.setter
    def previous_track(self, value: str) -> None:
        ...

    @property
    def return_to_start(self) -> str:
        """
        Category: Input Messages
        UserName: Return to start
        """
        ...
    @return_to_start.setter
    def return_to_start(self, value: str) -> None:
        ...

    @property
    def stop(self) -> str:
        """
        Category: Input Messages
        UserName: Stop
        """
        ...
    @stop.setter
    def stop(self, value: str) -> None:
        ...

    @property
    def track_id(self) -> str:
        """
        Category: Input Messages
        UserName: Track ID
        """
        ...
    @track_id.setter
    def track_id(self, value: str) -> None:
        ...

    @property
    def track_name(self) -> str:
        """
        Category: Input Messages
        UserName: Track name
        """
        ...
    @track_name.setter
    def track_name(self, value: str) -> None:
        ...

    @property
    def volume(self) -> str:
        """
        OSC string mapped to control audio volume; the message should be a float between 0 and 1
        
        Category: Input Messages
        UserName: Volume
        """
        ...
    @volume.setter
    def volume(self, value: str) -> None:
        ...


class EventTransportTrackWidget(EventTransport):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'EventTransportTrackWidget'

    def buttonLoopSection(self) -> None:
        ...

    def buttonNextSection(self) -> None:
        ...

    def buttonNextTrack(self) -> None:
        ...

    def buttonPlay(self) -> None:
        ...

    def buttonPlaySection(self) -> None:
        ...

    def buttonPrevSection(self) -> None:
        ...

    def buttonPrevTrack(self) -> None:
        ...

    def buttonReturn(self) -> None:
        ...

    def buttonStop(self) -> None:
        ...


class ExArrayBounds(Exception):
    """
    Exception for out-of-bounds access errors
    """

    null: Self
    _classInfo: 'ClassInfo'


class ExBadClass(Exception):
    null: Self
    _classInfo: 'ClassInfo'


class ExBadResource(Exception):
    null: Self
    _classInfo: 'ClassInfo'


class ExInFileFormatError(Exception):
    null: Self
    _classInfo: 'ClassInfo'


class ExMapRead(Exception):
    null: Self
    _classInfo: 'ClassInfo'


class ExNoSuchClass(Exception):
    null: Self
    _classInfo: 'ClassInfo'


class ExNodeNotFound(Exception):
    null: Self
    _classInfo: 'ClassInfo'


class ExResourceDelete(Exception):
    null: Self
    _classInfo: 'ClassInfo'


class ExSystem(DetailedException):
    """
    Generic system exception
    """

    null: Self
    _classInfo: 'ClassInfo'


class ExTimeOut(Exception):
    null: Self
    _classInfo: 'ClassInfo'


class ExUidCollision(Exception):
    null: Self
    _classInfo: 'ClassInfo'


class Exception(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class ExceptionLog(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    get: Callable
    instance: ExceptionLog

    def getMessages(self) -> List[ExceptionMessage]:
        ...

    def message(self, shortName: str, detail: str) -> None:
        ...


class ExceptionMessage(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def shortName(self) -> str:
        ...

    @property
    def tReceived(self) -> float:
        ...

    def getDetails(self) -> List[str]:
        ...

    def getDetailsCount(self) -> int:
        ...


class ExifData(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def data(self) -> List[Pair]:
        ...


class ExportConfig(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ExportConfig'

    @property
    def cloudDrive(self) -> str:
        """
        disguise Cloud drive used for export
        
        Category: Export Location
        UserName: Cloud Drive
        """
        ...
    @cloudDrive.setter
    def cloudDrive(self, value: str) -> None:
        ...

    @property
    def cloudOrganization(self) -> str:
        """
        disguise Cloud organization
        
        Category: Export Location
        UserName: Cloud Organization
        """
        ...
    @cloudOrganization.setter
    def cloudOrganization(self, value: str) -> None:
        ...

    @property
    def exportToCloud(self) -> bool:
        """
        Export to a disguise Cloud location
        
        Category: Export Location
        UserName: [DEV] Export to Cloud
        """
        ...
    @exportToCloud.setter
    def exportToCloud(self, value: bool) -> None:
        ...

    @property
    def exportToLocal(self) -> bool:
        """
        Export to the local project folder
        
        Category: Export Location
        UserName: [DEV] Export to Local
        """
        ...
    @exportToLocal.setter
    def exportToLocal(self, value: bool) -> None:
        ...

    @property
    def gltfExportOptions(self) -> GltfExportOptions:
        """
        Category: [DEV] GLTF Options
        UserName:
        """
        ...
    @gltfExportOptions.setter
    def gltfExportOptions(self, value: GltfExportOptions) -> None:
        ...

    @property
    def latestPrevizDateUTC(self) -> str:
        ...
    @latestPrevizDateUTC.setter
    def latestPrevizDateUTC(self, value: str) -> None:
        ...

    @property
    def latestPrevizUrl(self) -> str:
        ...
    @latestPrevizUrl.setter
    def latestPrevizUrl(self, value: str) -> None:
        ...

    @property
    def localExportPath(self) -> str:
        """
        Set the location for your local export
        
        Category: Export Location
        UserName: [DEV] Local Export Location
        """
        ...
    @localExportPath.setter
    def localExportPath(self, value: str) -> None:
        ...

    @property
    def timelineOption(self) -> int:
        """
        Select timeline range to export
        
        Options: {0: 'Selected Portion', 1: 'Whole Timeline'}
        Category: Timeline
        UserName: Export Range
        """
        ...
    @timelineOption.setter
    def timelineOption(self, option: int) -> None:
        ...


class ExportOptions(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class ExportOptionsResource(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ExportOptionsResource'

    @property
    def displayName(self) -> str:
        ...

    def supportsExtension(self, extension: str) -> bool:
        ...


class ExporterStatus(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    Exporting: Final = 1
    Idle: Final = 0
    Uploading: Final = 2

    @property
    def state(self) -> int:
        ...
    @state.setter
    def state(self, value: int) -> None:
        ...

    @overload
    def __init__(self) -> None:
        """
        Default constructor for ExporterStatus
        """
        ...

    @overload
    def __init__(self, other: ExporterStatus) -> None:
        """
        Copy constructor for ExporterStatus
        """
        ...


class Expression(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Expression'
    cleanName: Callable
    evaluateFromString: Callable

    @property
    def auto_switch(self) -> int:
        ...
    @auto_switch.setter
    def auto_switch(self, value: int) -> None:
        ...

    @property
    def error(self) -> str:
        ...

    @property
    def expression(self) -> str:
        """
        The string defining the expression
        """
        ...
    @expression.setter
    def expression(self, value: str) -> None:
        ...

    @property
    def expressionString(self) -> str:
        """
        UserName: =
        """
        ...
    @expressionString.setter
    def expressionString(self, value: str) -> None:
        ...

    @property
    def isOK(self) -> bool:
        ...

    @property
    def isSelf(self) -> bool:
        ...

    def reset(self) -> None:
        ...


class ExpressionVariable(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    FloatType: Final = 0
    FunctionType: Final = 2
    StringType: Final = 1

    @property
    def defaultFloat(self) -> float:
        """
        The default value of the variable, if it is a float type
        
        UserName: Default
        """
        ...
    @defaultFloat.setter
    def defaultFloat(self, value: float) -> None:
        ...

    @property
    def defaultString(self) -> str:
        """
        The default value of the variable, if it is a string type
        
        UserName: Default
        """
        ...
    @defaultString.setter
    def defaultString(self, value: str) -> None:
        ...

    @property
    def errorText(self) -> str:
        ...
    @errorText.setter
    def errorText(self, value: str) -> None:
        ...

    @property
    def name(self) -> str:
        """
        The name of the variable
        
        UserName: Name
        """
        ...
    @name.setter
    def name(self, value: str) -> None:
        ...

    @property
    def type(self) -> int:
        """
        The type of the variable
        
        Options: {0: 'Float', 1: 'String', 2: 'Function'}
        UserName: Type
        """
        ...
    @type.setter
    def type(self, value: int) -> None:
        ...

    @overload
    def __init__(self) -> None:
        """
        Default constructor for ExpressionVariable
        """
        ...

    @overload
    def __init__(self, other: ExpressionVariable) -> None:
        """
        Copy constructor for ExpressionVariable
        """
        ...

    def makeExpression(self) -> str:
        ...


class ExpressionVariablesContainer(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def variables(self) -> List[ExpressionVariable]:
        """
        The expression variables held within the container
        """
        ...
    @variables.setter
    def variables(self, value: List[ExpressionVariable]) -> None:
        ...


class ExpressionVariablesDevice(Device):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ExpressionVariablesDevice'

    @property
    def container(self) -> ExpressionVariablesContainer:
        ...
    @container.setter
    def container(self, value: ExpressionVariablesContainer) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for ExpressionVariablesDevice
        """
        ...


class ExpressionVariablesModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ExpressionVariablesModule'

    @property
    def fields(self) -> List[ConnectedField]:
        ...
    @fields.setter
    def fields(self, value: List[ConnectedField]) -> None:
        ...


class ExpressionVariablesModuleConfig(ModuleConfig):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ExpressionVariablesModuleConfig'

    @property
    def container(self) -> ExpressionVariablesContainer:
        """
        UserName: Container
        """
        ...
    @container.setter
    def container(self, value: ExpressionVariablesContainer) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for ExpressionVariablesModuleConfig
        """
        ...


class ExtendedTaskStatus(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def name(self) -> str:
        ...
    @name.setter
    def name(self, value: str) -> None:
        ...

    @property
    def status(self) -> TaskStatus:
        ...
    @status.setter
    def status(self, value: TaskStatus) -> None:
        ...

    @property
    def statusColour(self) -> Colour:
        ...
    @statusColour.setter
    def statusColour(self, value: Colour) -> None:
        ...

    @property
    def statusString(self) -> str:
        ...
    @statusString.setter
    def statusString(self, value: str) -> None:
        ...


class EzDriver(UdpReceiverDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'EzDriver'

    @property
    def enablePacketTimingGraph(self) -> bool:
        """
        Log incoming packet times to a graph
        
        UserName: Enable packet timing graph
        """
        ...
    @enablePacketTimingGraph.setter
    def enablePacketTimingGraph(self, value: bool) -> None:
        ...

    def __init__(self) -> None:
        ...


class FSDuplicateMultiple(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'FSDuplicateMultiple'

    @property
    def number_of_duplicates(self) -> int:
        """
        UserName: Number of duplicates
        """
        ...
    @number_of_duplicates.setter
    def number_of_duplicates(self, value: int) -> None:
        ...

    @property
    def output_offset(self) -> Vec2:
        """
        UserName: Output offset
        """
        ...
    @output_offset.setter
    def output_offset(self, value: Vec2) -> None:
        ...

    @property
    def source_offset(self) -> Vec2:
        """
        UserName: Source offset
        """
        ...
    @source_offset.setter
    def source_offset(self, value: Vec2) -> None:
        ...

    def __init__(self) -> None:
        ...


class FadeModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'FadeModule'

    @property
    def fade_0(self) -> float:
        """
        The fade applied to the brightness of all screens in mapping group 1
        0 is black, 1 is maximum brightness
        
        UserName: Fade 1
        """
        ...
    @fade_0.setter
    def fade_0(self, value: float) -> None:
        ...

    @property
    def fade_1(self) -> float:
        """
        The fade applied to the brightness of all screens in mapping group 2
        0 is black, 1 is maximum brightness
        
        UserName: Fade 2
        """
        ...
    @fade_1.setter
    def fade_1(self, value: float) -> None:
        ...

    @property
    def fade_2(self) -> float:
        """
        The fade applied to the brightness of all screens in mapping group 3
        0 is black, 1 is maximum brightness
        
        UserName: Fade 3
        """
        ...
    @fade_2.setter
    def fade_2(self, value: float) -> None:
        ...

    @property
    def fade_3(self) -> float:
        """
        The fade applied to the brightness of all screens in mapping group 4
        0 is black, 1 is maximum brightness
        
        UserName: Fade 4
        """
        ...
    @fade_3.setter
    def fade_3(self, value: float) -> None:
        ...

    @property
    def fade_4(self) -> float:
        """
        The fade applied to the brightness of all screens in mapping group 5
        0 is black, 1 is maximum brightness
        
        UserName: Fade 5
        """
        ...
    @fade_4.setter
    def fade_4(self, value: float) -> None:
        ...

    @property
    def fade_5(self) -> float:
        """
        The fade applied to the brightness of all screens in mapping group 6
        0 is black, 1 is maximum brightness
        
        UserName: Fade 6
        """
        ...
    @fade_5.setter
    def fade_5(self, value: float) -> None:
        ...

    @property
    def fade_6(self) -> float:
        """
        The fade applied to the brightness of all screens in mapping group 7
        0 is black, 1 is maximum brightness
        
        UserName: Fade 7
        """
        ...
    @fade_6.setter
    def fade_6(self, value: float) -> None:
        ...

    @property
    def fade_7(self) -> float:
        """
        The fade applied to the brightness of all screens in mapping group 8
        0 is black, 1 is maximum brightness
        
        UserName: Fade 8
        """
        ...
    @fade_7.setter
    def fade_7(self, value: float) -> None:
        ...

    @property
    def group_0(self) -> Projection:
        """
        The mapping targetted by fade 1.
        All screens in this mapping will be faded based on the value of fade 1
        
        UserName: Group 1
        """
        ...
    @group_0.setter
    def group_0(self, value: Projection) -> None:
        ...

    @property
    def group_1(self) -> Projection:
        """
        The mapping targetted by fade 2.
        All screens in this mapping will be faded based on the value of fade 2
        
        UserName: Group 2
        """
        ...
    @group_1.setter
    def group_1(self, value: Projection) -> None:
        ...

    @property
    def group_2(self) -> Projection:
        """
        The mapping targetted by fade 3.
        All screens in this mapping will be faded based on the value of fade 3
        
        UserName: Group 3
        """
        ...
    @group_2.setter
    def group_2(self, value: Projection) -> None:
        ...

    @property
    def group_3(self) -> Projection:
        """
        The mapping targetted by fade 4.
        All screens in this mapping will be faded based on the value of fade 4
        
        UserName: Group 4
        """
        ...
    @group_3.setter
    def group_3(self, value: Projection) -> None:
        ...

    @property
    def group_4(self) -> Projection:
        """
        The mapping targetted by fade 5.
        All screens in this mapping will be faded based on the value of fade 5
        
        UserName: Group 5
        """
        ...
    @group_4.setter
    def group_4(self, value: Projection) -> None:
        ...

    @property
    def group_5(self) -> Projection:
        """
        The mapping targetted by fade 6.
        All screens in this mapping will be faded based on the value of fade 6
        
        UserName: Group 6
        """
        ...
    @group_5.setter
    def group_5(self, value: Projection) -> None:
        ...

    @property
    def group_6(self) -> Projection:
        """
        The mapping targetted by fade 7.
        All screens in this mapping will be faded based on the value of fade 7
        
        UserName: Group 7
        """
        ...
    @group_6.setter
    def group_6(self, value: Projection) -> None:
        ...

    @property
    def group_7(self) -> Projection:
        """
        The mapping targetted by fade 8.
        All screens in this mapping will be faded based on the value of fade 8
        
        UserName: Group 8
        """
        ...
    @group_7.setter
    def group_7(self, value: Projection) -> None:
        ...

    def __init__(self) -> None:
        ...


class FailoverData(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class FastCaptureProcess(VideoInCaptureProcess):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'FastCaptureProcess'

    @property
    def numFramesPerTest(self) -> int:
        ...
    @numFramesPerTest.setter
    def numFramesPerTest(self, value: int) -> None:
        ...

    def subscribeToFrames(self) -> None:
        ...

    def unsubscribeFromFrames(self) -> None:
        ...

    def warningStatus(self) -> str:
        ...


class FastCaptureTestProcess(FastCaptureProcess):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'FastCaptureTestProcess'

    def capturedTestsForCamera(self, arg0: Camera) -> List[ReceivedTestData]:
        ...

    def clearFastCaptureResults(self) -> None:
        ...

    def update(self) -> None:
        ...


class FastColourCaptureTestProcess(FastCaptureTestProcess):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'FastColourCaptureTestProcess'

    @property
    def removeCurrentColourEffectors(self) -> bool:
        """
        Removes Colour effects specific to screens during the capture process. Should normally be enabled
        Disables screen luts, MrSet luts and any colour shift.
        
        UserName: Remove current colour effectors
        """
        ...
    @removeCurrentColourEffectors.setter
    def removeCurrentColourEffectors(self, remove: bool) -> None:
        ...


class FastMaskCreationProcess(FastCaptureTestProcess):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'FastMaskCreationProcess'

    def clearMasks(self) -> None:
        ...


class FastSpatialCaptureTestProcess(FastCaptureTestProcess):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'FastSpatialCaptureTestProcess'


class FeedChangeDetector(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class FeedDisplayRenderHelper(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self, display: Display, iTarget: int) -> None:
        ...

    def renderDisplay(self, brightnessTint: Colour, localMat: Mat, csData: ColourShiftData, scale: float) -> None:
        ...


class FeedHeadConfig(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'FeedHeadConfig'
    make: Callable

    @property
    def clearBackground(self) -> DxTexture:
        """
        A lineup image to help match specifications - not outputted
        
        UserName: Lineup background
        """
        ...
    @clearBackground.setter
    def clearBackground(self, value: DxTexture) -> None:
        ...

    @property
    def clearColour(self) -> Colour:
        """
        The background colour of the output
        
        UserName: Background colour
        """
        ...
    @clearColour.setter
    def clearColour(self, value: Colour) -> None:
        ...

    @property
    def framesLatency(self) -> int:
        """
        The number of frames of latency to delay this output by.
        Negative values delay all other heads.
        """
        ...
    @framesLatency.setter
    def framesLatency(self, value: int) -> None:
        ...

    @property
    def liveDot(self) -> Int2:
        """
        The location of a flashing pixel to give confidence everything is still working while outputting black
        """
        ...
    @liveDot.setter
    def liveDot(self, value: Int2) -> None:
        ...

    @property
    def matrixOutputs(self) -> str:
        """
        The matrix output this logical feed output is routed to (e.g. "1.1")
        """
        ...
    @matrixOutputs.setter
    def matrixOutputs(self, value: str) -> None:
        ...

    @property
    def name(self) -> str:
        ...
    @name.setter
    def name(self, value: str) -> None:
        ...

    @property
    def resolution(self) -> Int2:
        ...
    @resolution.setter
    def resolution(self, value: Int2) -> None:
        ...


class FeedProjection(Projection):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Feed'

    @property
    def feed_scene(self) -> FeedScene:
        ...
    @feed_scene.setter
    def feed_scene(self, value: FeedScene) -> None:
        ...

    def importRectsFromTable(self, table: Table, clearImportedDisplays: bool) -> None:
        ...


class FeedProjectionObject(ProjectionObject):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'FeedProjectionObject'

    def __init__(self) -> None:
        """
        Default constructor for FeedProjectionObject
        """
        ...


class FeedRect(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'FeedRect'
    RenderNormal: Final = 0
    RenderTest: Final = 1
    RenderTestLineup: Final = 2

    @property
    def active(self) -> bool:
        ...

    @property
    def contentMode(self) -> int:
        """
        Which channels to display
        
        Options: {0: 'Colour', 1: 'Alpha key', 2: 'Inverse alpha key'}
        UserName: Content mode
        """
        ...
    @contentMode.setter
    def contentMode(self, value: int) -> None:
        ...

    @property
    def deformStack(self) -> DeformStack:
        ...
    @deformStack.setter
    def deformStack(self, value: DeformStack) -> None:
        ...

    @property
    def displayTarget(self) -> int:
        ...
    @displayTarget.setter
    def displayTarget(self, value: int) -> None:
        ...

    @property
    def head(self) -> int:
        ...
    @head.setter
    def head(self, value: int) -> None:
        ...

    @property
    def lock_sizes(self) -> bool:
        ...
    @lock_sizes.setter
    def lock_sizes(self, value: bool) -> None:
        ...

    @property
    def mask(self) -> DxTexture:
        ...
    @mask.setter
    def mask(self, value: DxTexture) -> None:
        ...

    @property
    def rect(self) -> Rect:
        ...
    @rect.setter
    def rect(self, value: Rect) -> None:
        ...

    @property
    def referenceDisplay(self) -> Display:
        ...
    @referenceDisplay.setter
    def referenceDisplay(self, value: Display) -> None:
        ...

    @property
    def renderMode(self) -> int:
        ...
    @renderMode.setter
    def renderMode(self, m: int) -> None:
        ...

    @property
    def resolveDisplay(self) -> Display:
        ...

    @property
    def rotation(self) -> float:
        ...
    @rotation.setter
    def rotation(self, value: float) -> None:
        ...

    @property
    def rotationIndex(self) -> int:
        ...
    @rotationIndex.setter
    def rotationIndex(self, i: int) -> None:
        ...

    @property
    def screenRect(self) -> Rect:
        ...
    @screenRect.setter
    def screenRect(self, value: Rect) -> None:
        ...

    @property
    def screenSizeSet(self) -> Vec2:
        ...
    @screenSizeSet.setter
    def screenSizeSet(self, value: Vec2) -> None:
        ...

    def canonicalRect(self) -> Rect:
        ...

    def lodFactor(self) -> float:
        ...

    def outputRect(self) -> Rect:
        ...

    def renderDeformLookup(self) -> None:
        ...

    def rotateRect(self, r: Rect, rotationIndex: int) -> Rect:
        ...


class FeedScene(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Feed'
    currentMachines: Callable
    exportRectsAsTable: Callable

    @property
    def activeRegions(self) -> List[ActiveScreenRegion]:
        ...
    @activeRegions.setter
    def activeRegions(self, value: List[ActiveScreenRegion]) -> None:
        ...

    @property
    def excludeMode(self) -> int:
        """
        Options: {0: 'Exclude', 1: 'Include'}
        """
        ...
    @excludeMode.setter
    def excludeMode(self, value: int) -> None:
        ...

    @property
    def excludedMaps(self) -> List[Projection]:
        ...
    @excludedMaps.setter
    def excludedMaps(self, value: List[Projection]) -> None:
        ...

    @property
    def feedRects(self) -> List[FeedRect]:
        ...
    @feedRects.setter
    def feedRects(self, value: List[FeedRect]) -> None:
        ...

    @property
    def headConfigs(self) -> List[FeedHeadConfig]:
        ...
    @headConfigs.setter
    def headConfigs(self, value: List[FeedHeadConfig]) -> None:
        ...

    def add(self, r: FeedRect) -> None:
        ...

    def addHeadConfig(self, feedHeadConfig: FeedHeadConfig) -> None:
        ...

    def ensureHeadConfig(self, iHead: int, resolution: Int2) -> FeedHeadConfig:
        ...

    def getUsedHeads(self) -> List[int]:
        ...

    def importRectsFromTable(self, table: Table, clearImportedDisplays: bool) -> None:
        ...

    def isPrimaryMachine(self, machine: Machine) -> bool:
        ...

    def remove(self, r: FeedRect) -> None:
        ...

    def removeHeadConfig(self, i: int) -> None:
        ...

    def renderOverlays(self, localMat: Mat, headFilter: int) -> None:
        ...


class FeedSceneEventLogger(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class FeedSceneRenderHelper(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    FeedHead: Final = 1
    GuiHead: Final = 0

    @property
    def scene(self) -> FeedScene:
        ...

    def __init__(self, scene: FeedScene) -> None:
        ...

    def renderHead(self, iHead: int, brightnessTint: Colour, localMat: Mat, csData: ColourShiftData, func: int, scale: float = 1.0) -> None:
        ...


class FeedViewSettings(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def feedColumns(self) -> int:
        ...
    @feedColumns.setter
    def feedColumns(self, value: int) -> None:
        ...

    @property
    def machinesPerColumn(self) -> int:
        ...
    @machinesPerColumn.setter
    def machinesPerColumn(self, value: int) -> None:
        ...


class FieldAccessor(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def undecoratedName(self) -> str:
        ...


class FieldEditorAttribute(ReflectionAttributeT):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def hasOptions(self) -> bool:
        ...

    @property
    def optionsStrings(self) -> List[str]:
        ...
    @optionsStrings.setter
    def optionsStrings(self, value: List[str]) -> None:
        ...

    @property
    def optionsValues(self) -> List[int]:
        ...
    @optionsValues.setter
    def optionsValues(self, value: List[int]) -> None:
        ...

    @property
    def separatorGroup(self) -> str:
        ...
    @separatorGroup.setter
    def separatorGroup(self, separatorGroup: str) -> None:
        ...


class FieldInfo(ReflectionAttributeContainer):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def containerType(self) -> Type:
        ...

    @property
    def isRP(self) -> bool:
        ...

    @property
    def type(self) -> Type:
        ...

    @property
    def undecoratedName(self) -> str:
        ...

    @property
    def writable(self) -> bool:
        ...

    def instanceValue(self, obj: ReflectionValue) -> ReflectionValue:
        ...


class FieldProperty(ValueBoxProperty):
    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self, other: FieldProperty) -> None:
        ...

    @overload
    def __init__(self, object: ReflectionValue, arg1: FieldInfo) -> None:
        ...

    @overload
    def __init__(self, object: ReflectionValue, fieldName: str) -> None:
        ...


class FieldSequence(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'FieldSequence'

    @property
    def containerClass(self) -> str:
        ...
    @containerClass.setter
    def containerClass(self, value: str) -> None:
        ...

    @property
    def defaultValue(self) -> ReflectionValue:
        ...

    @property
    def disableSequencing(self) -> bool:
        ...
    @disableSequencing.setter
    def disableSequencing(self, value: bool) -> None:
        ...

    @property
    def expression(self) -> Expression:
        ...
    @expression.setter
    def expression(self, value: Expression) -> None:
        ...

    @property
    def isPatched(self) -> bool:
        ...

    @property
    def layer(self) -> Layer:
        ...

    @property
    def name(self) -> str:
        ...
    @name.setter
    def name(self, s: str) -> None:
        ...

    @property
    def noSequence(self) -> bool:
        ...

    @property
    def notSequencable(self) -> bool:
        ...

    @property
    def sequence(self) -> KeySequence:
        ...
    @sequence.setter
    def sequence(self, value: KeySequence) -> None:
        ...

    @property
    def type(self) -> Type:
        ...

    @property
    def typeName(self) -> str:
        ...

    @property
    def userName(self) -> str:
        ...
    @userName.setter
    def userName(self, value: str) -> None:
        ...

    def eval(self, t: float, ttl: int) -> float:
        ...

    def externallyControlled(self) -> bool:
        ...

    def getSequencedValue(self, t: float) -> SequencedValue:
        """
        :brief Preferred method to retrieve the sequenced value at the specified time.
        
        If the FieldSequence is expression or sockpuppet-controlled, this does not represent the external control value, only sequencing.
        
        :param t The time at which to obtain the sequence value.
        :return The sequence value corresponding to the given time.
        """
        ...

    def notifyEdit(self) -> None:
        ...

    def options(self) -> List[str]:
        ...

    def setExpression(self, expr: str) -> None:
        ...

    def setRange(self, min: float, max: float, gran: float) -> None:
        ...

    def setSockpuppetDisabled(self, onOff: bool) -> None:
        ...

    def sockpuppetControlled(self) -> bool:
        ...


class FifoDataSeries(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'FifoDataSeries'

    @property
    def colour(self) -> Colour:
        ...
    @colour.setter
    def colour(self, value: Colour) -> None:
        ...

    @property
    def mode(self) -> int:
        ...
    @mode.setter
    def mode(self, value: int) -> None:
        ...

    @property
    def name(self) -> str:
        ...
    @name.setter
    def name(self, value: str) -> None:
        ...

    @property
    def totalLifetimeSamples(self) -> int:
        ...
    @totalLifetimeSamples.setter
    def totalLifetimeSamples(self, value: int) -> None:
        ...


class File(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class FileEndpoint(ConsoleEndpoint):
    null: Self
    _classInfo: 'ClassInfo'


class FileSys(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    canonicalPath: Callable
    createDirectory: Callable
    deleteFolder: Callable
    deleteFolderContents: Callable
    exists: Callable
    numberedFile: Callable
    size: Callable
    unescapePath: Callable


class FileSystemWatcher(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class FilesystemDateStamp(_BlipValue):
    """
    Date and time stamp based on year zero epoch, with millisecond resolution
    
    Notes:
    - Dates before 1/1/1970 will result in unixTime() = -1.
    - Dates before 1/1/1900 may result in invalid or inconsistent std::tm from timeDate().
    - Daylight Saving Time is observed in unixTime() and timeDate(), but not in the *_utc() variants.
    """

    null: Self
    _classInfo: 'ClassInfo'
    localNow: Callable
    utcNow: Callable

    @property
    def date(self) -> int:
        ...
    @date.setter
    def date(self, value: int) -> None:
        ...

    @property
    def durationInSeconds(self) -> float:
        ...

    @property
    def time(self) -> int:
        ...
    @time.setter
    def time(self, value: int) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, rhs: FilesystemDateStamp) -> None:
        ...

    def __add__(self, ds: FilesystemDateStamp) -> FilesystemDateStamp:
        ...

    def __cmp__(self, o: FilesystemDateStamp) -> int:
        ...

    def __eq__(self, ds: FilesystemDateStamp) -> bool:
        ...

    def __ne__(self, ds: FilesystemDateStamp) -> bool:
        ...

    def __sub__(self, ds: FilesystemDateStamp) -> FilesystemDateStamp:
        ...

    def asString(self) -> str:
        ...

    def asTimeString(self, showMsec: bool) -> str:
        ...


class FilmicGrainModule(ProjectionAwareModule):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'FilmicGrainModule'

    @property
    def grainAmount(self) -> float:
        """
        UserName: Amount
        """
        ...
    @grainAmount.setter
    def grainAmount(self, value: float) -> None:
        ...

    @property
    def grainLuma(self) -> float:
        """
        UserName: Luma blend
        """
        ...
    @grainLuma.setter
    def grainLuma(self, value: float) -> None:
        ...

    @property
    def source(self) -> ContentSource:
        """
        UserName: Source
        """
        ...
    @source.setter
    def source(self, value: ContentSource) -> None:
        ...

    def __init__(self) -> None:
        ...


class Fixture(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Fixture'

    @property
    def aimable(self) -> int:
        """
        Options: {0: 'No', 1: 'Yes'}
        UserName: Aimable
        """
        ...
    @aimable.setter
    def aimable(self, value: int) -> None:
        ...

    @property
    def barrel_length(self) -> float:
        """
        UserName: Barrel length
        """
        ...
    @barrel_length.setter
    def barrel_length(self, value: float) -> None:
        ...

    @property
    def baseSize(self) -> Vec:
        """
        UserName: Base size
        """
        ...
    @baseSize.setter
    def baseSize(self, value: Vec) -> None:
        ...

    @property
    def beam_length(self) -> float:
        """
        Category: Misc
        UserName: Beam length
        """
        ...
    @beam_length.setter
    def beam_length(self, value: float) -> None:
        ...

    @property
    def driver(self) -> FixtureDriver:
        """
        Category: Misc
        UserName: Driver
        """
        ...
    @driver.setter
    def driver(self, value: FixtureDriver) -> None:
        ...

    @property
    def fixture_model(self) -> int:
        """
        selection of fixture Model
        
        UserName: Fixture model
        """
        ...
    @fixture_model.setter
    def fixture_model(self, value: int) -> None:
        ...

    @property
    def lightScatteringshadows(self) -> int:
        """
        enables light scattering shadows for this fixture
        
        UserName: Light Scattering shadows
        """
        ...
    @lightScatteringshadows.setter
    def lightScatteringshadows(self, value: int) -> None:
        ...

    @property
    def light_scattering(self) -> int:
        """
        enables light scattering for this fixture
        
        UserName: Light Scattering
        """
        ...
    @light_scattering.setter
    def light_scattering(self, value: int) -> None:
        ...

    @property
    def lightsourcetype(self) -> int:
        """
        Light source type
        
        UserName: Light source type
        """
        ...
    @lightsourcetype.setter
    def lightsourcetype(self, value: int) -> None:
        ...

    @property
    def mask(self) -> DxTexture:
        """
        UserName: Mask
        """
        ...
    @mask.setter
    def mask(self, value: DxTexture) -> None:
        ...

    @property
    def max_beam_angle(self) -> float:
        """
        UserName: Max beam angle
        """
        ...
    @max_beam_angle.setter
    def max_beam_angle(self, value: float) -> None:
        ...

    @property
    def min_beam_angle(self) -> float:
        """
        UserName: Min beam angle
        """
        ...
    @min_beam_angle.setter
    def min_beam_angle(self, value: float) -> None:
        ...

    @property
    def nChannels(self) -> int:
        """
        UserName: Number of channels
        """
        ...
    @nChannels.setter
    def nChannels(self, value: int) -> None:
        ...

    @property
    def output_brightness(self) -> float:
        """
        output brightness (lumens)
        
        UserName: output brightness (lumens)
        """
        ...
    @output_brightness.setter
    def output_brightness(self, value: float) -> None:
        ...

    @property
    def pivot_height(self) -> float:
        """
        UserName: Pivot height
        """
        ...
    @pivot_height.setter
    def pivot_height(self, value: float) -> None:
        ...

    @property
    def resolution(self) -> Vec2:
        """
        UserName: Resolution
        """
        ...
    @resolution.setter
    def resolution(self, value: Vec2) -> None:
        ...

    @property
    def shadows(self) -> int:
        """
        enables shadows for this fixture
        
        UserName: Shadows
        """
        ...
    @shadows.setter
    def shadows(self, value: int) -> None:
        ...

    @property
    def size_(self) -> Vec:
        """
        UserName: Size
        """
        ...
    @size_.setter
    def size_(self, value: Vec) -> None:
        ...

    @property
    def subsurfacescattering(self) -> int:
        """
        enables sub surface scattering for this fixture
        
        UserName: Sub Surface Scattering
        """
        ...
    @subsurfacescattering.setter
    def subsurfacescattering(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class FixtureAssigner(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'FixtureAssigner'

    def __init__(self) -> None:
        ...

    def assign(self) -> None:
        ...


class FixtureDriver(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'FixtureDriver'

    @property
    def xmlFile(self) -> XmlFile:
        """
        UserName: XML File
        """
        ...
    @xmlFile.setter
    def xmlFile(self, value: XmlFile) -> None:
        ...

    def __init__(self) -> None:
        ...


class FixtureDriverInfo(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'FixtureDriverInfo'

    def __init__(self) -> None:
        ...


class FixtureGroup(DmxDisplay):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DmxLights'

    @property
    def active(self) -> int:
        """
        Controls whether DMX is being sent to the actual fixtures
        
        Options: {0: 'No', 1: 'Yes'}
        Category: Addressing
        UserName: Active
        """
        ...
    @active.setter
    def active(self, value: int) -> None:
        ...

    @property
    def always_show_channels(self) -> int:
        """
        Displays the DMX channel assignments in the visualiser
        
        Options: {0: 'No', 1: 'Yes'}
        Category: Addressing
        UserName: Always show channels
        """
        ...
    @always_show_channels.setter
    def always_show_channels(self, value: int) -> None:
        ...

    @property
    def assignment(self) -> FixtureAssigner:
        """
        Controls how DMX channels are assigned to the fixtures in the screen
        
        Category: Addressing
        UserName: Assignment
        """
        ...
    @assignment.setter
    def assignment(self, value: FixtureAssigner) -> None:
        ...

    @property
    def fixture(self) -> Fixture:
        """
        The DMX Fixture to use
        
        Category: Fixtures
        UserName: Fixture
        """
        ...
    @fixture.setter
    def fixture(self, value: Fixture) -> None:
        ...

    @property
    def fixtureMask(self) -> DxTexture:
        """
        Like population mask, controls which fixtures are present and which are absent. Use instead of population mask
        
        Category: Fixtures
        UserName: Fixture mask
        """
        ...
    @fixtureMask.setter
    def fixtureMask(self, value: DxTexture) -> None:
        ...

    @property
    def global_transform(self) -> FixtureRotation:
        """
        Applies a global rotation & offset to all fixture bases in the screen
        
        Category: Fixtures
        UserName: Global transform
        """
        ...
    @global_transform.setter
    def global_transform(self, value: FixtureRotation) -> None:
        ...

    @property
    def instances(self) -> List[FixtureInstance]:
        ...
    @instances.setter
    def instances(self, value: List[FixtureInstance]) -> None:
        ...

    @property
    def lumens(self) -> float:
        """
        Fixture brightness, in ANSI Lumens. Affects visualiser only
        
        Category: Appearance
        UserName: Brightness (Lumens)
        """
        ...
    @lumens.setter
    def lumens(self, value: float) -> None:
        ...

    @property
    def nAcross(self) -> int:
        """
        Number of fixtures across in the fixture grid
        
        Category: Fixtures
        UserName: Number across
        """
        ...
    @nAcross.setter
    def nAcross(self, value: int) -> None:
        ...

    @property
    def nDown(self) -> int:
        """
        Number of fixtures down in the fixture grid
        
        Category: Fixtures
        UserName: Number down
        """
        ...
    @nDown.setter
    def nDown(self, value: int) -> None:
        ...

    @property
    def positioning(self) -> int:
        """
        Controls how fixture positions are generated
        
        Options: {0: 'Physical', 1: 'Pixel-perfect'}
        Category: Fixtures
        UserName: Positioning
        """
        ...
    @positioning.setter
    def positioning(self, value: int) -> None:
        ...

    @property
    def shared(self) -> int:
        ...
    @shared.setter
    def shared(self, value: int) -> None:
        ...

    @property
    def use_normals(self) -> int:
        """
        If set, fixture bases are oriented along the screen surface
        
        Options: {0: 'No', 1: 'Yes', 2: 'Inverted'}
        Category: Fixtures
        UserName: Use normals
        """
        ...
    @use_normals.setter
    def use_normals(self, value: int) -> None:
        ...

    @property
    def xmlFile(self) -> XmlFile:
        """
        Category: XML
        UserName: XML File
        """
        ...
    @xmlFile.setter
    def xmlFile(self, value: XmlFile) -> None:
        ...

    def __init__(self) -> None:
        ...


class FixtureInstance(Object):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'FixtureInstance'

    @property
    def driverInfo(self) -> FixtureDriverInfo:
        """
        UserName: Driver info
        """
        ...
    @driverInfo.setter
    def driverInfo(self, fdi: FixtureDriverInfo) -> None:
        ...

    @property
    def fixture(self) -> Fixture:
        """
        UserName: Fixture
        """
        ...
    @fixture.setter
    def fixture(self, value: Fixture) -> None:
        ...

    @property
    def pan_tilt(self) -> int:
        """
        Options: {0: 'disable', 1: 'enable'}
        UserName: Pan/Tilt enabled
        """
        ...
    @pan_tilt.setter
    def pan_tilt(self, value: int) -> None:
        ...

    @property
    def shift(self) -> Vec:
        """
        UserName: Shift
        """
        ...
    @shift.setter
    def shift(self, value: Vec) -> None:
        ...

    def __init__(self) -> None:
        ...


class FixtureLine(FixtureGroup):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'DmxLine'

    @property
    def show_cursors(self) -> int:
        """
        Shows the fixture positions as crosshairs in the visualiser
        
        Options: {0: 'Off', 1: 'On'}
        Category: Visualisation
        UserName: Show cursors
        """
        ...
    @show_cursors.setter
    def show_cursors(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class FixtureRotation(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'FixtureTransform'

    @property
    def offset(self) -> Vec:
        """
        UserName: Offset
        """
        ...
    @offset.setter
    def offset(self, value: Vec) -> None:
        ...

    @property
    def rotation(self) -> Vec:
        """
        UserName: Rotation
        """
        ...
    @rotation.setter
    def rotation(self, value: Vec) -> None:
        ...

    def __init__(self) -> None:
        ...


class FixtureTarget(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'FixtureTarget'

    @property
    def offset(self) -> Vec:
        """
        UserName: Offset
        """
        ...
    @offset.setter
    def offset(self, value: Vec) -> None:
        ...

    @property
    def render(self) -> int:
        ...
    @render.setter
    def render(self, value: int) -> None:
        ...

    @property
    def rotation(self) -> Vec:
        """
        UserName: Rotation
        """
        ...
    @rotation.setter
    def rotation(self, value: Vec) -> None:
        ...

    @property
    def scale(self) -> Vec:
        """
        UserName: Scale
        """
        ...
    @scale.setter
    def scale(self, value: Vec) -> None:
        ...

    def set(self, offset: Vec, scale: Vec, rotation: Vec) -> None:
        ...


class FixtureTargetObject(Object):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'FixtureTargetObject'

    def set(self, target: FixtureTarget) -> None:
        ...


class FloatSequence(KeySequence):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'FloatSequence'

    def setFloat(self, t: float, v: float) -> None:
        ...


class FolderWatcher(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class FolderWatcherNotification(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def path(self) -> str:
        ...

    @property
    def type(self) -> int:
        ...


class FolderWatcherSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class FolsomMatrixPro16x16(BarcoMatrixPro):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'FolsomMatrixPro16x16'

    def __init__(self) -> None:
        """
        Default constructor for FolsomMatrixPro16x16
        """
        ...


class ForwardingDisplay(Display):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ForwardingDisplay'

    @property
    def currentTarget(self) -> Display:
        """
        This display forwards onto others. This is the current target.
        
        Category: Settings
        UserName: Current target
        """
        ...


class FpClearMaterial(DxMaterial):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class FrameFragment(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def loadWeight(self) -> float:
        ...
    @loadWeight.setter
    def loadWeight(self, value: float) -> None:
        ...

    @property
    def machine(self) -> RenderStreamMachine:
        ...
    @machine.setter
    def machine(self, value: RenderStreamMachine) -> None:
        ...

    @property
    def renderArea(self) -> RenderArea:
        ...
    @renderArea.setter
    def renderArea(self, value: RenderArea) -> None:
        ...

    @overload
    def __init__(self) -> None:
        """
        Default constructor for FrameFragment
        """
        ...

    @overload
    def __init__(self, other: FrameFragment) -> None:
        """
        Copy constructor for FrameFragment
        """
        ...


class FrameRateFraction(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class FreeDDriver(UdpReceiverDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'FreeDDriver'

    @property
    def enablePacketTimingGraph(self) -> bool:
        """
        Log incoming packet times to a graph
        
        UserName: Enable packet timing graph
        """
        ...
    @enablePacketTimingGraph.setter
    def enablePacketTimingGraph(self, value: bool) -> None:
        ...

    def __init__(self) -> None:
        ...


class FsrMaterial(DxMaterial):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class FuzzySearchValues(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def values(self) -> List[FuzzySearchItem[ReflectionValue]]:
        ...
    @values.setter
    def values(self, value: List[FuzzySearchItem[ReflectionValue]]) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for FuzzySearchValues
        """
        ...

    def addValue(self, name: str, value: ReflectionValue) -> None:
        ...

    def search(self, text: str) -> None:
        ...


class FxaaMaterial(DxMaterial):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class GPUMemoryMonitor(MetricMonitor):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'GPUMemoryMonitor'

    def __init__(self) -> None:
        """
        Default constructor for GPUMemoryMonitor
        """
        ...


class GPUProfilerMonitor(MetricMonitor):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'GPUProfilerMonitor'

    def __init__(self) -> None:
        ...


class GPUSubsystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...

    def applyFanSpeeds(self) -> None:
        ...

    def resetFanSpeeds(self) -> None:
        ...


class GVGMatrix(DVIMatrix):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'GVGMatrix'

    @property
    def ipAddress(self) -> str:
        """
        UserName: IP address
        """
        ...
    @ipAddress.setter
    def ipAddress(self, value: str) -> None:
        ...

    @property
    def port(self) -> int:
        """
        UserName: Port
        """
        ...
    @port.setter
    def port(self, value: int) -> None:
        ...

    @property
    def waitForResponse(self) -> int:
        """
        Wait for response from the device before for sending the next command.
        May be required by AJA KUMO routers.
        
        Options: {0: 'Off', 1: 'On'}
        UserName: Wait for response
        """
        ...
    @waitForResponse.setter
    def waitForResponse(self, value: int) -> None:
        ...

    def sendCommand(self, command: str, params: List[str]) -> None:
        ...


class GamutWalkProcess(FastCaptureProcess):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'GamutWalkProcess'

    @property
    def colourSteps(self) -> float:
        """
        Number of colour steps per channel.
        Higher steps means colour calibration will be better but will also take longer.
        
        UserName: Colour steps
        """
        ...
    @colourSteps.setter
    def colourSteps(self, value: float) -> None:
        ...

    @property
    def estimatedDuration(self) -> float:
        ...

    @property
    def fillFactor(self) -> float:
        """
        Factor of the screen covered with the colour & mask
        
        UserName: Screen fill factor
        """
        ...
    @fillFactor.setter
    def fillFactor(self, value: float) -> None:
        ...

    @property
    def hasBackupLUTs(self) -> bool:
        ...

    @property
    def numFramesPerTest(self) -> int:
        """
        How long each colour is held before changing.
        Set in pre-calibration step.
        
        UserName: Frames per test
        """
        ...
    @numFramesPerTest.setter
    def numFramesPerTest(self, value: int) -> None:
        ...

    @property
    def removeCurrentColourEffectors(self) -> bool:
        """
        Removes Colour effects specific to screens during colour calibration. Should normally be enabled
        Disables screen luts, MrSet luts and any colour shift.
        
        UserName: Clear Colour Effectors
        """
        ...
    @removeCurrentColourEffectors.setter
    def removeCurrentColourEffectors(self, value: bool) -> None:
        ...

    def runWithMaskCreation(self) -> None:
        ...

    def setMaskCreator(self, m: FastMaskCreationProcess) -> None:
        ...

    def undo(self) -> None:
        ...


class GefenMatrix(DVIMatrix):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'GefenMatrix'

    @property
    def IP_Address(self) -> str:
        """
        UserName: IP address
        """
        ...
    @IP_Address.setter
    def IP_Address(self, value: str) -> None:
        ...

    @property
    def Port(self) -> int:
        """
        UserName: Port
        """
        ...
    @Port.setter
    def Port(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class GeneratedCameraTrackingSource(CameraTrackingSource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'GeneratedCameraTrackingSource'

    def __init__(self) -> None:
        ...


class GeneratedObjectTrackingSource(ObjectTrackingSource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'GeneratedObjectTrackingSource'

    def __init__(self) -> None:
        """
        Default constructor for GeneratedObjectTrackingSource
        """
        ...


class GeneratedSkeletalTrackingSource(SkeletalTrackingSource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'GeneratedSkeletalTrackingSource'

    def __init__(self) -> None:
        """
        Default constructor for GeneratedSkeletalTrackingSource
        """
        ...


class GenericCommand(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'GenericCommand'

    @property
    def issuedTime(self) -> float:
        ...
    @issuedTime.setter
    def issuedTime(self, t: float) -> None:
        ...

    @property
    def sourceCacheText(self) -> str:
        ...
    @sourceCacheText.setter
    def sourceCacheText(self, value: str) -> None:
        ...

    @property
    def sourceMachine(self) -> str:
        ...
    @sourceMachine.setter
    def sourceMachine(self, value: str) -> None:
        ...

    @property
    def sourceType(self) -> int:
        ...
    @sourceType.setter
    def sourceType(self, t: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class GenericLampDriver(DmxDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'GenericLampDriver'

    @property
    def default_commands(self) -> List[DmxCommand]:
        """
        Category: Commands
        UserName: Default commands
        """
        ...
    @default_commands.setter
    def default_commands(self, value: List[DmxCommand]) -> None:
        ...

    @property
    def lamp(self) -> LampController:
        """
        UserName: Lamp
        """
        ...
    @lamp.setter
    def lamp(self, value: LampController) -> None:
        ...

    @property
    def pan_tilt(self) -> PanTiltController:
        """
        UserName: Pan/tilt
        """
        ...
    @pan_tilt.setter
    def pan_tilt(self, value: PanTiltController) -> None:
        ...

    @property
    def reset(self) -> DmxCommand:
        """
        Category: Commands
        UserName: Reset
        """
        ...
    @reset.setter
    def reset(self, value: DmxCommand) -> None:
        ...

    @property
    def tester(self) -> LampTester:
        """
        Category: Testing
        UserName: Tester
        """
        ...
    @tester.setter
    def tester(self, value: LampTester) -> None:
        ...

    def __init__(self) -> None:
        ...


class GenericLampInfo(DmxDriverInfo):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'GenericLampInfo'

    @property
    def pan(self) -> float:
        ...
    @pan.setter
    def pan(self, value: float) -> None:
        ...

    @property
    def pan_flip(self) -> int:
        """
        Options: {0: 'No', 1: 'Yes'}
        UserName: Pan flip
        """
        ...
    @pan_flip.setter
    def pan_flip(self, value: int) -> None:
        ...

    @property
    def tilt(self) -> float:
        ...
    @tilt.setter
    def tilt(self, value: float) -> None:
        ...

    @property
    def tilt_flip(self) -> int:
        """
        Options: {0: 'No', 1: 'Yes'}
        UserName: Tilt flip
        """
        ...
    @tilt_flip.setter
    def tilt_flip(self, value: int) -> None:
        ...


class Gizmo(_BlipValue):
    """
    :brief A Gizmo allows interactions with an Object on the Stage.
    This is achieved by hooking actions into the Input Mappings of the
    SpaceWidget.
    """

    null: Self
    _classInfo: 'ClassInfo'


class Gizmo3D(Gizmo):
    null: Self
    _classInfo: 'ClassInfo'

    def manipulatedObjects(self) -> List[Object]:
        ...


class GltfExportOptions(ExportOptions):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def compressionOptions(self) -> CompressionOptions:
        """
        UserName:
        """
        ...
    @compressionOptions.setter
    def compressionOptions(self, options: CompressionOptions) -> None:
        ...

    @property
    def doubleSidedMaterials(self) -> bool:
        """
        Whether the exported materials are double-sided
        
        UserName: Double-sided materials
        """
        ...
    @doubleSidedMaterials.setter
    def doubleSidedMaterials(self, value: bool) -> None:
        ...

    @property
    def mergeDisplayMeshes(self) -> bool:
        """
        UserName: Merge display meshes
        """
        ...
    @mergeDisplayMeshes.setter
    def mergeDisplayMeshes(self, merge: bool) -> None:
        ...


class GltfExportOptionsResource(ExportOptionsResource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'GltfExportOptionsResource'

    @property
    def options(self) -> GltfExportOptions:
        """
        UserName:
        """
        ...
    @options.setter
    def options(self, value: GltfExportOptions) -> None:
        ...


class GpGpuSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class GradientModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'GradientModule'

    @property
    def Inner_radius(self) -> float:
        ...
    @Inner_radius.setter
    def Inner_radius(self, value: float) -> None:
        ...

    @property
    def _1st_brightness(self) -> float:
        ...
    @_1st_brightness.setter
    def _1st_brightness(self, value: float) -> None:
        ...

    @property
    def _2nd_brightness(self) -> float:
        ...
    @_2nd_brightness.setter
    def _2nd_brightness(self, value: float) -> None:
        ...

    @property
    def _2nd_xCol(self) -> float:
        """
        UserName: 2nd colour X
        """
        ...
    @_2nd_xCol.setter
    def _2nd_xCol(self, value: float) -> None:
        ...

    @property
    def _2nd_yCol(self) -> float:
        """
        UserName: 2nd colour Y
        """
        ...
    @_2nd_yCol.setter
    def _2nd_yCol(self, value: float) -> None:
        ...

    @property
    def angle(self) -> float:
        """
        UserName: Angle
        """
        ...
    @angle.setter
    def angle(self, value: float) -> None:
        ...

    @property
    def dither(self) -> bool:
        """
        UserName: Dither
        """
        ...
    @dither.setter
    def dither(self, value: bool) -> None:
        ...

    @property
    def gamma(self) -> float:
        """
        UserName: Gamma
        """
        ...
    @gamma.setter
    def gamma(self, value: float) -> None:
        ...

    @property
    def interpolation(self) -> int:
        """
        Options: {0: 'Linear', 1: 'SmoothStep'}
        UserName: Interpolation method
        """
        ...
    @interpolation.setter
    def interpolation(self, value: int) -> None:
        ...

    @property
    def length(self) -> float:
        """
        UserName: Length
        """
        ...
    @length.setter
    def length(self, value: float) -> None:
        ...

    @property
    def position(self) -> Vec2:
        """
        UserName: Position
        """
        ...
    @position.setter
    def position(self, value: Vec2) -> None:
        ...

    @property
    def scale(self) -> Vec2:
        """
        UserName: Aspect scale
        """
        ...
    @scale.setter
    def scale(self, value: Vec2) -> None:
        ...

    @property
    def type(self) -> int:
        """
        Options: {0: 'Linear', 1: 'Radial'}
        UserName: Type
        """
        ...
    @type.setter
    def type(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class GradientTexture(ProceduralTexture):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'GradientTexture'

    @property
    def endCol(self) -> Colour:
        ...
    @endCol.setter
    def endCol(self, value: Colour) -> None:
        ...

    @property
    def gammaCurve(self) -> float:
        ...
    @gammaCurve.setter
    def gammaCurve(self, value: float) -> None:
        ...

    @property
    def interpolation(self) -> int:
        """
        Options: {0: 'Linear', 1: 'SmoothStep'}
        UserName: Interpolation method
        """
        ...
    @interpolation.setter
    def interpolation(self, value: int) -> None:
        ...

    @property
    def isDitherEnabled(self) -> bool:
        """
        Dithers texture to reduce banding. Works better with higher resolution textures.
        """
        ...
    @isDitherEnabled.setter
    def isDitherEnabled(self, value: bool) -> None:
        ...

    @property
    def length(self) -> float:
        ...
    @length.setter
    def length(self, value: float) -> None:
        ...

    @property
    def midPoint(self) -> Vec2:
        ...
    @midPoint.setter
    def midPoint(self, value: Vec2) -> None:
        ...

    @property
    def rotation(self) -> float:
        ...
    @rotation.setter
    def rotation(self, value: float) -> None:
        ...

    @property
    def startCol(self) -> Colour:
        ...
    @startCol.setter
    def startCol(self, value: Colour) -> None:
        ...

    def __init__(self) -> None:
        ...


class GraphDescriptor(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'GraphDescriptor'

    @property
    def dataSeries(self) -> List[FifoDataSeries]:
        ...
    @dataSeries.setter
    def dataSeries(self, value: List[FifoDataSeries]) -> None:
        ...

    @property
    def graphTitle(self) -> str:
        ...
    @graphTitle.setter
    def graphTitle(self, value: str) -> None:
        ...

    @property
    def maxData(self) -> float:
        ...
    @maxData.setter
    def maxData(self, value: float) -> None:
        ...

    @property
    def maxValue(self) -> float:
        ...
    @maxValue.setter
    def maxValue(self, value: float) -> None:
        ...

    @property
    def minData(self) -> float:
        ...
    @minData.setter
    def minData(self, value: float) -> None:
        ...

    @property
    def thresholds(self) -> List[GraphThreshold]:
        ...
    @thresholds.setter
    def thresholds(self, value: List[GraphThreshold]) -> None:
        ...

    @property
    def xUnits(self) -> str:
        ...
    @xUnits.setter
    def xUnits(self, value: str) -> None:
        ...

    @property
    def xZoom(self) -> float:
        ...
    @xZoom.setter
    def xZoom(self, value: float) -> None:
        ...

    @property
    def yUnits(self) -> str:
        ...
    @yUnits.setter
    def yUnits(self, value: str) -> None:
        ...


class GraphThreshold(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'GraphThreshold'

    @property
    def colour(self) -> Colour:
        ...
    @colour.setter
    def colour(self, value: Colour) -> None:
        ...

    @property
    def label(self) -> str:
        ...
    @label.setter
    def label(self, value: str) -> None:
        ...

    @property
    def value(self) -> float:
        ...
    @value.setter
    def value(self, value: float) -> None:
        ...


class GreenScreen(Prop):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'GreenScreen'

    def __init__(self) -> None:
        ...


class GridAlignmentErrorData(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def alignMat(self) -> Mat:
        ...
    @alignMat.setter
    def alignMat(self, value: Mat) -> None:
        ...

    @property
    def avgError(self) -> float:
        ...
    @avgError.setter
    def avgError(self, value: float) -> None:
        ...

    @property
    def iProjector(self) -> int:
        ...
    @iProjector.setter
    def iProjector(self, value: int) -> None:
        ...

    @property
    def maxError(self) -> float:
        ...
    @maxError.setter
    def maxError(self, value: float) -> None:
        ...

    @property
    def minError(self) -> float:
        ...
    @minError.setter
    def minError(self, value: float) -> None:
        ...

    @property
    def pointCount(self) -> int:
        ...
    @pointCount.setter
    def pointCount(self, value: int) -> None:
        ...


class GroupLayer(SuperLayer):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'GroupLayer'

    @property
    def arrows(self) -> List[Arrow]:
        ...
    @arrows.setter
    def arrows(self, value: List[Arrow]) -> None:
        ...

    @property
    def expanded(self) -> bool:
        ...
    @expanded.setter
    def expanded(self, onOff: bool) -> None:
        ...

    @property
    def layers(self) -> List[SuperLayer]:
        ...
    @layers.setter
    def layers(self, value: List[SuperLayer]) -> None:
        ...

    def __init__(self, layers) -> None:
        """
        Construct a GroupLayer from a list of layers
        
        :param layers: A list of layers to make into a group
        """
        ...

    def areAllLayersLocked(self) -> bool:
        ...

    def areAnyLayersLocked(self) -> bool:
        ...

    def nLayers(self) -> int:
        ...

    def removeChild(self, l: SuperLayer) -> None:
        ...

    def set(self, layers: List[SuperLayer]) -> GroupLayer:
        ...


class GrpcReceiverDriver(ScreenPositionDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'GrpcReceiverDriver'

    @property
    def ipaddr(self) -> str:
        """
        IP address to communicate with RPC server
        
        UserName: IP address
        """
        ...
    @ipaddr.setter
    def ipaddr(self, value: str) -> None:
        ...

    @property
    def port(self) -> int:
        """
        UserName: Port
        """
        ...
    @port.setter
    def port(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class GrpcServer(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class Gui(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Gui'

    @property
    def arrowStart(self) -> Vec2:
        ...

    @property
    def cursorPos(self) -> Vec2:
        ...
    @cursorPos.setter
    def cursorPos(self, value: Vec2) -> None:
        ...

    @property
    def dpiScale(self) -> Vec2:
        ...

    @property
    def font(self) -> SlugFont:
        ...
    @font.setter
    def font(self, value: SlugFont) -> None:
        ...

    @property
    def resourceManager(self) -> GuiResourceManager:
        ...

    @property
    def smallFont(self) -> SlugFont:
        ...
    @smallFont.setter
    def smallFont(self, value: SlugFont) -> None:
        ...

    def drawArrow(self, v0: Vec2, v1: Vec2, thickness: float, c: Colour) -> None:
        ...

    def drawSelectionMarquee(self, rect: Rect) -> None:
        ...

    def enableNewWidgetFocus(self, onOff: bool) -> None:
        ...

    def helpSystem(self) -> HelpSystem:
        ...

    def makeDuplicateName(self, str: str, predicate: Callable = lambda name: True) -> str:
        ...


class GuiResourceManager(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'
    AddBitmap: Final = 15
    AddNoteBitmap: Final = 84
    ArrowDownBitmap: Final = 67
    ArrowUpBitmap: Final = 66
    BackBitmap: Final = 54
    BoxBitmap: Final = 57
    BrightnessBitmap: Final = 21
    CheckButtonBitmap: Final = 23
    ClockBitmap: Final = 71
    CloseBitmap: Final = 0
    CollapseBitmap: Final = 19
    ColourPickerBitmap: Final = 29
    CubicMarkerBitmap: Final = 28
    DotPatternBitmap: Final = 27
    ExpandBitmap: Final = 18
    ExpandHorizontalBitmap: Final = 20
    FilledNoteBitmap: Final = 85
    FilledNoteUnseenBitmap: Final = 86
    FolderBitmap: Final = 56
    ForwardBitmap: Final = 55
    GenlockBitmap: Final = 78
    GlobalLocalBitmap: Final = 76
    HatchingBitmap: Final = 31
    InkDropperBitmap: Final = 83
    InputBitmap: Final = 80
    KeyBlackBitmap: Final = 36
    KeyCenterBitmap: Final = 34
    KeyLeftBitmap: Final = 33
    KeyRightBitmap: Final = 35
    KeyboardBackground: Final = 52
    LayerColourRulesBitmap: Final = 94
    LayerEndBitmap: Final = 14
    LexicalSortBitmap: Final = 22
    LinkBitmap: Final = 87
    ListBitmap: Final = 25
    LockedBitmap: Final = 30
    LoopSectionBitmap: Final = 7
    MarkerBitmap: Final = 58
    MinusBitmap: Final = 62
    MirrorButtonBitmap: Final = 40
    NetworkBitmap: Final = 79
    NextSectionBitmap: Final = 9
    NextTrackBitmap: Final = 11
    NowPtrBitmap: Final = 26
    OptionBitmap: Final = 59
    OutputBitmap: Final = 81
    Owly000: Final = 46
    Owly001: Final = 48
    Owly010: Final = 50
    Owly020: Final = 51
    Owly100: Final = 47
    Owly101: Final = 49
    PadlockBitmap: Final = 45
    PlayBitmap: Final = 5
    PlaySectionBitmap: Final = 6
    PlaySmallBitmap: Final = 69
    PluginsBitmap: Final = 93
    PlusBitmap: Final = 61
    PrevSectionBitmap: Final = 10
    PrevTrackBitmap: Final = 12
    ReceivingSmallBitmap: Final = 70
    RecordBitmap: Final = 63
    RecordSmallBitmap: Final = 68
    RemoveBitmap: Final = 16
    ResetBitmap: Final = 88
    ReturnBitmap: Final = 13
    RotaryBitmap: Final = 32
    RotateAnticlockwiseButtonBitmap: Final = 43
    RotateClockwiseButtonBitmap: Final = 42
    RotationBitmap: Final = 74
    ScaleBitmap: Final = 75
    ScissorsButtonBitmap: Final = 39
    ScrollDownBitmap: Final = 4
    ScrollLeftBitmap: Final = 1
    ScrollRightBitmap: Final = 2
    ScrollUpBitmap: Final = 3
    SliderBackBitmap: Final = 37
    SliderButtonBitmap: Final = 38
    StickyPinBitmap: Final = 44
    StopBitmap: Final = 8
    StopwatchBitmap: Final = 82
    TickBoxBitmap: Final = 24
    Toggle3DBitmap: Final = 77
    TranslationBitmap: Final = 73
    TrashCanBitmap: Final = 17
    VerticalMirrorButtonBitmap: Final = 41
    VolBitmap: Final = 53
    ZoomMinusBitmap: Final = 65
    ZoomPlusBitmap: Final = 64

    def __init__(self) -> None:
        """
        Default constructor for GuiResourceManager
        """
        ...

    def getBitmap(self, res: int, highlight: bool = False) -> DxTexture:
        ...

    def imagePair(self, res: int) -> ImagePair:
        ...


class GuiSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'
    VisualiseFeed: Final = 2
    VisualiseNone: Final = 0
    VisualiseSpace: Final = 1

    @property
    def acceptDropDelegate(self) -> Callable:
        ...
    @acceptDropDelegate.setter
    def acceptDropDelegate(self, value: Callable) -> None:
        ...

    @property
    def consoleWindowDelegate(self) -> Callable:
        ...
    @consoleWindowDelegate.setter
    def consoleWindowDelegate(self, value: Callable) -> None:
        ...

    @property
    def currentSetList(self) -> SetList:
        ...
    @currentSetList.setter
    def currentSetList(self, value: SetList) -> None:
        ...

    @property
    def currentTransportManager(self) -> TransportManager:
        ...

    @property
    def debugWindowDelegate(self) -> Callable:
        ...
    @debugWindowDelegate.setter
    def debugWindowDelegate(self, value: Callable) -> None:
        ...

    @property
    def feedDisplayProxyLevelsDelegate(self) -> Callable:
        ...
    @feedDisplayProxyLevelsDelegate.setter
    def feedDisplayProxyLevelsDelegate(self, value: Callable) -> None:
        ...

    @property
    def getSeparatorOpenDelegate(self) -> Callable:
        ...
    @getSeparatorOpenDelegate.setter
    def getSeparatorOpenDelegate(self, value: Callable) -> None:
        ...

    @property
    def gui(self) -> Gui:
        ...
    @gui.setter
    def gui(self, value: Gui) -> None:
        ...

    @property
    def hasCustomEditorDelegate(self) -> Callable:
        ...
    @hasCustomEditorDelegate.setter
    def hasCustomEditorDelegate(self, value: Callable) -> None:
        ...

    @property
    def inputMapTransport(self) -> EventTransportInputMap:
        ...

    @property
    def makeCueListDelegate(self) -> Callable:
        ...
    @makeCueListDelegate.setter
    def makeCueListDelegate(self, value: Callable) -> None:
        ...

    @property
    def makeDropOperationDelegate(self) -> Callable:
        ...
    @makeDropOperationDelegate.setter
    def makeDropOperationDelegate(self, value: Callable) -> None:
        ...

    @property
    def makeEditorDelegate(self) -> Callable:
        ...
    @makeEditorDelegate.setter
    def makeEditorDelegate(self, value: Callable) -> None:
        ...

    @property
    def makeLinkDelegate(self) -> Callable:
        ...
    @makeLinkDelegate.setter
    def makeLinkDelegate(self, value: Callable) -> None:
        ...

    @property
    def makeListEditorDelegate(self) -> Callable:
        ...
    @makeListEditorDelegate.setter
    def makeListEditorDelegate(self, value: Callable) -> None:
        ...

    @property
    def makeWidgetDelegate(self) -> Callable:
        ...
    @makeWidgetDelegate.setter
    def makeWidgetDelegate(self, value: Callable) -> None:
        ...

    @property
    def player(self) -> TrackPlayer:
        ...

    @property
    def populateEditorDelegate(self) -> Callable:
        ...
    @populateEditorDelegate.setter
    def populateEditorDelegate(self, value: Callable) -> None:
        ...

    @property
    def restoreFeedBookmarkDelegate(self) -> Callable:
        ...
    @restoreFeedBookmarkDelegate.setter
    def restoreFeedBookmarkDelegate(self, value: Callable) -> None:
        ...

    @property
    def selectedLayers(self) -> ReflectionValue:
        """
        The set of layers selected in the GUI
        """
        ...

    @property
    def selectedLayersDelegate(self) -> Callable:
        ...
    @selectedLayersDelegate.setter
    def selectedLayersDelegate(self, value: Callable) -> None:
        ...

    @property
    def setFeedBookmarkDelegate(self) -> Callable:
        ...
    @setFeedBookmarkDelegate.setter
    def setFeedBookmarkDelegate(self, value: Callable) -> None:
        ...

    @property
    def setSeparatorOpenDelegate(self) -> Callable:
        ...
    @setSeparatorOpenDelegate.setter
    def setSeparatorOpenDelegate(self, value: Callable) -> None:
        ...

    @property
    def toggleQuantiserWindowDelegate(self) -> Callable:
        ...
    @toggleQuantiserWindowDelegate.setter
    def toggleQuantiserWindowDelegate(self, value: Callable) -> None:
        ...

    @property
    def toggleStickyDelegate(self) -> Callable:
        ...
    @toggleStickyDelegate.setter
    def toggleStickyDelegate(self, value: Callable) -> None:
        ...

    @property
    def track(self) -> Track:
        """
        The current track being edited
        """
        ...

    @property
    def visualiseMode(self) -> int:
        ...
    @visualiseMode.setter
    def visualiseMode(self, m: int) -> None:
        ...

    def __init__(self) -> None:
        ...

    def closeActiveWidget(self) -> None:
        """
        Close active widget
        """
        ...

    def closeAllWidgets(self) -> None:
        """
        Close all non-sticking widgets
        """
        ...

    def copyTextToClipboard(self, text: str) -> None:
        ...

    def customFps(self) -> optional[float]:
        ...

    def cycleBackward(self) -> None:
        """
        Cycle backwards through windows
        """
        ...

    def cycleEditFieldNext(self) -> None:
        """
        Select the next editable field in the current window
        """
        ...

    def cycleEditFieldPrev(self) -> None:
        """
        Select the previous editable field in the current window
        """
        ...

    def cycleForward(self) -> None:
        """
        Cycle forwards through windows
        """
        ...

    def directorForceQuitAll(self) -> None:
        """
        Force quit all machines in the session
        """
        ...

    def directorQuitAll(self) -> None:
        """
        Quit all machines in the session
        """
        ...

    def directorRestartAll(self) -> None:
        """
        Restart all machines in the session
        """
        ...

    def directorStartAll(self) -> None:
        """
        Start all machines in the session
        """
        ...

    def editorDisplayProxyLevelsCallback(self, levels: VisibilityProxyLevels, display: Display, targetLod: float) -> None:
        ...

    def getDeviceManager(self) -> DeviceManager:
        ...

    def getTextFromClipboard(self) -> str:
        ...

    def mouseDragArrow(self, state: int, start: Vec2, pos: Vec2) -> None:
        """
        Create an arrow connection between two widgets
        """
        ...

    def onAppStarted(self) -> None:
        ...

    def quitEverything(self) -> None:
        """
        Save and exit all machines in session without confirmation
        """
        ...

    def quitOption(self) -> None:
        """
        Save and exit with confirmation
        """
        ...

    def smpteClockType(self) -> int:
        ...

    def toggleConsole(self) -> None:
        """
        Toggle dynamic console window
        """
        ...

    def toggleDebugWindow(self) -> None:
        """
        Toggle debug output window
        """
        ...

    def toggleHelpWindow(self) -> None:
        """
        Toggle context-sensitive shortcuts window
        """
        ...

    def writeNoteConsole(self) -> None:
        """
        Write user note to Console
        """
        ...


class HDRColour(float4):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def a(self) -> float:
        """
        UserName: A
        """
        ...
    @a.setter
    def a(self, value: float) -> None:
        ...

    @property
    def b(self) -> float:
        """
        UserName: B
        """
        ...
    @b.setter
    def b(self, value: float) -> None:
        ...

    @property
    def g(self) -> float:
        """
        UserName: G
        """
        ...
    @g.setter
    def g(self, value: float) -> None:
        ...

    @property
    def r(self) -> float:
        """
        UserName: R
        """
        ...
    @r.setter
    def r(self, value: float) -> None:
        ...

    @overload
    def __init__(self, other: HDRColour) -> None:
        """
        Copy constructor for HDRColour
        """
        ...

    @overload
    def __init__(self, colour: Colour) -> None:
        ...

    def toNormalisedColour(self) -> Colour:
        ...


class HTTPPatch(ControlPatch):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'HTTPPatch'

    def personalityDescription(self, personality: SockpuppetPersonality) -> str:
        ...


class HTTPSockpuppetSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class HTTPSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class HardwareIdentifier(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'HardwareIdentifier'

    @property
    def hardwareId(self) -> str:
        ...
    @hardwareId.setter
    def hardwareId(self, value: str) -> None:
        ...

    @property
    def name(self) -> str:
        ...
    @name.setter
    def name(self, value: str) -> None:
        ...

    @property
    def temporary(self) -> int:
        ...
    @temporary.setter
    def temporary(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class HardwareVideoInIdentifier(HardwareIdentifier):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'HardwareVideoInIdentifier'
    makeTemporary: Callable

    @property
    def currentFormat(self) -> VideoInFormat:
        ...
    @currentFormat.setter
    def currentFormat(self, value: VideoInFormat) -> None:
        ...

    @property
    def formats(self) -> List[VideoInFormat]:
        ...
    @formats.setter
    def formats(self, value: List[VideoInFormat]) -> None:
        ...


class HeadInfo(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def adapterIndex(self) -> int:
        ...

    @property
    def linkMode(self) -> int:
        ...
    @linkMode.setter
    def linkMode(self, value: int) -> None:
        ...

    @property
    def logicalHead(self) -> int:
        ...
    @logicalHead.setter
    def logicalHead(self, value: int) -> None:
        ...

    @property
    def redundantLines(self) -> int:
        ...
    @redundantLines.setter
    def redundantLines(self, value: int) -> None:
        ...

    @property
    def size(self) -> Int2:
        ...

    @property
    def splitMode(self) -> int:
        ...
    @splitMode.setter
    def splitMode(self, value: int) -> None:
        ...

    def resize(self, size: Int2) -> None:
        ...


class HelpSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        """
        Default constructor for HelpSystem
        """
        ...

    def help(self, className: str, paramName: str) -> str:
        ...

    def readTable(self) -> None:
        ...

    def writeTable(self) -> None:
        ...


class HistogramComputeMaterial(DxMaterial):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class HmcAxisState(TrackingScalarState):
    null: Self
    _classInfo: 'ClassInfo'


class HmcDriver(UdpReceiverDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'HmcDriver'

    def __init__(self) -> None:
        ...


class HoldOutputSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        """
        Default constructor for HoldOutputSystem
        """
        ...


class HttpControlHeader(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'HttpControlHeader'

    @property
    def key(self) -> str:
        """
        UserName: Key
        """
        ...
    @key.setter
    def key(self, value: str) -> None:
        ...

    @property
    def value(self) -> str:
        """
        UserName: Value
        """
        ...
    @value.setter
    def value(self, value: str) -> None:
        ...

    def __init__(self) -> None:
        ...


class HttpControlModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'HttpControlModule'

    @property
    def request(self) -> HttpControlRequest:
        """
        UserName: Request
        """
        ...
    @request.setter
    def request(self, value: HttpControlRequest) -> None:
        ...

    @property
    def trigger(self) -> int:
        """
        Options: {0: 'Always', 1: 'When Playing'}
        UserName: Trigger
        """
        ...
    @trigger.setter
    def trigger(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class HttpControlRequest(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'HttpControlRequest'

    @property
    def body(self) -> str:
        """
        UserName: Body
        """
        ...
    @body.setter
    def body(self, value: str) -> None:
        ...

    @property
    def headers(self) -> List[HttpControlHeader]:
        """
        UserName: Headers
        """
        ...
    @headers.setter
    def headers(self, value: List[HttpControlHeader]) -> None:
        ...

    @property
    def method(self) -> int:
        """
        Options: {0: 'Get', 1: 'Post', 2: 'Put', 3: 'Patch', 4: 'Delete'}
        UserName: Method
        """
        ...
    @method.setter
    def method(self, value: int) -> None:
        ...

    @property
    def url(self) -> str:
        """
        UserName: Url
        """
        ...
    @url.setter
    def url(self, value: str) -> None:
        ...

    def __init__(self) -> None:
        ...


class IComms(ConsoleExternalMutexProvider):
    null: Self
    _classInfo: 'ClassInfo'


class IDataState(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def isDefault(self) -> bool:
        ...

    @property
    def monitor(self) -> str:
        ...

    @property
    def name(self) -> str:
        ...

    @property
    def receiveTimeout(self) -> float:
        ...

    @property
    def receiving(self) -> bool:
        ...

    @property
    def tReceived(self) -> float:
        ...


class IFilesystem(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    CHUNK_KEEP_REVISIONS: Final = 1

    def disableWrite(self) -> None:
        ...

    def exists(self, file: str) -> bool:
        ...

    def findAllBeginsWith(self, s: str) -> List[str]:
        ...

    def isDir(self, search: str) -> bool:
        ...

    def isFile(self, file: str) -> bool:
        ...

    def lastWriteDate(self, file: str) -> FilesystemDateStamp:
        ...

    def read(self, filename) -> Any:
        """
        Read a file
        
        :param filename: The path to the file
        
        :return A buffer containing the read file
        """
        ...

    def remove(self, file: str) -> bool:
        ...

    def rename(self, file: str, newFilename: str) -> bool:
        ...

    def search(self, s: str) -> List[str]:
        ...

    def setLastWriteDate(self, file: str, dateStamp: FilesystemDateStamp) -> None:
        ...

    def size(self, file: str) -> int:
        ...

    def write(self, file, buffer, keep = 1) -> Any:
        ...


class IMessageHandler(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class IPAddress(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def addr4(self) -> int:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, arg0: IPAddress) -> None:
        ...

    @overload
    def __init__(self, ipAddressStr: str) -> None:
        ...

    @overload
    def __init__(self, octet1: int, octet2: int, octet3: int, octet4: int) -> None:
        ...

    def __eq__(self, other: IPAddress) -> bool:
        ...

    def __ne__(self, other: IPAddress) -> bool:
        ...

    def __str__(self) -> str:
        ...


class IPEndpoint(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def address(self) -> IPAddress:
        ...
    @address.setter
    def address(self, value: IPAddress) -> None:
        ...

    @property
    def port(self) -> int:
        ...
    @port.setter
    def port(self, value: int) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: IPEndpoint) -> None:
        """
        Copy constructor for IPEndpoint
        """
        ...


class IPNetConfig(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def domain(self) -> str:
        ...
    @domain.setter
    def domain(self, value: str) -> None:
        ...

    @property
    def gw(self) -> IPAddress:
        ...
    @gw.setter
    def gw(self, value: IPAddress) -> None:
        ...

    @property
    def host(self) -> str:
        ...
    @host.setter
    def host(self, value: str) -> None:
        ...

    @property
    def interface(self) -> int:
        ...
    @interface.setter
    def interface(self, value: int) -> None:
        ...

    @property
    def ip(self) -> IPAddress:
        ...
    @ip.setter
    def ip(self, value: IPAddress) -> None:
        ...

    @property
    def mask(self) -> IPAddress:
        ...
    @mask.setter
    def mask(self, value: IPAddress) -> None:
        ...

    @property
    def mode(self) -> int:
        ...
    @mode.setter
    def mode(self, value: int) -> None:
        ...


class IPVideoInSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def group(self) -> ActiveIPVideoInGroup:
        ...

    def __init__(self) -> None:
        ...

    def downloadSDP(self, url: str) -> bool:
        ...


class ISubsystemManager(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class IView(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class IdentityDomain(Domain):
    null: Self
    _classInfo: 'ClassInfo'


class IdentityDomainConnection(DomainConnection):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class IgnoreTimecodeModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TimecodeModeModule'

    @property
    def mode(self) -> int:
        """
        Options: {0: 'Default', 1: 'Ignore', 2: 'Chase'}
        UserName: Mode
        """
        ...
    @mode.setter
    def mode(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class ImageInfo(ResolutionInfo):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def bitsPerPixel(self) -> int:
        ...
    @bitsPerPixel.setter
    def bitsPerPixel(self, value: int) -> None:
        ...

    @property
    def codec(self) -> str:
        ...
    @codec.setter
    def codec(self, value: str) -> None:
        ...

    @property
    def gpuBpp(self) -> int:
        """
        The number of bits per pixel for the image data on the GPU
        """
        ...
    @gpuBpp.setter
    def gpuBpp(self, value: int) -> None:
        ...

    @property
    def gpuHeight(self) -> int:
        """
        The height of the image data on the GPU in pixels
        """
        ...
    @gpuHeight.setter
    def gpuHeight(self, value: int) -> None:
        ...

    @property
    def gpuWidth(self) -> int:
        """
        The width of the image data on the GPU in pixels
        """
        ...
    @gpuWidth.setter
    def gpuWidth(self, value: int) -> None:
        ...

    @property
    def hasAlpha(self) -> bool:
        ...
    @hasAlpha.setter
    def hasAlpha(self, value: bool) -> None:
        ...


class ImageMosaic(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def saveToFile(self, arg0: str) -> None:
        ...


class ImagePair(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: ImagePair) -> None:
        """
        Copy constructor for ImagePair
        """
        ...

    @overload
    def __init__(self, tex: DxTexture) -> None:
        ...

    @overload
    def __init__(self, _1: DxTexture, _2: DxTexture) -> None:
        ...

    def image(self, highlight: bool) -> DxTexture:
        ...

    def valid(self) -> bool:
        ...


class ImageSequenceInfo(ImageInfo):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def fps(self) -> float:
        ...
    @fps.setter
    def fps(self, value: float) -> None:
        ...

    @property
    def frames(self) -> int:
        ...
    @frames.setter
    def frames(self, value: int) -> None:
        ...


class InDevice(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class Indirection(KeyContainer):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Indirection'

    @property
    def controller(self) -> IndirectionController:
        ...
    @controller.setter
    def controller(self, value: IndirectionController) -> None:
        ...

    @property
    def expectedClass(self) -> ClassNode:
        ...
    @expectedClass.setter
    def expectedClass(self, value: ClassNode) -> None:
        ...

    @property
    def expectedType(self) -> Type:
        ...
    @expectedType.setter
    def expectedType(self, type: Type) -> None:
        ...

    def key(self) -> Key:
        ...


class IndirectionControl(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'IndirectionControl'

    @property
    def indirectionController(self) -> SequencedIndirectionController:
        """
        Indirection controller to sequence
        
        UserName: Controller
        """
        ...
    @indirectionController.setter
    def indirectionController(self, value: SequencedIndirectionController) -> None:
        ...

    @property
    def selectedResource(self) -> Resource:
        """
        UserName: Resource
        """
        ...
    @selectedResource.setter
    def selectedResource(self, value: Resource) -> None:
        ...

    def expectedClass(self) -> ClassNode:
        ...


class IndirectionController(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'IndirectionController'

    @property
    def cachedResource(self) -> Resource:
        ...
    @cachedResource.setter
    def cachedResource(self, value: Resource) -> None:
        ...

    def expectedClass(self) -> ClassNode:
        ...


class IndirectionSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class InputMap(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def add(self, callable: Callable, actionDesc: str, doc: str, global_: bool = False) -> None:
        ...

    def clearMappings(self) -> None:
        ...

    def enableByName(self, mappingName: str, enabled: bool) -> None:
        ...

    def enableKeyboardInputs(self, enabled: bool) -> None:
        ...


class InputMapManager(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'
    instance: Final = None

    @property
    def isMappingActive(self) -> bool:
        ...

    def __init__(self) -> None:
        ...


class Int2(_BlipValue):
    """
    A two-dimensional integer vector with x and y components
    """

    null: Self
    _classInfo: 'ClassInfo'

    @property
    def maxComponent(self) -> int:
        """
        The maximum component of the vector.
        """
        ...

    @property
    def minComponent(self) -> int:
        """
        The minimum component of the vector.
        """
        ...

    @property
    def x(self) -> int:
        """
        The x component of the vector.
        
        UserName: X
        """
        ...
    @x.setter
    def x(self, value: int) -> None:
        ...

    @property
    def y(self) -> int:
        """
        The y component of the vector.
        
        UserName: Y
        """
        ...
    @y.setter
    def y(self, value: int) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: Int2) -> None:
        """
        Copy constructor for Int2
        """
        ...

    @overload
    def __init__(self, v: Vec2) -> None:
        ...

    @overload
    def __init__(self, x_: int, y_: int) -> None:
        ...

    def __add__(self, v: Int2) -> Int2:
        """
        Adds two vectors.
        
        :param v: The vector to add to this one.
        
        :return The component-wise sum of this and the input vector.
        """
        ...

    def __eq__(self, other: Int2) -> bool:
        """
        Tests for equality between two vectors.
        
        :param other: The vector to compare with.
        
        :return True if both components of the vectors are equal, false otherwise.
        """
        ...

    def __getitem__(self, key) -> Any:
        """
        Get an item from the Int2 by index.
        
        :param key: The index of the desired item. Must be 0 or 1
        
        :return The x element if the index is 0, the y element if the index is 1
        """
        ...

    def __len__(self) -> Any:
        """
        The length of the Int2
        
        :return Always returns 2
        """
        ...

    def __mul__(self, d) -> Any:
        """
        Multiplies two vectors component-wise.
        
        :param v: The other vector to multiply with.
        
        :return The component-wise product of the two vectors.
        """
        ...

    def __ne__(self, other: Int2) -> bool:
        """
        Tests for inequality between two vectors.
        
        :param other: The other vector to compare with.
        
        :return True if either of the components of the vectors are not equal, false otherwise.
        """
        ...

    def __neg__(self) -> Any:
        """
        The negative of the Int2
        
        :return The Int2 with its x and y components negated
        """
        ...

    def __repr__(self) -> Any:
        """
        String representation of the Int2
        """
        ...

    def __rmul__(self, d) -> Any:
        """
        Multiplies two vectors component-wise.
        
        :param v: The other vector to multiply with.
        
        :return The component-wise product of the two vectors.
        """
        ...

    def __str__(self) -> Any:
        """
        String representation of the Int2
        """
        ...

    def __sub__(self, v: Int2) -> Int2:
        """
        Subtracts another vector from this vector.
        
        :param v: The vector to subtract from this vector.
        
        :return The resulting vector after component-wise subtraction.
        """
        ...

    def _initParams(self) -> Any:
        """
        A serialisable tuple of the Int2 parameters
        """
        ...

    def anyLargerThan(self, v: Int2) -> bool:
        """
        Checks whether any component of this vector is larger than the corresponding component of another vector.
        
        :param v: The other vector to compare with.
        
        :return True if any component of this vector is larger than the corresponding component of the other vector.
        """
        ...

    def anySmallerThan(self, v: Int2) -> bool:
        """
        Checks if any component of this vector is smaller than the corresponding component of another vector.
        
        :param v: The other vector to compare with.
        
        :return True if any component of this vector is smaller than the corresponding component of the other vector.
        """
        ...

    def area(self) -> int:
        """
        The area of the vector if its components are treated as the sides of a rectangle.
        
        :return The area of the vector, defined as the absolute value of x * y.
        """
        ...

    def aspect(self) -> float:
        """
        The aspect ratio of the vector, defined as the ratio of the x component to the y component.
        
        :return The aspect ratio of the vector.
        """
        ...

    def length(self) -> float:
        """
        The length of the vector in 2D space.
        
        :return The length of the vector.
        """
        ...

    def restrict(self, a: Int2, b: Int2) -> Int2:
        """
        Restricts the vector to be within a minimum and maximum range.
        
        :param a: A vector of minimum values for each component.
        :param b: A vector of maximum values for each component.
        
        :return A new vector with components restricted to the minimum and maximum range.
        """
        ...

    def vmax(self, o: Int2) -> Int2:
        """
        Component-wise maximum of two vectors.
        
        :param o: The other vector to compare with.
        
        :return A new vector containing the component-wise maximum of this and the other vector.
        """
        ...

    def vmin(self, o: Int2) -> Int2:
        """
        Component-wise minimum of two vectors.
        
        :param o: The other vector to compare with.
        
        :return A new vector containing the component-wise minimum of this and the other vector.
        """
        ...


class InterlacedField(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    Even: Final = 2
    Odd: Final = 1
    Progressive: Final = 0

    @property
    def image(self) -> DxTexture:
        ...
    @image.setter
    def image(self, value: DxTexture) -> None:
        ...

    @property
    def index(self) -> int:
        ...
    @index.setter
    def index(self, value: int) -> None:
        ...

    @property
    def pixelFormat(self) -> int:
        ...
    @pixelFormat.setter
    def pixelFormat(self, value: int) -> None:
        ...

    @property
    def tReceived(self) -> float:
        ...
    @tReceived.setter
    def tReceived(self, value: float) -> None:
        ...

    @overload
    def __init__(self) -> None:
        """
        Default constructor for InterlacedField
        """
        ...

    @overload
    def __init__(self, other: InterlacedField) -> None:
        """
        Copy constructor for InterlacedField
        """
        ...


class InternalParams(_BlipValue):
    """
    Internal (intrinsic) parameters of a camera or projector system
    Represent the internal parameters of a camera or projector system, e.g.
    sensor and lens characteristics of a pinhole camera model.
    """

    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self) -> None:
        """
        Constructor using default values for 1080p HD, 1/2" sensor, f=15mm
        Create a set of internal parameters of an optical system, e.g. a camera
        or projector.
        """
        ...

    @overload
    def __init__(self, imgSize: Int2, focal: float, pixSize: Vec2, ppShift: Vec2) -> None:
        """
        Constructor for specifying most important parameters
        
        Create a set of internal parameters of an optical system, e.g. a camera
        or projector.
        Note: The focal length, pixel size and focus distance must be specified in the
        same unit (e.g. [m])!
        
        :param imgSize image width and height in [pixel]
        :param focal focal length of lens in [m]
        :param pixSize physical size of a single pixel on the sensor in [m] (implicitly pixel aspect ratio)
        :param ppShift horizontal and vertical shift of principal point on image plane in [pixel]
        """
        ...

    def getAspectRatio(self) -> float:
        """
        Get image aspect ratio
        """
        ...

    def getFocalLengthPixels(self) -> Vec2:
        """
        Get focal length in pixels
        """
        ...

    def getFovX(self, bAdjustForFocus: bool) -> float:
        """
        Calculate the horizontal field of view in [rad]
        """
        ...

    def getFovY(self, bAdjustForFocus: bool) -> float:
        """
        Calculate the vertical field of view in [rad]
        """
        ...

    def getMatrix(self, verbose: int) -> Mat:
        """
        Get the internal transformation matrix resulting in pixel coordinates
        
        NOTE: This matrix does not contain perspective elements to divide by Z!
        """
        ...

    def getPixelAspectRatio(self) -> float:
        """
        Get pixel image aspect ratio
        """
        ...

    def getPrincipalPoint(self) -> Vec2:
        """
        Calculate the principal point position in [pixels]
        """
        ...

    def getSensorAspectRatio(self) -> float:
        """
        Get image sensor aspect ratio
        """
        ...

    def getSensorSize(self) -> Vec2:
        """
        Get full image sensor size in [m]
        """
        ...

    def getThrowRatio(self) -> float:
        """
        Calculate the throw ratio using focal length and sensor size: D/W = f/s_x
        """
        ...

    def setIntrinsicMatrix(self, K: Mat, verbose: int) -> bool:
        """
        Extract individual parameters from specified intrinsic matrix and set them
        
        * Use the specified intrinsic matrix to extract individual parameters and then
        set this objects parameter values to those derived from the matrix.
        The following parameters are affected:
        - focal length
        - principal point shift
        If the value extraction from the matrix failed, then no parameters are changed.
        NOTE: This method uses getIntrinsicParameters() and assumes that the current
        image size and sensor size stay the same!
        
        :param K 3x3 intrinsic matrix with new parameters
        :return returns 'false' if extraction from matrix K failed (not a valid intrinsic matrix)
        """
        ...

    def setPrincipalPoint(self, ppointX: float, ppointY: float) -> None:
        """
        Set the position of the principal point in [pixels]
        
        The principal point shift is modified according to the specified position
        and the current image size.
        """
        ...


class JsonMachineControlDevice(Device):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'JsonMachineControlDevice'

    @property
    def port(self) -> int:
        """
        UserName: Listening port
        """
        ...
    @port.setter
    def port(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class KaleidoscopeModule(ProjectionAwareModule):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'KaleidoscopeModule'

    @property
    def repeats(self) -> int:
        """
        UserName: Repeat count
        """
        ...
    @repeats.setter
    def repeats(self, value: int) -> None:
        ...

    @property
    def rotation_offset(self) -> float:
        """
        UserName: Rotation offset
        """
        ...
    @rotation_offset.setter
    def rotation_offset(self, value: float) -> None:
        ...

    @property
    def rotation_speed(self) -> float:
        """
        UserName: Rotation speed
        """
        ...
    @rotation_speed.setter
    def rotation_speed(self, value: float) -> None:
        ...

    @property
    def source(self) -> ContentSource:
        """
        UserName: Source
        """
        ...
    @source.setter
    def source(self, value: ContentSource) -> None:
        ...

    @property
    def source_rotation_offset(self) -> float:
        """
        UserName: Source rotation offset
        """
        ...
    @source_rotation_offset.setter
    def source_rotation_offset(self, value: float) -> None:
        ...

    @property
    def source_rotation_speed(self) -> float:
        """
        UserName: Source rotation speed
        """
        ...
    @source_rotation_speed.setter
    def source_rotation_speed(self, value: float) -> None:
        ...

    @property
    def zoom(self) -> float:
        """
        UserName: Zoom
        """
        ...
    @zoom.setter
    def zoom(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class Kalman3Monitor(MetricMonitor):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Kalman3Monitor'

    def __init__(self) -> None:
        """
        Default constructor for Kalman3Monitor
        """
        ...


class Key(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    cubic: Final = 2
    linear: Final = 1
    select: Final = 0
    tEpsilon: Final = 0.0009765625

    @property
    def interpolation(self) -> int:
        ...
    @interpolation.setter
    def interpolation(self, value: int) -> None:
        ...

    @property
    def localT(self) -> float:
        ...
    @localT.setter
    def localT(self, value: float) -> None:
        ...


class KeyAsKeyContainer(Key):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def kc(self) -> KeyContainer:
        ...
    @kc.setter
    def kc(self, value: KeyContainer) -> None:
        ...


class KeyContainer(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'KeyContainer'


class KeyFloat(Key):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def v(self) -> float:
        ...
    @v.setter
    def v(self, value: float) -> None:
        ...


class KeyManipulatorSelector(ManipulatorSelector):
    null: Self
    _classInfo: 'ClassInfo'

    def selectManipulator(self) -> None:
        ...


class KeyResource(Key):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def r(self) -> Resource:
        ...
    @r.setter
    def r(self, value: Resource) -> None:
        ...


class KeySequence(KeyContainer):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'KeySequence'

    @property
    def looping(self) -> int:
        """
        Options: {0: 'Off', 1: 'On'}
        """
        ...
    @looping.setter
    def looping(self, value: int) -> None:
        ...

    def evalString(self, t: float) -> str:
        ...

    def find(self, t: float) -> int:
        ...

    def findCurrentKeyTime(self, t: float) -> float:
        ...

    def findNextKeyTime(self, t: float) -> float:
        ...

    def getIndirectionKey(self, keyTime: float) -> Indirection:
        ...

    def insert(self, ik: int, t: float, i: int) -> None:
        ...

    def insertKeyContainer(self, t: float, i: int, arg2: KeyContainer) -> None:
        ...

    def key(self, ik: int) -> Key:
        ...

    def nKeys(self) -> int:
        ...

    def remove(self, ik: int, n: int) -> None:
        ...

    def setString(self, ik: int, s: str) -> None:
        ...

    def stripToFirstKey(self) -> None:
        ...

    def t(self, ik: int) -> float:
        ...


class KeyString(Key):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def s(self) -> str:
        ...
    @s.setter
    def s(self, value: str) -> None:
        ...


class Keyboard(OsDevice):
    null: Self
    _classInfo: 'ClassInfo'
    A: Final = 65
    ALT: Final = 18
    APOST: Final = 192
    APOSTROPHE: Final = 192
    B: Final = 66
    BACKSLASH: Final = 226
    BACKSPACE: Final = 8
    BREAK: Final = 19
    C: Final = 67
    CAPS: Final = 20
    COLON: Final = 186
    CTRL: Final = 17
    D: Final = 68
    DEL: Final = 46
    DELETE: Final = 83
    DIVIDE: Final = 111
    DOWN: Final = 40
    E: Final = 69
    END: Final = 35
    ENTER: Final = 13
    ESC: Final = 27
    F: Final = 70
    F1: Final = 112
    F10: Final = 121
    F11: Final = 122
    F12: Final = 123
    F2: Final = 113
    F3: Final = 114
    F4: Final = 115
    F5: Final = 116
    F6: Final = 117
    F7: Final = 118
    F8: Final = 119
    F9: Final = 120
    G: Final = 71
    H: Final = 72
    HASH: Final = 222
    HOME: Final = 36
    I: Final = 73
    INSERT: Final = 45
    J: Final = 74
    K: Final = 75
    KEYPAD0: Final = 96
    KEYPAD1: Final = 97
    KEYPAD2: Final = 98
    KEYPAD3: Final = 99
    KEYPAD4: Final = 100
    KEYPAD5: Final = 101
    KEYPAD6: Final = 102
    KEYPAD7: Final = 103
    KEYPAD8: Final = 104
    KEYPAD9: Final = 105
    L: Final = 76
    LALT: Final = 164
    LCTRL: Final = 162
    LEFT: Final = 37
    LESS: Final = 188
    LSHIFT: Final = 160
    LSQBRACE: Final = 219
    LWIN: Final = 91
    M: Final = 77
    MENU: Final = 93
    MINUS: Final = 109
    MORE: Final = 190
    N: Final = 78
    N0: Final = 48
    N1: Final = 49
    N2: Final = 50
    N3: Final = 51
    N4: Final = 52
    N5: Final = 53
    N6: Final = 54
    N7: Final = 55
    N8: Final = 56
    N9: Final = 57
    NUMLOCK: Final = 144
    O: Final = 79
    P: Final = 80
    PGDN: Final = 34
    PGUP: Final = 33
    PLING: Final = 223
    PLUS: Final = 107
    PRTSCRN: Final = 44
    Q: Final = 81
    R: Final = 82
    RALT: Final = 165
    RCTRL: Final = 163
    RETURN: Final = 13
    RIGHT: Final = 39
    RSHIFT: Final = 161
    RSQBRACE: Final = 221
    RWIN: Final = 92
    S: Final = 83
    SCRLCK: Final = 145
    SHIFT: Final = 16
    SLASH: Final = 111
    SPACE: Final = 32
    STAR: Final = 106
    T: Final = 84
    TAB: Final = 9
    U: Final = 85
    UP: Final = 38
    V: Final = 86
    W: Final = 87
    X: Final = 88
    Y: Final = 89
    Z: Final = 90
    charToCode: Callable
    isModifierKey: Callable
    keyName: Callable
    parseKey: Callable

    def down(self, iKey: int) -> bool:
        ...

    def getChar(self) -> int:
        ...

    def pressed(self, iKey: int) -> bool:
        ...

    def released(self, iKey: int) -> bool:
        ...

    def stroke(self, iKey: int) -> bool:
        ...


class KeyedIndirectionResource(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def key(self) -> str:
        ...
    @key.setter
    def key(self, value: str) -> None:
        ...

    @property
    def resource(self) -> Resource:
        ...
    @resource.setter
    def resource(self, value: Resource) -> None:
        ...


class KeyedListIndirectionController(IndirectionController):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'KeyedListIndirectionController'

    @property
    def matchMode(self) -> int:
        """
        Defines how to match the key against the received packet
        
        Options: {0: 'Exact', 1: 'Contains'}
        UserName: Key match mode
        """
        ...
    @matchMode.setter
    def matchMode(self, value: int) -> None:
        ...

    @property
    def resources(self) -> List[KeyedIndirectionResource]:
        """
        UserName: Resources
        """
        ...
    @resources.setter
    def resources(self, value: List[KeyedIndirectionResource]) -> None:
        ...

    @property
    def selectedIndex(self) -> int:
        ...
    @selectedIndex.setter
    def selectedIndex(self, value: int) -> None:
        ...

    @property
    def verbose(self) -> bool:
        """
        Log more information to the console to help set up the controller
        
        UserName: Verbose
        """
        ...
    @verbose.setter
    def verbose(self, value: bool) -> None:
        ...

    def __init__(self) -> None:
        ...


class Kinesys(UdpReceiverDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'KinesysDriver'

    def __init__(self) -> None:
        ...


class KinesysTrackerState(Tracking6DOFState):
    null: Self
    _classInfo: 'ClassInfo'


class LCPUSBDriver(ScreenPositionDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'LCPUSBDriver'

    @property
    def LP_Filter_Frequency__Hz_(self) -> int:
        """
        Options: {0: '0.125', 1: '0.25', 2: '0.5', 3: '1.0', 4: '2.0', 5: '4.0', 6: '8.0', 7: '16.0', 8: '32.0'}
        UserName: LP filter frequency (Hz)
        """
        ...
    @LP_Filter_Frequency__Hz_.setter
    def LP_Filter_Frequency__Hz_(self, value: int) -> None:
        ...

    @property
    def distributor(self) -> ScreenPositionDriverDistributor:
        """
        UserName: Distributor
        """
        ...
    @distributor.setter
    def distributor(self, value: ScreenPositionDriverDistributor) -> None:
        ...


class Label(Object):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Label'

    def __init__(self) -> None:
        ...


class LampController(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'LampController'

    @property
    def amber_channel(self) -> int:
        """
        UserName: Amber channel
        """
        ...
    @amber_channel.setter
    def amber_channel(self, value: int) -> None:
        ...

    @property
    def blue_channel(self) -> int:
        """
        UserName: Blue channel
        """
        ...
    @blue_channel.setter
    def blue_channel(self, value: int) -> None:
        ...

    @property
    def close_shutter(self) -> DmxCommand:
        """
        UserName: Close shutter
        """
        ...
    @close_shutter.setter
    def close_shutter(self, value: DmxCommand) -> None:
        ...

    @property
    def cmyk_flipMode(self) -> int:
        """
        Options: {0: 'Normal', 1: 'Inverted'}
        UserName: CMYK flip mode
        """
        ...
    @cmyk_flipMode.setter
    def cmyk_flipMode(self, value: int) -> None:
        ...

    @property
    def cyan_channel(self) -> int:
        """
        UserName: Cyan channel
        """
        ...
    @cyan_channel.setter
    def cyan_channel(self, value: int) -> None:
        ...

    @property
    def dimmer_channel(self) -> int:
        """
        UserName: Dimmer channel
        """
        ...
    @dimmer_channel.setter
    def dimmer_channel(self, value: int) -> None:
        ...

    @property
    def dimmer_flipMode(self) -> int:
        """
        Options: {0: 'Bright=255', 1: 'Bright=0'}
        UserName: Dimmer flip mode
        """
        ...
    @dimmer_flipMode.setter
    def dimmer_flipMode(self, value: int) -> None:
        ...

    @property
    def green_channel(self) -> int:
        """
        UserName: Green channel
        """
        ...
    @green_channel.setter
    def green_channel(self, value: int) -> None:
        ...

    @property
    def lamp_off(self) -> DmxCommand:
        """
        UserName: Lamp off
        """
        ...
    @lamp_off.setter
    def lamp_off(self, value: DmxCommand) -> None:
        ...

    @property
    def lamp_on(self) -> DmxCommand:
        """
        UserName: Lamp on
        """
        ...
    @lamp_on.setter
    def lamp_on(self, value: DmxCommand) -> None:
        ...

    @property
    def magenta_channel(self) -> int:
        """
        UserName: Magenta channel
        """
        ...
    @magenta_channel.setter
    def magenta_channel(self, value: int) -> None:
        ...

    @property
    def min_brightness(self) -> int:
        """
        UserName: Brightness minimum
        """
        ...
    @min_brightness.setter
    def min_brightness(self, value: int) -> None:
        ...

    @property
    def open_shutter(self) -> DmxCommand:
        """
        UserName: Open shutter
        """
        ...
    @open_shutter.setter
    def open_shutter(self, value: DmxCommand) -> None:
        ...

    @property
    def red_channel(self) -> int:
        """
        UserName: Red channel
        """
        ...
    @red_channel.setter
    def red_channel(self, value: int) -> None:
        ...

    @property
    def white_channel(self) -> int:
        """
        UserName: White channel
        """
        ...
    @white_channel.setter
    def white_channel(self, value: int) -> None:
        ...

    @property
    def yellow_channel(self) -> int:
        """
        UserName: Yellow channel
        """
        ...
    @yellow_channel.setter
    def yellow_channel(self, value: int) -> None:
        ...

    @property
    def zoom_channel(self) -> int:
        """
        UserName: Zoom channel (coarse)
        """
        ...
    @zoom_channel.setter
    def zoom_channel(self, value: int) -> None:
        ...

    @property
    def zoom_channel_fine(self) -> int:
        """
        UserName: Zoom channel (fine)
        """
        ...
    @zoom_channel_fine.setter
    def zoom_channel_fine(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class LampTester(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'LampTester'

    @property
    def lamp(self) -> int:
        """
        Options: {0: 'Off', 1: 'On', 2: 'Unknown', 3: 'Reset'}
        UserName: Lamp
        """
        ...
    @lamp.setter
    def lamp(self, value: int) -> None:
        ...

    @property
    def pan(self) -> float:
        ...
    @pan.setter
    def pan(self, value: float) -> None:
        ...

    @property
    def shutter(self) -> int:
        """
        Options: {0: 'Closed', 1: 'Open'}
        UserName: Shutter
        """
        ...
    @shutter.setter
    def shutter(self, value: int) -> None:
        ...

    @property
    def test_channel(self) -> int:
        """
        UserName: Test channel
        """
        ...
    @test_channel.setter
    def test_channel(self, value: int) -> None:
        ...

    @property
    def test_colour(self) -> Col:
        """
        UserName: Test colour
        """
        ...
    @test_colour.setter
    def test_colour(self, value: Col) -> None:
        ...

    @property
    def test_intensity(self) -> int:
        """
        UserName: Test intensity
        """
        ...
    @test_intensity.setter
    def test_intensity(self, value: int) -> None:
        ...

    @property
    def test_universe(self) -> int:
        """
        UserName: Text universe
        """
        ...
    @test_universe.setter
    def test_universe(self, value: int) -> None:
        ...

    @property
    def tilt(self) -> float:
        ...
    @tilt.setter
    def tilt(self, value: float) -> None:
        ...


class LatencyCaptureProcess(VideoInCaptureProcess):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'LatencyCaptureProcess'

    @property
    def strobeFlashesAt(self) -> float:
        ...

    @property
    def totalCaptureFrames(self) -> int:
        """
        UserName: Number of frames to capture
        """
        ...
    @totalCaptureFrames.setter
    def totalCaptureFrames(self, value: int) -> None:
        ...

    def capturedFieldsForCamera(self, arg0: Camera) -> List[InterlacedField]:
        ...

    def update(self) -> None:
        ...


class Layer(SuperLayer):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Layer'
    isStringValidForDynamicNaming: Callable
    makeNewNames: Callable

    @property
    def controlPatch(self) -> ControlPatch:
        ...
    @controlPatch.setter
    def controlPatch(self, value: ControlPatch) -> None:
        ...

    @property
    def dmxDisabled(self) -> List[int]:
        ...
    @dmxDisabled.setter
    def dmxDisabled(self, value: List[int]) -> None:
        ...

    @property
    def fields(self) -> List[FieldSequence]:
        ...
    @fields.setter
    def fields(self, value: List[FieldSequence]) -> None:
        ...

    @property
    def isOutput(self) -> int:
        """
        If set to 'Input', received values will control the layer. If set to 'Output', the layer values will be sent.
        
        UserName: Direction
        """
        ...
    @isOutput.setter
    def isOutput(self, value: int) -> None:
        ...

    @property
    def moduleBaseVersion(self) -> int:
        ...
    @moduleBaseVersion.setter
    def moduleBaseVersion(self, value: int) -> None:
        ...

    @property
    def moduleConfig(self) -> ModuleConfig:
        ...
    @moduleConfig.setter
    def moduleConfig(self, value: ModuleConfig) -> None:
        ...

    @property
    def moduleType(self) -> Type:
        ...

    @property
    def moduleVersion(self) -> int:
        ...
    @moduleVersion.setter
    def moduleVersion(self, value: int) -> None:
        ...

    def changeModuleClass(self, type: Type) -> None:
        ...

    def findSequence(self, name: str) -> FieldSequence:
        ...

    def findSequenceOfType(self, type: str, name: str) -> FieldSequence:
        ...

    def isGraphical(self) -> bool:
        ...

    def keyTimes(self) -> List[float]:
        ...

    def nSequences(self) -> int:
        ...

    def notifyEdit(self, fs: FieldSequence) -> None:
        ...

    def sequence(self, i: int) -> FieldSequence:
        ...

    def setControlPatch(self, patch: ControlPatch, isOutput: bool) -> None:
        ...


class LayerColourRule(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'LayerColourRule'
    TestCategory: Final = 3
    TestName: Final = 0
    TestProperty: Final = 1
    TestType: Final = 2

    @property
    def Colour(self) -> Colour:
        ...
    @Colour.setter
    def Colour(self, value: Colour) -> None:
        ...

    @property
    def Comparison(self) -> int:
        """
        Options: {0: 'Contains', 1: 'Equals', 2: '>', 3: '<', 4: '>=', 5: '<='}
        """
        ...
    @Comparison.setter
    def Comparison(self, value: int) -> None:
        ...

    @property
    def Enabled(self) -> bool:
        ...
    @Enabled.setter
    def Enabled(self, value: bool) -> None:
        ...

    @property
    def Key(self) -> int:
        """
        Options: {0: 'Name', 1: 'Property', 2: 'Type', 3: 'Category'}
        """
        ...
    @Key.setter
    def Key(self, value: int) -> None:
        ...

    @property
    def Property(self) -> str:
        ...
    @Property.setter
    def Property(self, value: str) -> None:
        ...

    @property
    def Value(self) -> str:
        ...
    @Value.setter
    def Value(self, value: str) -> None:
        ...

    def isValid(self) -> bool:
        ...


class LayerColourRuleSet(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'LayerColourRuleSet'

    @property
    def layerColourRules(self) -> List[LayerColourRule]:
        ...
    @layerColourRules.setter
    def layerColourRules(self, value: List[LayerColourRule]) -> None:
        ...

    def getColour(self, layer: Layer) -> Colour:
        ...


class LayerStack(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'LayerStack'

    @property
    def arrows(self) -> List[Arrow]:
        ...
    @arrows.setter
    def arrows(self, value: List[Arrow]) -> None:
        ...

    @property
    def layers(self) -> List[Layer]:
        """
        UserName: Layers
        """
        ...
    @layers.setter
    def layers(self, value: List[Layer]) -> None:
        ...

    def findLayerByName(self, name: str) -> Layer:
        ...

    def makeArrow(self, src: Layer, dest: Layer) -> None:
        ...

    def newLayerOfClass(self, layerName: str, className: str) -> None:
        ...

    def removeArrow(self, arrow: Arrow) -> None:
        ...


class LayerStackPlayHead(PlayHead):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'LayerStackPlayHead'
    activePlayHeadFor: Callable

    def overrideProjection(self, projection: Projection) -> None:
        ...

    def set(self, stack: LayerStack) -> None:
        ...

    def updateSequencingForModules(self) -> None:
        ...


class LayerViewHelper(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    precompExtents: Callable


class LdsDriver(UdpReceiverDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'LdsDriver'

    @property
    def sensor_width(self) -> float:
        """
        UserName: Sensor width (mm)
        """
        ...
    @sensor_width.setter
    def sensor_width(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class LdsState(TrackingState):
    null: Self
    _classInfo: 'ClassInfo'


class LedModule(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'LedModule'

    @property
    def resolution(self) -> Vec2:
        ...
    @resolution.setter
    def resolution(self, value: Vec2) -> None:
        ...

    @property
    def size(self) -> Vec:
        ...
    @size.setter
    def size(self, value: Vec) -> None:
        ...

    def __init__(self) -> None:
        ...


class LedProduct(Product):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'LedProduct'

    @property
    def dotPitchMM(self) -> float:
        """
        Pixel spacing, in mm
        
        UserName: Dot pitch (mm)
        """
        ...
    @dotPitchMM.setter
    def dotPitchMM(self, value: float) -> None:
        ...

    @property
    def tileRes(self) -> Int2:
        """
        Tile resolution in pixels
        
        UserName: Tile resolution (pixels)
        """
        ...
    @tileRes.setter
    def tileRes(self, value: Int2) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for LedProduct
        """
        ...


class LedScreen(SlcAwareDisplay):
    """
    A physical LED screen on a stage
    """

    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'LedScreen'

    @property
    def colourMap(self) -> DxTexture:
        """
        Image to be applied to the surface of the object as a colour map, if any. Note: the mesh must have texture coordinates for this to work properly
        
        UserName: Colour map
        """
        ...
    @colourMap.setter
    def colourMap(self, value: DxTexture) -> None:
        ...

    @property
    def densityMap(self) -> DxTexture:
        """
        Object denisty map for Subsurface scattering approximation
        
        UserName: Density map
        """
        ...
    @densityMap.setter
    def densityMap(self, value: DxTexture) -> None:
        ...

    @property
    def densityScale(self) -> float:
        """
        Object denisty map for Subsurface scattering approximation
        
        UserName: Density scale
        """
        ...
    @densityScale.setter
    def densityScale(self, value: float) -> None:
        ...

    @property
    def luminanceNits(self) -> float:
        """
        NIT-rating of LED product; affects visualisation only
        
        Category: Appearance
        UserName: Brightness (NITS)
        """
        ...
    @luminanceNits.setter
    def luminanceNits(self, value: float) -> None:
        ...

    @property
    def luminosity(self) -> float:
        """
        Luminosity of the object
        
        UserName: Luminosity
        """
        ...
    @luminosity.setter
    def luminosity(self, value: float) -> None:
        ...

    @property
    def normalMap(self) -> DxTexture:
        """
        Image to be applied to the surface of the object as a normal map, if any. Note: the mesh must have texture coordinates for this to work properly
        
        UserName: Normal map
        """
        ...
    @normalMap.setter
    def normalMap(self, value: DxTexture) -> None:
        ...

    @property
    def normalMapScalar(self) -> Vec2:
        """
        Normal map UV scalar
        
        UserName: Normal map scale
        """
        ...
    @normalMapScalar.setter
    def normalMapScalar(self, value: Vec2) -> None:
        ...

    @property
    def reflectivity(self) -> float:
        """
        Proportion of incident light returned by the screen surface
        
        Category: Appearance
        UserName: Reflectivity
        """
        ...
    @reflectivity.setter
    def reflectivity(self, value: float) -> None:
        ...

    @property
    def viewingAngle(self) -> float:
        """
        Angle in degrees, where luminance is at 50%. Visualisation in Lux only. Setting a value of 0 will disable the visualisation
        
        Category: Appearance
        UserName: Viewing Angle
        """
        ...
    @viewingAngle.setter
    def viewingAngle(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class LensCalibrationPose(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def intrinsics(self) -> LensIntrinsics:
        ...
    @intrinsics.setter
    def intrinsics(self, value: LensIntrinsics) -> None:
        ...

    @property
    def trackedFocus(self) -> float:
        ...
    @trackedFocus.setter
    def trackedFocus(self, value: float) -> None:
        ...

    @property
    def trackedZoom(self) -> float:
        ...
    @trackedZoom.setter
    def trackedZoom(self, value: float) -> None:
        ...


class LensDistortion(_BlipValue):
    """
    :brief Lens Distortion coefficients
    Lens distortion coefficients that describe radial and tangential distortion
    to various degrees.
    
    A distortion model similar to OpenCV is supported, including:
    - k1-3 for radial distortion (numerator)
    - k4-6 for radial distortion (denominator)
    - p1-2 for tangential distortion
    
    Equations:
    A full radial distortion term is for example given by:
    rad_term = (1 + k1*r^2 + k2*r^4 + k3*r^6) /
    (1 + k4*r^2 + k5*r^4 + k6*r^6)
    Often only some of these coefficients are actually used (see below).
    Barrel distortion typically will have a positive term for k1 whereas
    pincushion distortion will have a negative value.
    
    The tangential distortion term is given by:
    tang_term = 2*p1 + p2 * (r^2 + 2*x^2)
    
    Where r is the radius of undistortion, (x,y) are distorted image coordinates
    and the centre of the radial distortion is given by (x_c,y_c):
    r^2 = (x - x_c)^2 + (y - y_c)^2
    The centre of the radial distortion is usually assumed to be the principal
    point in the image plane (see InternalParams).
    
    Often the tangential distortion term is neglected, but it is in part
    implicitly modelled through the shift of the principal point away from the
    image centre.
    
    Practical usage:
    Not all coefficients have to be used for calibration and correction.
    For practical use it needs to be decided which coefficients should be estimated
    during calibration. According to Zhang*, the first 2 even radial distortion
    coefficients usually dominate the distortion function. Trying to estimate more
    can cause numerical instability.
    Therefore either only k1, k1+k2, k1+k2+k3 or all 6 radial distortion coefficients
    could be considered in calculations. How many coefficients to limit yourself to
    should depend on the input data:
    - quantity, e.g. number of correspondence pairs
    - quality, e.g. how accurate the correspondence pairs are measured, user-specified
    - coverage, e.g. if input points cover most areas of the image plane. For
    calculating distortion it's not enough to have points that cover the extremes.
    Points that result in different radius values (from shifted principal point)
    should be considered.
    
    Chromatic aberration:
    Lateral chromatic aberration (visible as green and purple fringes in camera images)
    can be significantly compensated by applying undistortion with different radial
    distortion coefficients to each R,G,B colour channel.
    
    Direction of non-linear coordinate transformation:
    It is important to note that the distortion coefficients can express a
    transformation from distorted image coordinates to undistorted one, or vice
    versa. Due to the non-linearity, this direction cannot be easily inverted
    simply by modifying the coefficients!
    For example, the coefficients calculated by OpenCV are valid for the
    transformation from *undistorted* to *distorted* coordinates.
    When applying (un-)distortion on image coordinates it is therefore important
    to *consider the "direction" of the coefficients* and also how a certain
    distort() or undistort() function interprets them!
    See: method isUndist2Dist()
    
    Unit of coefficients:
    The distortion coefficients can be applied to either pixel coordinates or
    normalised coordinates. If operating on pixel coordinates, every radial
    distortion coefficient has for example a respective unit of pixels^-2,
    pixels^-4 or pixels^-6. Otherwise they are unit-less, which has the advantage
    that they don't depend on the camera resolution.
    Distortion coefficients directly calculated by OpenCV are unit-less, so they
    can be applied to normalised coordinates.
    See: method isUnitPixels()
    
    
    NOTE: In OpenCV and most literature (e.g. Zhang) k1, k2 are defined as the first
    2 coefficients for radial distortion that are associated with even exponents,
    e.g. that are multiplied by r^2 and r^4, respectively.
    In some publications (e.g. Hartley) these are called k2 and k4, because
    coefficients that correspond to odd exponents could also be considered
    (coming from a full Taylor expansion 1 + k1*r + k2*r^2 + ...).
    
    
    
    See: Z. Zhang, �A flexible new technique for camera calibration�,
    IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(11):1330�1334, 2000.
    See: http://docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html
    See: R. Hartley, A.Zisserman: "Multiple View Geometry in computer vision" 2nd edition, 2003.
    See: O. Faugeras, Q.-T. Luong: "The Geometry of Multiple Images", 2001; p.232.
    See: B. Cyganek, J.P. Siebert: "An Introduction to 3D Computer Vision Techniques and Algorithms", 2009; p. 27.
    """

    null: Self
    _classInfo: 'ClassInfo'

    @property
    def k123(self) -> VecD:
        ...
    @k123.setter
    def k123(self, value: VecD) -> None:
        ...

    @property
    def k456(self) -> VecD:
        ...
    @k456.setter
    def k456(self, value: VecD) -> None:
        ...

    @property
    def p1(self) -> float:
        ...
    @p1.setter
    def p1(self, p: float) -> None:
        ...

    @property
    def p2(self) -> float:
        ...
    @p2.setter
    def p2(self, p: float) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, k123: VecD, k456: VecD, p1: float, p2: float) -> None:
        ...

    def setZero(self) -> None:
        ...


class LensFocusParams(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    Disabled: Final = 0
    Manual: Final = 1
    ObjectTracking: Final = 2

    @property
    def aperture(self) -> float:
        """
        Aperture (f-stop) value, defined as the focal length / aperture diameter
        """
        ...
    @aperture.setter
    def aperture(self, value: float) -> None:
        ...

    @property
    def focusDistance(self) -> float:
        """
        Distance to the focal plane in m
        """
        ...
    @focusDistance.setter
    def focusDistance(self, value: float) -> None:
        ...


class LensIntrinsics(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def aspectRatio(self) -> float:
        ...
    @aspectRatio.setter
    def aspectRatio(self, value: float) -> None:
        ...

    @property
    def centerShift(self) -> Vec2:
        ...
    @centerShift.setter
    def centerShift(self, value: Vec2) -> None:
        ...

    @property
    def centerShiftMM(self) -> Vec2:
        ...
    @centerShiftMM.setter
    def centerShiftMM(self, c: Vec2) -> None:
        ...

    @property
    def focalLength(self) -> float:
        ...
    @focalLength.setter
    def focalLength(self, value: float) -> None:
        ...

    @property
    def focalLengthMM(self) -> float:
        ...
    @focalLengthMM.setter
    def focalLengthMM(self, l: float) -> None:
        ...

    @property
    def k1(self) -> float:
        ...
    @k1.setter
    def k1(self, value: float) -> None:
        ...

    @property
    def k1k2k3(self) -> Vec:
        ...
    @k1k2k3.setter
    def k1k2k3(self, v: Vec) -> None:
        ...

    @property
    def k2(self) -> float:
        ...
    @k2.setter
    def k2(self, value: float) -> None:
        ...

    @property
    def k3(self) -> float:
        ...
    @k3.setter
    def k3(self, value: float) -> None:
        ...

    @property
    def paWidthMM(self) -> float:
        ...
    @paWidthMM.setter
    def paWidthMM(self, value: float) -> None:
        ...


class Light(Object):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Light'

    @property
    def brightness(self) -> float:
        """
        Brightness in lux of a surface perpendicular to the light's direction.
        Sunlight at midday can be 111000 lux, while moonlight could be 0.25 lux.
        
        UserName: Brightness
        """
        ...
    @brightness.setter
    def brightness(self, value: float) -> None:
        ...

    @property
    def colour(self) -> Colour:
        """
        The colour of the light.
        It is recommended to select a 'full brightness' version of colours chosen, by changing Luminance in the colour picker to 1.
        
        UserName: Colour
        """
        ...
    @colour.setter
    def colour(self, value: Colour) -> None:
        ...

    def __init__(self) -> None:
        ...


class LightwareMatrix(DVIMatrix):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'LightwareMatrix'

    @property
    def IP_address(self) -> str:
        """
        The IP address to send commands to
        
        UserName: IP address
        """
        ...
    @IP_address.setter
    def IP_address(self, value: str) -> None:
        ...

    @property
    def delay(self) -> int:
        """
        Delay sending matrix commands for n milliseconds
        
        UserName: Delay (ms)
        """
        ...
    @delay.setter
    def delay(self, value: int) -> None:
        ...

    @property
    def port(self) -> int:
        """
        The TCP port to send commands on
        
        UserName: Port
        """
        ...
    @port.setter
    def port(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class LightwareMatrixLW3(LightwareMatrix):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'LightwareMatrixLW3'

    @property
    def compatibility(self) -> int:
        """
        Options: {0: 'Matrix', 1: 'UBEX'}
        UserName: Compatiblity
        """
        ...
    @compatibility.setter
    def compatibility(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class Line(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self, s: Vec, e: Vec) -> None:
        ...

    def closestPointOnLine(self, p: Vec) -> Vec:
        ...

    def direction(self) -> Vec:
        ...

    def distanceToSegmentSquared(self, p: Vec) -> float:
        ...


class ListEditorDataSource(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def className(self) -> str:
        ...

    @property
    def reflectionType(self) -> Type:
        ...

    def set(self, className: str) -> None:
        ...

    def setFilter(self, filtrFunc: Callable) -> None:
        ...


class ListEditorDataSource_ManualSet(ListEditorDataSource):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...

    def addResource(self, r: Resource) -> None:
        ...

    def clearResourceColour(self, r: Resource) -> None:
        ...

    def indexOf(self, r: Resource) -> int:
        ...

    def insertionOrderOf(self, r: Resource) -> int:
        ...

    def removeResource(self, r: Resource) -> None:
        ...

    def setResourceColour(self, r: Resource, colour: Colour) -> None:
        ...

    def setResources(self, set: List[Resource]) -> None:
        ...


class ListEditorDataSource_ResourceType(ListEditorDataSource):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class ListIndirectionController(IndirectionController):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ListIndirectionController'

    @property
    def resources(self) -> List[Resource]:
        """
        UserName: Resources
        """
        ...
    @resources.setter
    def resources(self, value: List[Resource]) -> None:
        ...

    @property
    def selectedIndex(self) -> int:
        """
        Selected resource in the indirection controller list
        
        UserName: Selected index
        """
        ...
    @selectedIndex.setter
    def selectedIndex(self, value: int) -> None:
        ...

    @property
    def selectedIndexExpression(self) -> Expression:
        ...
    @selectedIndexExpression.setter
    def selectedIndexExpression(self, value: Expression) -> None:
        ...

    @property
    def selectedIndexExpressionText(self) -> str:
        ...
    @selectedIndexExpressionText.setter
    def selectedIndexExpressionText(self, value: str) -> None:
        ...


class LocalCoordSystem(_BlipValue):
    """
    Local coordinate system
    
    NOTE: All angles in LocalCoordSystem are in [radians], not degrees!
    """

    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, _t: VecD, _R: Mat, _scale: VecD) -> None:
        ...

    def getAngles(self) -> VecD:
        ...

    def getAnglesEuler(self) -> VecD:
        ...

    def getAnglesOrbit(self) -> VecD:
        ...

    def getLookAt(self) -> VecD:
        ...

    def getLookAtDistance(self) -> float:
        ...

    def getPosition(self) -> VecD:
        ...

    def getRotation(self) -> Mat:
        ...

    def getScale(self) -> VecD:
        ...

    def getSphericalCoords(self) -> VecD:
        ...

    def getTransformation2Camera(self) -> Mat:
        ...

    def getTransformation2World(self) -> Mat:
        ...

    def getTranslation(self) -> VecD:
        ...

    def getVecDirection(self) -> VecD:
        ...

    def getVecRight(self) -> VecD:
        ...

    def getVecUp(self) -> VecD:
        ...


class LocalGuiDisplay(Display):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'LocalGuiDisplay'
    localGui: Callable


class LocalState(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'LocalState'
    FadeDown: Final = 0
    FadeUp: Final = 1
    Hold: Final = 2
    directorState: Callable
    localOrDirectorState: Callable
    localState: Callable

    @property
    def activeLatencyOverride(self) -> int:
        """
        This overrides the latency for renderstream nodes.
        Frame received above this latency will be dropped.
        Setting to 0 allows d3 to manage the latency automatically.
        
        UserName: Active latency override (ms)
        """
        ...
    @activeLatencyOverride.setter
    def activeLatencyOverride(self, value: int) -> None:
        ...

    @property
    def currentTransport(self) -> TransportManager:
        ...
    @currentTransport.setter
    def currentTransport(self, value: TransportManager) -> None:
        ...

    @property
    def manageRenderStreamWorkloads(self) -> bool:
        """
        Automatically manage RenderStream workload lifetimes
        
        UserName: Manage RenderStream workloads
        """
        ...
    @manageRenderStreamWorkloads.setter
    def manageRenderStreamWorkloads(self, value: bool) -> None:
        ...

    @property
    def muted(self) -> MapTable[int, bool]:
        ...
    @muted.setter
    def muted(self, value: MapTable[int, bool]) -> None:
        ...

    @property
    def output(self) -> int:
        """
        Options: {0: 'fade down', 1: 'fade up', 2: 'hold'}
        """
        ...
    @output.setter
    def output(self, value: int) -> None:
        ...

    @property
    def recordingStatesByRecorderName(self) -> HashTable[int]:
        ...
    @recordingStatesByRecorderName.setter
    def recordingStatesByRecorderName(self, value: HashTable[int]) -> None:
        ...

    @property
    def track(self) -> Track:
        ...

    @property
    def transport(self) -> SuperTransportManager:
        ...
    @transport.setter
    def transport(self, value: SuperTransportManager) -> None:
        ...


class Locale(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def refreshCurrentLocale(self) -> None:
        ...

    def translationAction(self, string: str) -> str:
        ...


class LoggerEndPoint(ConsoleEndpoint):
    null: Self
    _classInfo: 'ClassInfo'


class LogicalAudioOutDevice(LogicalDevice):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AudioOutPatch'

    def __init__(self) -> None:
        ...


class LogicalDevice(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'LogicalDevice'

    def __init__(self) -> None:
        """
        Default constructor for LogicalDevice
        """
        ...


class LogicalVideoInDevice(LogicalDevice):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'LogicalVideoInDevice'
    deinterlaceMethodCount: Final = 11
    deinterlaceMethodName: Callable
    getDeinterlaceHelpText: Callable
    makeACESLabel: Callable

    @property
    def acesTransform(self) -> AcesInputTransformParameters:
        """
        ACES Input Display Transform (IDT)
        
        UserName: Input transform
        """
        ...
    @acesTransform.setter
    def acesTransform(self, t: AcesInputTransformParameters) -> None:
        ...

    @property
    def cropOffset(self) -> Vec2:
        """
        Size of the crop frame offset in pixels.
        
        UserName: Crop offset
        """
        ...
    @cropOffset.setter
    def cropOffset(self, pixelCropOffset: Vec2) -> None:
        ...

    @property
    def cropRectangle(self) -> Rect:
        ...
    @cropRectangle.setter
    def cropRectangle(self, value: Rect) -> None:
        ...

    @property
    def cropSize(self) -> Vec2:
        """
        Size of crop frame in camera feed in pixels.
        
        UserName: Crop size
        """
        ...
    @cropSize.setter
    def cropSize(self, pxielCropSize: Vec2) -> None:
        ...

    @property
    def deinterlaceMethod(self) -> int:
        """
        Options: {0: 'Discard even', 1: 'Discard odd', 2: 'Bob - Interpolate', 3: 'Bob - Duplicate', 4: 'Weave', 5: 'Weave & Interpolate', 6: 'Weave on odd', 7: 'Weave on odd & Interpolate', 8: 'Weave on even', 9: 'Weave on even & Interpolate', 10: 'Weston 3 Field'}
        UserName: Deinterlace method
        """
        ...
    @deinterlaceMethod.setter
    def deinterlaceMethod(self, method: int) -> None:
        ...

    @property
    def interlaced(self) -> int:
        ...
    @interlaced.setter
    def interlaced(self, value: int) -> None:
        ...

    @property
    def layerStack(self) -> LayerStack:
        """
        A Layer Stack is a time-independent stack of effects which are applied directly to a VideoIn object.
        You can add, remove and re-order effects in a Layer Stack via its editor.
        
        UserName: Layer stack
        """
        ...
    @layerStack.setter
    def layerStack(self, value: LayerStack) -> None:
        ...

    @property
    def localVideoIn(self) -> VideoIn:
        ...

    @property
    def ocioTransform(self) -> OcioColourSpace:
        """
        OCIO colour space of the video input
        
        UserName: Input transform
        """
        ...
    @ocioTransform.setter
    def ocioTransform(self, value: OcioColourSpace) -> None:
        ...

    @property
    def pixelFormat(self) -> str:
        ...
    @pixelFormat.setter
    def pixelFormat(self, value: str) -> None:
        ...

    @property
    def placeholder(self) -> DxTexture:
        ...
    @placeholder.setter
    def placeholder(self, value: DxTexture) -> None:
        ...

    @property
    def placeholderImage(self) -> DxTexture:
        """
        UserName: Placeholder image
        """
        ...
    @placeholderImage.setter
    def placeholderImage(self, value: DxTexture) -> None:
        ...

    @property
    def resolution(self) -> Vec2:
        ...
    @resolution.setter
    def resolution(self, value: Vec2) -> None:
        ...

    def getCurrentFrame(self, guiRequest: bool) -> DxTexture:
        ...

    def getPreviewFrame(self, size: Int2) -> DxTexture:
        ...

    def getResolution(self) -> Vec2:
        ...

    def setFormat(self, resolution: Vec2, interlaced: bool, pixelFormat: str) -> None:
        ...

    def updateTexture(self) -> None:
        ...


class LogicalVideoInSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        """
        Default constructor for LogicalVideoInSystem
        """
        ...


class LookAtManipulable(Object):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'LookAtManipulable'

    def __init__(self, proj) -> None:
        """
        Construct a LookAtManipulable for a specific projector
        
        :param proj: The projector to associate with the LookAtManipulable
        """
        ...

    def matchRotationOfProjector(self) -> None:
        """
        Match the Rotation of the look-at points projector.
        """
        ...

    def set(self, proj: Projector) -> LookAtManipulable:
        ...


class LookupTexture(ProceduralTexture):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'LookupTexture'
    lookupRange: Final = 256

    @property
    def points(self) -> List[Vec2]:
        ...
    @points.setter
    def points(self, value: List[Vec2]) -> None:
        ...

    def eval(self, x: float) -> float:
        ...

    def insertPointAfter(self, iPoint: int) -> None:
        ...

    def point(self, i: int, v: Vec2) -> None:
        ...

    def removePoint(self, iPoint: int) -> bool:
        ...

    def setPoints(self, indices: List[int], points: List[Vec2]) -> None:
        ...


class LumaKeyComponents(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def chromaHardwareId(self) -> str:
        ...
    @chromaHardwareId.setter
    def chromaHardwareId(self, value: str) -> None:
        ...

    @property
    def lumaKeyHardwareId(self) -> str:
        ...
    @lumaKeyHardwareId.setter
    def lumaKeyHardwareId(self, value: str) -> None:
        ...

    @property
    def lumaKeyInverted(self) -> bool:
        ...
    @lumaKeyInverted.setter
    def lumaKeyInverted(self, value: bool) -> None:
        ...

    @overload
    def __init__(self) -> None:
        """
        Default constructor for LumaKeyComponents
        """
        ...

    @overload
    def __init__(self, other: LumaKeyComponents) -> None:
        """
        Copy constructor for LumaKeyComponents
        """
        ...


class LumaKeyVideoIn(VideoIn):
    null: Self
    _classInfo: 'ClassInfo'
    makeHardwareId: Callable
    parseHardwareId: Callable


class LumaKeyVideoInSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        """
        Default constructor for LumaKeyVideoInSystem
        """
        ...


class LutFile(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'LutFile'

    @property
    def acesPostTransform(self) -> AcesInputTransformParameters:
        """
        Transform from LUT working space to Linear ACES AP0
        
        Category: Colour Management
        UserName: Post Transform
        """
        ...
    @acesPostTransform.setter
    def acesPostTransform(self, value: AcesInputTransformParameters) -> None:
        ...

    @property
    def acesPreTransform(self) -> AcesOutputTransformParameters:
        """
        Transform from Linear ACES AP0 to LUT working space
        
        Category: Colour Management
        UserName: Pre Transform
        """
        ...
    @acesPreTransform.setter
    def acesPreTransform(self, value: AcesOutputTransformParameters) -> None:
        ...

    @property
    def ocioTransform(self) -> OcioColourSpace:
        """
        Colour space to apply LUT
        
        Category: Colour Management
        UserName: Lut Transform
        """
        ...
    @ocioTransform.setter
    def ocioTransform(self, value: OcioColourSpace) -> None:
        ...

    def __init__(self) -> None:
        ...


class LutModule(ProjectionAwareModule):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'LutModule'

    @property
    def lutChromaIntensity(self) -> float:
        """
        UserName: Chroma intensity
        """
        ...
    @lutChromaIntensity.setter
    def lutChromaIntensity(self, value: float) -> None:
        ...

    @property
    def lutLumaIntensity(self) -> float:
        """
        UserName: Luma intensity
        """
        ...
    @lutLumaIntensity.setter
    def lutLumaIntensity(self, value: float) -> None:
        ...

    @property
    def lutfile(self) -> LutFile:
        """
        Cube LUT
        
        UserName: Colour LUT
        """
        ...
    @lutfile.setter
    def lutfile(self, value: LutFile) -> None:
        ...

    @property
    def source(self) -> ContentSource:
        """
        UserName: Source
        """
        ...
    @source.setter
    def source(self, value: ContentSource) -> None:
        ...

    def __init__(self) -> None:
        ...


class MDCModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MDCModule'

    @property
    def controlDevice(self) -> ControlDevice:
        """
        UserName: Control device
        """
        ...
    @controlDevice.setter
    def controlDevice(self, value: ControlDevice) -> None:
        ...

    @property
    def panelControl(self) -> int:
        """
        Options: {0: 'Off', 1: 'On'}
        Category: Control
        UserName: Panel control
        """
        ...
    @panelControl.setter
    def panelControl(self, value: int) -> None:
        ...

    @property
    def powerControl(self) -> int:
        """
        Options: {0: 'Off', 1: 'On'}
        Category: Control
        UserName: Power control
        """
        ...
    @powerControl.setter
    def powerControl(self, value: int) -> None:
        ...

    @property
    def screenBacklight(self) -> int:
        """
        Category: Control
        UserName: Screen backlight
        """
        ...
    @screenBacklight.setter
    def screenBacklight(self, value: int) -> None:
        ...

    @property
    def screenBrightness(self) -> int:
        """
        Category: Control
        UserName: Screen brightness
        """
        ...
    @screenBrightness.setter
    def screenBrightness(self, value: int) -> None:
        ...

    @property
    def screenContrast(self) -> int:
        """
        Category: Control
        UserName: Screen contrast
        """
        ...
    @screenContrast.setter
    def screenContrast(self, value: int) -> None:
        ...

    @property
    def screenIds(self) -> str:
        """
        UserName: Screen IDs
        """
        ...
    @screenIds.setter
    def screenIds(self, value: str) -> None:
        ...

    def __init__(self) -> None:
        ...


class MSCMessage(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class MSCState(IDataState):
    null: Self
    _classInfo: 'ClassInfo'


class MTCState(IDataState):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def mtcFps(self) -> float:
        ...

    @property
    def mtcFrames(self) -> int:
        ...

    @property
    def mtcHours(self) -> int:
        ...

    @property
    def mtcMinutes(self) -> int:
        ...

    @property
    def mtcRate(self) -> int:
        ...

    @property
    def mtcRunning(self) -> bool:
        ...

    @property
    def mtcSeconds(self) -> int:
        ...

    def __init__(self, other: MTCState) -> None:
        """
        Copy constructor for MTCState
        """
        ...


class MVCameraStatsDisplay(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def bandwidth(self) -> int:
        ...

    @property
    def fps(self) -> float:
        ...

    @property
    def fpsLocal(self) -> float:
        ...

    @property
    def framesDelivered(self) -> int:
        ...

    @property
    def nFramesDelivered(self) -> int:
        ...

    @property
    def nFramesDropped(self) -> int:
        ...

    @property
    def nFramesDroppedDelta(self) -> int:
        ...

    @property
    def nFramesIncomplete(self) -> int:
        ...

    @property
    def nFramesIncompleteDelta(self) -> int:
        ...

    @property
    def nFramesRescued(self) -> int:
        ...

    @property
    def nFramesRescuedDelta(self) -> int:
        ...

    @property
    def nFramesShoved(self) -> int:
        ...

    @property
    def nFramesShovedDelta(self) -> int:
        ...

    @property
    def nFramesUnderrun(self) -> int:
        ...

    @property
    def nFramesUnderrunDelta(self) -> int:
        ...

    @property
    def nPacketErrors(self) -> int:
        ...

    @property
    def nPacketErrorsDelta(self) -> int:
        ...

    @property
    def nPacketMissed(self) -> int:
        ...

    @property
    def nPacketReceived(self) -> int:
        ...

    @property
    def nPacketResendReceived(self) -> int:
        ...

    @property
    def nPacketResendRequest(self) -> int:
        ...

    @property
    def tElapsed(self) -> float:
        ...


class Machine(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Machine'
    Actor: Final = 3
    BITS_10: Final = 2
    BITS_8: Final = 1
    BP_MODEL_1: Final = 0
    BP_MODEL_2: Final = 1
    BP_MODEL_UNKNOWN: Final = 2
    CustomRenderNode: Final = 23
    DEVICE_STATUS_DIFFERENT_BIT_DEPTH: Final = 3
    DEVICE_STATUS_DIFFERENT_EDID_EMULATION: Final = 4
    DEVICE_STATUS_DIFFERENT_IPNETCONFIG_0: Final = 10
    DEVICE_STATUS_DIFFERENT_IPNETCONFIG_1: Final = 11
    DEVICE_STATUS_DIFFERENT_IPNETNVMCONFIG_0: Final = 12
    DEVICE_STATUS_DIFFERENT_IPNETNVMCONFIG_1: Final = 13
    DEVICE_STATUS_DIFFERENT_PTP_DOMAIN_NUMBER: Final = 16
    DEVICE_STATUS_DIFFERENT_PTP_PROFILE: Final = 17
    DEVICE_STATUS_DIFFERENT_REFRESH_RATE: Final = 2
    DEVICE_STATUS_DIFFERENT_RESOLUTION: Final = 1
    DEVICE_STATUS_DIFFERENT_VIDEOSINK_RATE: Final = 15
    DEVICE_STATUS_DIFFERENT_VIDEO_OUTPUT_MODE: Final = 14
    DEVICE_STATUS_ERROR: Final = 19
    DEVICE_STATUS_INCOMPATIBLE_VFC: Final = 8
    DEVICE_STATUS_INVALID_BIT_DEPTH: Final = 9
    DEVICE_STATUS_NORMAL: Final = 0
    DEVICE_STATUS_NO_MACHINE_CONNECTED: Final = 5
    DEVICE_STATUS_NO_OUTPUT_CONNECTED: Final = 6
    DEVICE_STATUS_NO_SFP_CONNECTED: Final = 7
    DEVICE_STATUS_PTP_NOT_LOCKED: Final = 18
    DEVICE_STATUS_UNRESPONSIVE: Final = 20
    DEVICE_STATUS_VFC_FAILED_INIT: Final = 21
    DedicatedDirector: Final = 1
    Deltacast: Final = 0
    Designer: Final = 0
    Ex_2: Final = 25
    Ex_2c: Final = 26
    Ex_3: Final = 20
    Ex_3Plus: Final = 27
    FIFO_OK: Final = 0
    FIFO_OVERFLOW: Final = 2
    FIFO_UNDERRUN: Final = 1
    FIFO_UNKNOWN: Final = 3
    Gx_1: Final = 8
    Gx_2: Final = 9
    Gx_2c: Final = 12
    Gx_3: Final = 18
    Gx_3Plus: Final = 28
    Matrox: Final = 1
    MobileEditor: Final = 5
    NET_MODE_DHCP: Final = 1
    NET_MODE_STATIC: Final = 0
    NET_MODE_UNKNOWN: Final = 2
    NO_BP: Final = 3
    Node: Final = 6
    NonDedicatedDirector: Final = 2
    PORT_STATUS_DESIGNER: Final = 10
    PORT_STATUS_DIFFERENT_BIT_DEPTH: Final = 5
    PORT_STATUS_DIFFERENT_COL_CONV_PRO: Final = 15
    PORT_STATUS_DIFFERENT_QUAD_DIVISION: Final = 7
    PORT_STATUS_DIFFERENT_REFRESH_RATE: Final = 3
    PORT_STATUS_DIFFERENT_REFRESH_RATE_GLOBAL: Final = 4
    PORT_STATUS_DIFFERENT_RESOLUTION: Final = 1
    PORT_STATUS_DIFFERENT_SPLIT_MODE: Final = 2
    PORT_STATUS_DIFFERENT_SUBSAMPLING: Final = 17
    PORT_STATUS_DIFFERENT_TIMING_MODE: Final = 6
    PORT_STATUS_DIFFERENT_TRANSPORT_TYPE: Final = 18
    PORT_STATUS_DIFFERENT_TRANS_CHAR: Final = 16
    PORT_STATUS_DIFFERENT_TXIPDEST_ETH0: Final = 13
    PORT_STATUS_DIFFERENT_TXIPDEST_ETH1: Final = 14
    PORT_STATUS_ERROR: Final = 19
    PORT_STATUS_INCOMPATIBLE_VFC: Final = 11
    PORT_STATUS_NORMAL: Final = 0
    PORT_STATUS_NO_MACHINE_CONNECTED: Final = 8
    PORT_STATUS_NO_OUTPUT_CONNECTED: Final = 9
    PORT_STATUS_STREAM_DISABLED: Final = 12
    PORT_STATUS_VFC_FAILED_INIT: Final = 20
    PTP_PROFILE_SMPTE2059_2015: Final = 0
    PTP_PROFILE_SMPTE2059_2021: Final = 1
    PTP_PROFILE_UNKNOWN: Final = 2
    PTP_STATES_FREERUN: Final = 1
    PTP_STATES_LOCKED: Final = 4
    PTP_STATES_LOCKING: Final = 3
    PTP_STATES_STOPPED: Final = 0
    PTP_STATES_UNKNOWN: Final = 5
    PTP_STATES_UNLOCKED: Final = 2
    Plus_2x2: Final = 4
    Pro_2x4: Final = 7
    Pro_4x2: Final = 2
    Pro_4x4: Final = 3
    Pro_4x4_NoVfcs: Final = 5
    RenderNode: Final = 7
    Rx: Final = 13
    Rx_II: Final = 14
    Rx_III: Final = 24
    SFP_TYPE_10G: Final = 1
    SFP_TYPE_25G: Final = 2
    SFP_TYPE_DUAL_SDI: Final = 5
    SFP_TYPE_INVALID_SFP_FOR_SLOT: Final = 6
    SFP_TYPE_NONE: Final = 0
    SFP_TYPE_SINGLE_SDI: Final = 4
    SFP_TYPE_UNKNOWN: Final = 7
    STATUS_GENLOCK: Final = 2
    STATUS_GENLOCK_BY_PTP: Final = 1
    STATUS_NO_GENLOCK: Final = 0
    SYNC_STATUS_CONFLICTING_EDIDS: Final = 5
    SYNC_STATUS_CONFLICTING_RESOLUTIONS: Final = 4
    SYNC_STATUS_FREE_RUN: Final = 0
    SYNC_STATUS_LOCKED_EXTERNAL: Final = 2
    SYNC_STATUS_LOCKED_INTERNAL: Final = 1
    SYNC_STATUS_LOCKED_PTP: Final = 3
    SYS_SYNC_MODE_DP: Final = 2
    SYS_SYNC_MODE_EXT: Final = 1
    SYS_SYNC_MODE_PTP: Final = 0
    SYS_SYNC_MODE_UNKNOWN: Final = 3
    Solo: Final = 0
    Solo_v1: Final = 10
    USE_PROJECT_BIT_DEPTH: Final = 0
    Understudy: Final = 4
    UnknownRole: Final = 6
    V2_5: Final = 1
    VID_OUTPUT_NONE: Final = 2
    VID_OUTPUT_SDI: Final = 1
    VID_OUTPUT_ST2110: Final = 0
    Vx_1: Final = 15
    Vx_2: Final = 16
    Vx_2Plus: Final = 21
    Vx_3: Final = 22
    Vx_4: Final = 11
    Vx_4Plus: Final = 17
    Vx_4n: Final = 19
    captureCardVendor: Callable
    localApiEndpoint: Callable
    machineRoleToString: Callable

    @property
    def DVI_matrix_preset(self) -> str:
        ...
    @DVI_matrix_preset.setter
    def DVI_matrix_preset(self, value: str) -> None:
        ...

    @property
    def IP_address(self) -> str:
        ...

    @property
    def active(self) -> bool:
        ...

    @property
    def alternate_feed(self) -> FeedScene:
        ...
    @alternate_feed.setter
    def alternate_feed(self, value: FeedScene) -> None:
        ...

    @property
    def audio(self) -> int:
        """
        Options: {0: 'Off', 1: 'Timeline Only', 2: 'Videofiles Only', 3: 'On'}
        """
        ...
    @audio.setter
    def audio(self, value: int) -> None:
        ...

    @property
    def bit_depth_selection(self) -> int:
        """
        Options: {0: 'Use Project Bit Depth', 1: '8 Bit', 2: '10 Bit'}
        Category: Understudy Targets
        """
        ...
    @bit_depth_selection.setter
    def bit_depth_selection(self, value: int) -> None:
        ...

    @property
    def captureCardVariant(self) -> int:
        """
        Select which capture card the server has
        
        Options: {0: 'Deltacast', 1: 'Matrox'}
        Category: Understudy Targets
        UserName: Capture card variant
        """
        ...
    @captureCardVariant.setter
    def captureCardVariant(self, value: int) -> None:
        ...

    @property
    def content_distribution_target_mode(self) -> int:
        """
        Category: Understudy Targets
        """
        ...
    @content_distribution_target_mode.setter
    def content_distribution_target_mode(self, value: int) -> None:
        ...

    @property
    def d3ProjectsFolder(self) -> str:
        ...

    @property
    def d3_projects_folder(self) -> str:
        ...
    @d3_projects_folder.setter
    def d3_projects_folder(self, value: str) -> None:
        ...

    @property
    def d3_projects_folder_netname(self) -> str:
        ...
    @d3_projects_folder_netname.setter
    def d3_projects_folder_netname(self, value: str) -> None:
        ...

    @property
    def device_mapping(self) -> DeviceMapping:
        """
        Category: Understudy Targets
        """
        ...
    @device_mapping.setter
    def device_mapping(self, value: DeviceMapping) -> None:
        ...

    @property
    def failed(self) -> bool:
        ...

    @property
    def failoverDisabled(self) -> bool:
        ...

    @property
    def feed(self) -> FeedScene:
        ...
    @feed.setter
    def feed(self, value: FeedScene) -> None:
        ...

    @property
    def hasDedicatedGui(self) -> bool:
        ...

    @property
    def hostname(self) -> str:
        ...
    @hostname.setter
    def hostname(self, value: str) -> None:
        ...

    @property
    def httpPort(self) -> int:
        ...
    @httpPort.setter
    def httpPort(self, value: int) -> None:
        ...

    @property
    def isGuiVisible(self) -> bool:
        ...

    @property
    def machineType(self) -> int:
        """
        Options: {0: 'Designer', 1: 'V2.5', 2: '4x2pro', 3: '4x4pro', 4: '2x2plus', 5: '4x4pro (No VFC)', 6: 'Node', 7: '2x4pro', 8: 'gx 1', 9: 'gx 2', 10: 'solo', 11: 'vx 4', 12: 'gx 2c', 13: 'rx', 14: 'rx II', 15: 'vx 1', 16: 'vx 2', 17: 'vx 4+', 18: 'gx 3', 19: 'vx 4n', 20: 'ex 3', 21: 'vx 2+', 22: 'vx 3', 23: 'Custom RenderNode', 24: 'rx III', 25: 'ex 2', 26: 'ex 2c', 27: 'ex 3+', 28: 'gx 3+'}
        Category: Understudy Targets
        """
        ...
    @machineType.setter
    def machineType(self, t: int) -> None:
        ...

    @property
    def media(self) -> MachineMediaRegistry:
        """
        Category: Understudy Targets
        """
        ...
    @media.setter
    def media(self, value: MachineMediaRegistry) -> None:
        ...

    @property
    def name(self) -> str:
        ...

    @property
    def networkConnected(self) -> bool:
        ...

    @property
    def networkStatus(self) -> int:
        ...

    @property
    def nodeId(self) -> optional[int]:
        ...

    @property
    def nodeName(self) -> str:
        ...

    @property
    def renderstream_engines_folder(self) -> str:
        ...
    @renderstream_engines_folder.setter
    def renderstream_engines_folder(self, value: str) -> None:
        ...

    @property
    def renderstream_projects_folder(self) -> str:
        ...
    @renderstream_projects_folder.setter
    def renderstream_projects_folder(self, value: str) -> None:
        ...

    @property
    def role(self) -> int:
        ...
    @role.setter
    def role(self, value: int) -> None:
        ...

    @property
    def runningAs(self) -> Machine:
        ...

    @property
    def startupGuiMode(self) -> int:
        """
        Options: {0: 'Off When Actor', 1: 'Always On', 2: 'Always Off'}
        """
        ...
    @startupGuiMode.setter
    def startupGuiMode(self, value: int) -> None:
        ...

    @property
    def targets(self) -> List[Machine]:
        ...
    @targets.setter
    def targets(self, value: List[Machine]) -> None:
        ...

    @property
    def typeName(self) -> str:
        ...

    def allRequiredOutputsGenlocked(self) -> bool:
        ...

    def applyDisplaySettings(self) -> None:
        ...

    def applyDisplaySettingsWillRequireReboot(self) -> bool:
        ...

    def applyPortConfigs(self, blocking: bool) -> None:
        ...

    def assertHouseSync(self) -> None:
        ...

    def assignNewFeed(self) -> None:
        ...

    def bpModel(self) -> int:
        ...

    def clearHouseSync(self) -> None:
        ...

    def fifoState(self, iSlot: int, iPort: int) -> int:
        ...

    def findDisplayAdapterList(self) -> DisplayAdapterList:
        ...

    def getSlotToSyncPTP(self) -> optional[int]:
        ...

    def getbitDepth(self) -> int:
        ...

    def gpuVendor(self) -> int:
        ...

    def hasIncomingHouseSyncSignal(self) -> bool:
        ...

    def hasTakenOverFailedMachine(self) -> bool:
        ...

    def incomingHouseSyncSignal(self) -> float:
        ...

    def ipVfcSdpPath(self, iSlot: int, iPort: int, eth: int) -> str:
        ...

    def isApplyingFeeds(self) -> bool:
        ...

    def isExRange(self) -> bool:
        ...

    def isVfcReady(self, iSlot: int) -> bool:
        ...

    def machineUsesMapping(self, mapping: Projection) -> bool:
        ...

    def needsDisplaySettingsApplied(self) -> bool:
        ...

    def needsNVMNetworkSettingsApplied(self) -> bool:
        ...

    def outputMode(self, iGpuPort: int) -> DisplayMode:
        ...

    def refreshDisplayAdapters(self) -> None:
        ...

    def resetEdids(self) -> None:
        ...

    def resetHDMI(self, iSlot: int) -> None:
        ...

    def runVFCDebugCommand(self, iSlot: int, command: str) -> None:
        ...

    def setCompatibleQuadResolution(self) -> None:
        ...

    def setVFCTracing(self, iSlot: int, tracing: bool) -> None:
        ...

    def slotsWithInvalidSFPState(self) -> List[int]:
        ...

    def streamEnabled(self, iSlot: int, iPort: int) -> bool:
        ...

    def supports10Bit(self) -> bool:
        ...

    def supportsMultipleCaptureCardVendors(self) -> bool:
        ...

    def swapVFCinterlacedField(self, iSlot: int, iPort: int) -> None:
        ...

    def syncStatus(self, iSlot: int) -> int:
        ...

    def vfcDNSConfig(self, iSlot: int, nvm: bool) -> str:
        ...

    def vfcFPGATemperature(self, iSlot: int) -> float:
        ...

    def vfcFirmwareVersion(self, iSlot: int) -> VFCFpgaVersion:
        ...

    def vfcGeneration(self, iSlot: int) -> int:
        ...

    def vfcIPNetConfigAddress(self, iSlot: int, eth: int, nvm: bool) -> IPAddress:
        ...

    def vfcMacAddress(self, iSlot: int, eth: int) -> str:
        ...

    def vfcPTPClkID(self, iSlot: int) -> str:
        ...

    def vfcPTPDomainNbr(self, iSlot: int) -> int:
        ...

    def vfcPTPLockDistance(self, iSlot: int) -> int:
        ...

    def vfcPTPLockState(self, iSlot: int) -> int:
        ...

    def vfcPTPPortNbr(self, iSlot: int) -> int:
        ...

    def vfcPTPProfile(self, iSlot: int) -> int:
        ...

    def vfcPortCurrentDisplayMode(self, iSlot: int, iPort: int) -> DisplayMode:
        ...

    def vfcPortDisplayModes(self, iSlot: int, iPort: int) -> List[DisplayMode]:
        ...

    def vfcPortFsStart(self, iSlot: int, iPort: int) -> int:
        ...

    def vfcPortLed(self, iSlot: int, iPort: int) -> Colour:
        ...

    def vfcPortSelectedDisplayMode(self, iSlot: int, iPort: int) -> DisplayMode:
        ...

    def vfcPortState(self, iSlot: int, iPort: int) -> str:
        ...

    def vfcPortStatus(self, iSlot: int, iPort: int) -> int:
        ...

    def vfcSFPType(self, iSlot: int, sfpIdx: int) -> int:
        ...

    def vfcSoftwareVersion(self, iSlot: int) -> VFCFpgaVersion:
        ...

    def vfcStatus(self, iSlot: int) -> int:
        ...

    def vfcSysAlertMissingGenlock(self) -> int:
        ...

    def vfcSysAlertMissingIpVfc(self) -> List[int]:
        ...

    def vfcSysAlertMissingPtp(self) -> int:
        ...

    def vfcSysAlertStatusBoardTempExceeded(self, iSlot: int) -> bool:
        ...

    def vfcSysAlertStatusFPGATempExceeded(self, iSlot: int) -> bool:
        ...

    def vfcSysAlertStatusPTPStepped(self, iSlot: int) -> bool:
        ...

    def vfcSysAlertStatusSynError(self, iSlot: int) -> bool:
        ...

    def vfcSysAlertStatusTime(self, iSlot: int) -> str:
        ...

    def vfcSysPtpDomainMismatch(self) -> int:
        ...

    def vfcSysSyncFrate(self, iSlot: int) -> float:
        ...

    def vfcSysSyncMode(self, iSlot: int) -> int:
        ...

    def vfcSysSyncModeMismatch(self) -> List[int]:
        ...

    def vfcTemperature(self, iSlot: int) -> float:
        ...

    def vfcVideoOutputMode(self, iSlot: int) -> int:
        ...


class MachineListIndirectionController(IndirectionController):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MachineListIndirectionController'

    @property
    def default(self) -> Resource:
        """
        UserName: Default
        """
        ...
    @default.setter
    def default(self, value: Resource) -> None:
        ...

    def getMachineResource(self, machineKey: Machine) -> Resource:
        ...

    def setMachineResource(self, machineKey: Machine, newResource: Resource) -> None:
        ...


class MachineMedia(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def machine(self) -> Machine:
        ...
    @machine.setter
    def machine(self, value: Machine) -> None:
        ...

    @property
    def path(self) -> str:
        ...
    @path.setter
    def path(self, value: str) -> None:
        ...

    @property
    def resource(self) -> Resource:
        ...
    @resource.setter
    def resource(self, value: Resource) -> None:
        ...


class MachineMediaFile(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MachineMediaFile'

    @property
    def mediaDateStamp(self) -> DateStamp:
        ...
    @mediaDateStamp.setter
    def mediaDateStamp(self, value: DateStamp) -> None:
        ...

    @property
    def mediaHeader(self) -> MediaFileHeader:
        """
        UserName: Media Header
        """
        ...
    @mediaHeader.setter
    def mediaHeader(self, value: MediaFileHeader) -> None:
        ...

    @property
    def mediaPath(self) -> str:
        ...
    @mediaPath.setter
    def mediaPath(self, value: str) -> None:
        ...

    @property
    def mediaSize(self) -> int:
        ...
    @mediaSize.setter
    def mediaSize(self, value: int) -> None:
        ...

    @property
    def mediaType(self) -> str:
        ...
    @mediaType.setter
    def mediaType(self, value: str) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for MachineMediaFile
        """
        ...


class MachineMediaRegistry(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MachineMediaRegistry'

    def __init__(self) -> None:
        """
        Default constructor for MachineMediaRegistry
        """
        ...


class MachineMonitor(MetricMonitor):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MachineMonitor'

    def __init__(self) -> None:
        ...


class MachineStatus(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def guiVisible(self) -> bool:
        ...

    @property
    def states(self) -> List[State]:
        ...

    @property
    def tUpdated(self) -> int:
        ...


class Manipulator(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class Manipulator3D(Manipulator):
    null: Self
    _classInfo: 'ClassInfo'

    def mouseDrag(self, state: int, startPos: Vec2, pos: Vec2) -> bool:
        """
        Move the object controlled by the gizmo
        """
        ...


class ManipulatorSelector(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class ManipulatorStack(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class ManualAlignmentPlan(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ManualAlignmentPlan'
    captureManualCalibrationObservation: Callable

    @property
    def alignmentData(self) -> AlignmentData:
        ...
    @alignmentData.setter
    def alignmentData(self, value: AlignmentData) -> None:
        ...

    @property
    def alignmentObjects(self) -> List[Object]:
        """
        Objects used as reference for manual alignment
        
        UserName: Alignment objects
        """
        ...
    @alignmentObjects.setter
    def alignmentObjects(self, value: List[Object]) -> None:
        ...

    @property
    def alignmentSettings(self) -> QuickAlignViewSettings:
        ...
    @alignmentSettings.setter
    def alignmentSettings(self, value: QuickAlignViewSettings) -> None:
        ...

    def deleteAlignmentPoint(self, camName: str) -> None:
        ...


class ManualCameraCalibrationObservation(CameraCalibrationObservation):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ManualCameraCalibrationObservation'

    @property
    def alignmentData(self) -> AlignmentData:
        ...
    @alignmentData.setter
    def alignmentData(self, value: AlignmentData) -> None:
        ...

    @property
    def alignmentObjects(self) -> List[Object]:
        ...
    @alignmentObjects.setter
    def alignmentObjects(self, value: List[Object]) -> None:
        ...

    @property
    def frame(self) -> DxTexture:
        ...

    @property
    def identifier(self) -> str:
        ...

    def distortPoint(self, coord: Vec2) -> Vec2:
        ...

    def getCameraMats(self) -> CameraMats:
        ...

    def loadFrame(self) -> None:
        ...

    def nPoints(self) -> int:
        ...

    def setAlignmentPoints(self, alignmentData: AlignmentData, alignmentObjects: List[Object]) -> None:
        ...

    def undistortPoint(self, coord: Vec2) -> Vec2:
        ...

    def updateTracking(self, config: SpatialCalibrationConfig) -> None:
        ...


class ManualIndirectionController(IndirectionController):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ManualIndirectionController'

    @property
    def selection(self) -> Resource:
        """
        UserName: Selection
        """
        ...
    @selection.setter
    def selection(self, value: Resource) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for ManualIndirectionController
        """
        ...


class Map(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class MappedMedia(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def isValid(self) -> bool:
        ...

    @property
    def locations(self) -> List[MappedMediaLocation]:
        ...
    @locations.setter
    def locations(self, value: List[MappedMediaLocation]) -> None:
        ...

    @property
    def resourcePath(self) -> Path:
        ...
    @resourcePath.setter
    def resourcePath(self, value: Path) -> None:
        ...

    @overload
    def __init__(self) -> None:
        """
        Default constructor for MappedMedia
        """
        ...

    @overload
    def __init__(self, other: MappedMedia) -> None:
        """
        Copy constructor for MappedMedia
        """
        ...


class MappedMediaDomain(Domain):
    null: Self
    _classInfo: 'ClassInfo'

    def exportResourceUsageToFile(self, mappedMedia: MappedMedia) -> bool:
        ...

    def findResourceUsage(self, resource: Resource) -> MappedMedia:
        ...

    def getMappedAudio(self, audioOut: LogicalAudioOutDevice) -> List[MappedMediaLocation]:
        ...

    def getMappedContent(self, projection: Projection) -> List[MappedMediaLocation]:
        ...

    def getMappedMediaOfType(self, reflectionType: Type, mappingType: int) -> List[MappedMediaLocation]:
        ...

    def resourceUsageExportPath(self, resourcePath: string_view) -> Path:
        ...


class MappedMediaDomainConnection(DomainConnection):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class MappedMediaLocation(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    ModuleConfig: Final = 2
    Sequencing: Final = 0
    Sockpuppet: Final = 1

    @property
    def contentBank(self) -> int:
        ...

    @property
    def contentBankSlot(self) -> int:
        ...

    @property
    def contentSequencingEnd(self) -> float:
        ...

    @property
    def contentSequencingStart(self) -> float:
        ...

    @property
    def description(self) -> str:
        ...

    @property
    def expectedNode(self) -> ClassNode:
        ...

    @property
    def layer(self) -> Layer:
        ...

    @property
    def mappedResource(self) -> Resource:
        ...

    @property
    def mappingType(self) -> int:
        ...

    @property
    def track(self) -> SuperTrack:
        ...


class MappedMediaLocationChange(Change):
    null: Self
    _classInfo: 'ClassInfo'


class MappedTypeAttribute(ReflectionAttributeT):
    null: Self
    _classInfo: 'ClassInfo'


class Mapping(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class MasterModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MasterBrightnessModule'

    def __init__(self) -> None:
        ...


class Mat(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def m00(self) -> float:
        """
        The (0, 0) component of the matrix
        
        UserName: M00
        """
        ...
    @m00.setter
    def m00(self, value: float) -> None:
        ...

    @property
    def m01(self) -> float:
        """
        The (0, 1) component of the matrix
        
        UserName: M01
        """
        ...
    @m01.setter
    def m01(self, value: float) -> None:
        ...

    @property
    def m02(self) -> float:
        """
        The (0, 2) component of the matrix
        
        UserName: M02
        """
        ...
    @m02.setter
    def m02(self, value: float) -> None:
        ...

    @property
    def m03(self) -> float:
        """
        The (0, 3) component of the matrix
        
        UserName: M03
        """
        ...
    @m03.setter
    def m03(self, value: float) -> None:
        ...

    @property
    def m10(self) -> float:
        """
        The (1, 0) component of the matrix
        
        UserName: M10
        """
        ...
    @m10.setter
    def m10(self, value: float) -> None:
        ...

    @property
    def m11(self) -> float:
        """
        The (1, 1) component of the matrix
        
        UserName: M11
        """
        ...
    @m11.setter
    def m11(self, value: float) -> None:
        ...

    @property
    def m12(self) -> float:
        """
        The (1, 2) component of the matrix
        
        UserName: M12
        """
        ...
    @m12.setter
    def m12(self, value: float) -> None:
        ...

    @property
    def m13(self) -> float:
        """
        The (1, 3) component of the matrix
        
        UserName: M13
        """
        ...
    @m13.setter
    def m13(self, value: float) -> None:
        ...

    @property
    def m20(self) -> float:
        """
        The (2, 0) component of the matrix
        
        UserName: M20
        """
        ...
    @m20.setter
    def m20(self, value: float) -> None:
        ...

    @property
    def m21(self) -> float:
        """
        The (2, 1) component of the matrix
        
        UserName: M21
        """
        ...
    @m21.setter
    def m21(self, value: float) -> None:
        ...

    @property
    def m22(self) -> float:
        """
        The (2, 2) component of the matrix
        
        UserName: M22
        """
        ...
    @m22.setter
    def m22(self, value: float) -> None:
        ...

    @property
    def m23(self) -> float:
        """
        The (2, 3) component of the matrix
        
        UserName: M23
        """
        ...
    @m23.setter
    def m23(self, value: float) -> None:
        ...

    @property
    def m30(self) -> float:
        """
        The (3, 0) component of the matrix
        
        UserName: M30
        """
        ...
    @m30.setter
    def m30(self, value: float) -> None:
        ...

    @property
    def m31(self) -> float:
        """
        The (3, 1) component of the matrix
        
        UserName: M31
        """
        ...
    @m31.setter
    def m31(self, value: float) -> None:
        ...

    @property
    def m32(self) -> float:
        """
        The (3, 2) component of the matrix
        
        UserName: M32
        """
        ...
    @m32.setter
    def m32(self, value: float) -> None:
        ...

    @property
    def m33(self) -> float:
        """
        The (3, 3) component of the matrix
        
        UserName: M33
        """
        ...
    @m33.setter
    def m33(self, value: float) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: Mat) -> None:
        """
        Copy constructor for Mat
        """
        ...

    @overload
    def __init__(self, origin: Vec, eulerAngles: Vec) -> None:
        ...

    @overload
    def __init__(self, origin: Vec, xAxis: Vec, yAxis: Vec, zAxis: Vec) -> None:
        ...

    def __eq__(self, m: Mat) -> bool:
        ...

    def __ne__(self, mat: Mat) -> bool:
        ...

    def __repr__(self) -> Any:
        """
        String representation of the Mat
        """
        ...

    def compose(self, m: Mat) -> Mat:
        ...

    def getRotation(self) -> Vec:
        ...

    def getScale(self) -> Vec:
        ...

    def getTranslation(self) -> Vec:
        ...

    def inverse(self) -> Mat:
        ...

    def perspectiveTransform(self, v: Vec) -> Vec:
        ...

    def setAxes(self, xAxis: Vec, yAxis: Vec, zAxis: Vec) -> Mat:
        ...

    def setRotation(self, eulerAngles: Vec) -> Mat:
        ...

    def setScale(self, scale: Vec) -> Mat:
        ...

    def setTranslation(self, v: Vec) -> Mat:
        ...

    def transform(self, v: Vec) -> Vec:
        ...

    def transformRect(self, r: Rect) -> Rect:
        ...

    def transpose(self) -> Mat:
        ...


class Material(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class MatroxSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        """
        Default constructor for MatroxSystem
        """
        ...

    def asynchronousMode(self, hardwareId: str) -> bool:
        ...

    def getCardInfoDisplay(self, hardwareId: str) -> str:
        ...

    def isClockSource(self, hardwareId: str) -> bool:
        ...

    def setAsynchronousMode(self, hardwareId: str, value: bool) -> None:
        ...

    def setClockSource(self, hardwareId: str) -> None:
        ...

    def useInputClock(self, hardwareId: str, value: bool) -> None:
        ...

    def usingInputClock(self, hardwareId: str) -> bool:
        ...


class MatroxThread(VideoInThread):
    null: Self
    _classInfo: 'ClassInfo'


class McAxisState(TrackingScalarState):
    null: Self
    _classInfo: 'ClassInfo'


class MeanColourComputeKernel(DxMaterial):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class Measurement(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Measurement'

    @property
    def obj1(self) -> Object:
        ...
    @obj1.setter
    def obj1(self, value: Object) -> None:
        ...

    @property
    def obj2(self) -> Object:
        ...
    @obj2.setter
    def obj2(self, value: Object) -> None:
        ...

    @property
    def vert1(self) -> int:
        ...
    @vert1.setter
    def vert1(self, value: int) -> None:
        ...

    @property
    def vert2(self) -> int:
        ...
    @vert2.setter
    def vert2(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for Measurement
        """
        ...


class MeasurementManipulator(Manipulator):
    null: Self
    _classInfo: 'ClassInfo'

    def dragMeasuringTape(self, state: int, startPos: Vec2, pos: Vec2) -> bool:
        """
        Create a measurement
        """
        ...

    def removeMeasurement(self) -> bool:
        """
        Remove a measurement
        """
        ...


class MeasurementSet(Object):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MeasurementSet'

    @property
    def measurements(self) -> List[Measurement]:
        """
        UserName: Measurements
        """
        ...
    @measurements.setter
    def measurements(self, value: List[Measurement]) -> None:
        ...

    def __init__(self) -> None:
        ...


class MediaFileHeader(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MediaFileHeader'

    def __init__(self) -> None:
        ...


class MediaInfo(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class MediaInfoDomain(Domain):
    null: Self
    _classInfo: 'ClassInfo'


class MediaInfoDomainConnection(DomainConnection):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class MediaManager(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...

    def getMediaSize(self, filename: str) -> int:
        ...


class MediaManagerFile(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class MediaTypes(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    get: Callable

    def isExternalMedia(self, arg0: Type) -> bool:
        ...

    def mediaTypes(self) -> List[Type]:
        ...


class MemoryWatcher(_BlipValue):
    """
    Singleton class to run Heap checks etc.
    
    By default, if "isDeveloper" is set, basic heap consistency check is run
    at the beginning of every frame.
    """

    null: Self
    _classInfo: 'ClassInfo'
    get: Callable

    @property
    def fullHeapCheckOnFrameStart(self) -> bool:
        ...
    @fullHeapCheckOnFrameStart.setter
    def fullHeapCheckOnFrameStart(self, value: bool) -> None:
        ...

    @property
    def heapCheckFineGrained(self) -> bool:
        ...
    @heapCheckFineGrained.setter
    def heapCheckFineGrained(self, value: bool) -> None:
        ...

    @property
    def heapCheckOnFrameStart(self) -> bool:
        ...
    @heapCheckOnFrameStart.setter
    def heapCheckOnFrameStart(self, value: bool) -> None:
        ...

    def heapConsistencyCheck(self, location: str) -> bool:
        ...

    def heapIntegrityCheck(self, location: str) -> bool:
        ...


class Mesh(Node):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Mesh'

    @property
    def animationDuration(self) -> float:
        ...

    @property
    def animationPositionSec(self) -> float:
        ...
    @animationPositionSec.setter
    def animationPositionSec(self, value: float) -> None:
        ...

    @property
    def centroid(self) -> Vec:
        ...

    @property
    def extent(self) -> Any:
        """
        return a tuple of (min, max) points representing the extents of the mesh
        """
        ...

    @property
    def materials(self) -> List[DxMaterial]:
        ...
    @materials.setter
    def materials(self, value: List[DxMaterial]) -> None:
        ...

    @property
    def nodes(self) -> List[Node]:
        ...
    @nodes.setter
    def nodes(self, value: List[Node]) -> None:
        ...

    @property
    def triangles(self) -> List[Triangle]:
        ...
    @triangles.setter
    def triangles(self, value: List[Triangle]) -> None:
        ...

    @property
    def vertNormalVisualiser(self) -> VertNormalVisualiser:
        ...
    @vertNormalVisualiser.setter
    def vertNormalVisualiser(self, value: VertNormalVisualiser) -> None:
        ...

    @property
    def verts(self) -> List[Vert]:
        ...
    @verts.setter
    def verts(self, value: List[Vert]) -> None:
        ...

    def exportMesh(self, path: Path, normalise: int, toWorld: Mat) -> bool:
        ...

    def hasBoneInfo(self) -> bool:
        ...

    def renderTriBuffer(self, type: int, mtl: DxMaterial) -> None:
        ...

    def renderTriBufferSetup(self) -> None:
        ...

    def updateMesh(self) -> None:
        ...


class MeshFromObj(Mesh):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MeshFromObj'

    @property
    def flip_U(self) -> int:
        """
        Options: {0: 'No', 1: 'Yes'}
        UserName: Flip U
        """
        ...
    @flip_U.setter
    def flip_U(self, value: int) -> None:
        ...

    @property
    def flip_V(self) -> int:
        """
        Options: {0: 'No', 1: 'Yes'}
        UserName: Flip V
        """
        ...
    @flip_V.setter
    def flip_V(self, value: int) -> None:
        ...

    @property
    def swap_U_V(self) -> int:
        """
        Options: {0: 'No', 1: 'Yes'}
        UserName: Swap U/V
        """
        ...
    @swap_U_V.setter
    def swap_U_V(self, value: int) -> None:
        ...

    @property
    def useFileNormals(self) -> int:
        """
        Options: {0: 'No', 1: 'Yes'}
        UserName: Use Normals from OBJ
        """
        ...
    @useFileNormals.setter
    def useFileNormals(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class MeshFromScene(Mesh):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MeshFromScene'

    @property
    def center(self) -> Vec:
        ...

    @property
    def duration(self) -> float:
        ...

    @property
    def meshcount(self) -> int:
        ...

    @property
    def particlecount(self) -> int:
        ...

    @property
    def polycount(self) -> int:
        ...

    @property
    def scenesize(self) -> Vec:
        ...

    @property
    def time(self) -> float:
        ...

    @property
    def vertcount(self) -> int:
        ...


class MeshInfo(MediaInfo):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def centroid(self) -> Vec:
        ...
    @centroid.setter
    def centroid(self, value: Vec) -> None:
        ...

    @property
    def extentsMax(self) -> Vec:
        ...
    @extentsMax.setter
    def extentsMax(self, value: Vec) -> None:
        ...

    @property
    def extentsMin(self) -> Vec:
        ...
    @extentsMin.setter
    def extentsMin(self, value: Vec) -> None:
        ...

    @property
    def triangles(self) -> int:
        ...
    @triangles.setter
    def triangles(self, value: int) -> None:
        ...

    @property
    def vertices(self) -> int:
        ...
    @vertices.setter
    def vertices(self, value: int) -> None:
        ...


class MeshProjection(Projection):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Mesh'

    @property
    def actualFoVs(self) -> Vec2:
        ...

    @property
    def debugViewType(self) -> int:
        ...
    @debugViewType.setter
    def debugViewType(self, value: int) -> None:
        ...

    @property
    def eye_point(self) -> Vec:
        """
        Position the 3D scene is rendered from
        
        UserName: Eyepoint
        """
        ...
    @eye_point.setter
    def eye_point(self, value: Vec) -> None:
        ...

    @property
    def followCamera(self) -> bool:
        """
        Eyepoint follows the position of any MR set or camera added to displays
        
        UserName: Follow camera
        """
        ...
    @followCamera.setter
    def followCamera(self, value: bool) -> None:
        ...

    @property
    def idealFoVs(self) -> Vec2:
        ...

    @property
    def initialRotationCentre(self) -> Vec:
        ...

    @property
    def mappingResolutionScale(self) -> float:
        """
        Scale of mapped content, relative to screen resolution
        
        UserName: Mapping resolution scale
        """
        ...
    @mappingResolutionScale.setter
    def mappingResolutionScale(self, value: float) -> None:
        ...

    @property
    def renderResolutionScale(self) -> float:
        """
        Scale of rendered RenderStream content (before perspective warp), relative to mapping resolution
        
        UserName: Render resolution scale
        """
        ...
    @renderResolutionScale.setter
    def renderResolutionScale(self, value: float) -> None:
        ...

    @property
    def rollRateLimit(self) -> float:
        """
        Maximum rate of change of viewpoint roll offset, in deg/s.
        Decrease to make viewpoint changes smoother, increase to make changes more responsive.
        
        UserName: Roll rate limit
        """
        ...
    @rollRateLimit.setter
    def rollRateLimit(self, value: float) -> None:
        ...

    @property
    def rotationCentre(self) -> Vec:
        ...

    @property
    def sceneOrigin(self) -> SceneOrigin:
        """
        Origin of the rendered scene relative to the stage
        
        UserName: Scene origin
        """
        ...
    @sceneOrigin.setter
    def sceneOrigin(self, value: SceneOrigin) -> None:
        ...

    @property
    def zFar(self) -> float:
        """
        The distance of the far plane in the render frustum.
        
        UserName: Far clipping plane
        """
        ...
    @zFar.setter
    def zFar(self, value: float) -> None:
        ...

    @property
    def zNear(self) -> float:
        """
        The distance of the near plane in the render frustum.
        
        UserName: Near clipping plane
        """
        ...
    @zNear.setter
    def zNear(self, value: float) -> None:
        ...

    def cameraInDisplays(self) -> bool:
        ...

    def renderDebugView(self, resolution: Vec2) -> DxTexture:
        ...

    def setDebugging(self, b: bool) -> None:
        ...


class MeshProjectionObject(ProjectionObject):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MeshProjectionObject'

    def __init__(self) -> None:
        """
        Default constructor for MeshProjectionObject
        """
        ...


class MeshProjectionWarper(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class MeshUnion(Mesh):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MeshUnion'

    @property
    def sources(self) -> List[Object]:
        ...
    @sources.setter
    def sources(self, value: List[Object]) -> None:
        ...

    def __init__(self) -> None:
        ...


class Message(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self) -> None:
        """
        Default constructor for Message
        """
        ...

    @overload
    def __init__(self, other: Message) -> None:
        """
        Copy constructor for Message
        """
        ...


class MessageBus(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def addHandler(self, arg0: IMessageHandler) -> None:
        ...

    def removeHandler(self, arg0: IMessageHandler) -> None:
        ...

    def sendMessage(self, message: Message) -> None:
        ...


class MessageReceivedData(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def clear(self) -> bool:
        ...
    @clear.setter
    def clear(self, value: bool) -> None:
        ...

    @property
    def detail(self) -> str:
        ...
    @detail.setter
    def detail(self, value: str) -> None:
        ...

    @property
    def isNew(self) -> bool:
        ...
    @isNew.setter
    def isNew(self, value: bool) -> None:
        ...

    @property
    def message(self) -> ExceptionMessage:
        ...


class MessageSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def messageBus(self) -> MessageBus:
        ...

    def __init__(self) -> None:
        ...


class MetaField(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MetaField'
    get: Callable

    @property
    def className(self) -> str:
        ...

    @property
    def damping(self) -> float:
        """
        UserName: Damping
        """
        ...
    @damping.setter
    def damping(self, v: float) -> None:
        ...

    @property
    def displayName(self) -> str:
        ...
    @displayName.setter
    def displayName(self, value: str) -> None:
        ...

    @property
    def edited(self) -> bool:
        ...
    @edited.setter
    def edited(self, value: bool) -> None:
        ...

    @property
    def fieldName(self) -> str:
        ...
    @fieldName.setter
    def fieldName(self, value: str) -> None:
        ...

    @property
    def max(self) -> float:
        """
        UserName: Maximum
        """
        ...
    @max.setter
    def max(self, value: float) -> None:
        ...

    @property
    def min(self) -> float:
        """
        UserName: Minimum
        """
        ...
    @min.setter
    def min(self, value: float) -> None:
        ...

    @property
    def step(self) -> float:
        """
        UserName: Step
        """
        ...
    @step.setter
    def step(self, value: float) -> None:
        ...

    def set(self, min: float, max: float, step: float) -> None:
        ...


class MetaFieldPopulateArgs(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class MethodInfo(ReflectionAttributeContainer):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def argTypes(self) -> TCallArgs[Type]:
        ...

    @property
    def returnType(self) -> Type:
        ...

    def __call__(self, inst: ReflectionValue, args: TCallArgs[ReflectionValue]) -> ReflectionValue:
        ...


class MetricGraphCategories(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    categories: Callable


class MetricMonitor(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MetricMonitor'
    togglePause: Callable

    @property
    def expired(self) -> bool:
        ...
    @expired.setter
    def expired(self, value: bool) -> None:
        ...

    @property
    def name(self) -> str:
        ...
    @name.setter
    def name(self, name: str) -> None:
        ...

    @property
    def pollInterval(self) -> float:
        """
        UserName: Poll interval
        """
        ...
    @pollInterval.setter
    def pollInterval(self, value: float) -> None:
        ...

    @property
    def pollUnits(self) -> int:
        """
        Options: {0: 'Frames', 1: 'Seconds', 2: 'Minutes', 3: 'Hours'}
        UserName: Poll units
        """
        ...
    @pollUnits.setter
    def pollUnits(self, value: int) -> None:
        ...

    @property
    def title(self) -> str:
        ...

    @property
    def xZoom(self) -> float:
        """
        UserName: Zoom
        """
        ...
    @xZoom.setter
    def xZoom(self, value: float) -> None:
        ...

    def addSample(self, idx: int, sample: float) -> None:
        ...

    def addSeries(self, title: str, bufferSize: int, colour: Colour, mode: int) -> int:
        ...

    def clearData(self) -> None:
        ...

    def dumpDataToDisk(self, folder: str) -> None:
        ...

    def graphDescriptor(self, returnSnapshotIfPaused: bool) -> GraphDescriptor:
        ...

    def nSeries(self) -> int:
        ...

    def paused(self) -> bool:
        ...

    def seriesAverage(self, title: str, nSamples: int) -> float:
        ...

    def seriesAverageByIndex(self, idx: int, nSamples: int) -> float:
        ...


class MidiBeatClockState(IDataState):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def bpm(self) -> float:
        ...

    @property
    def iBeat(self) -> float:
        ...

    @property
    def running(self) -> bool:
        ...

    @property
    def song(self) -> int:
        ...

    @property
    def startedThisFrame(self) -> bool:
        ...

    @property
    def tStart(self) -> float:
        ...


class MidiControlSet(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MidiControlSet'

    @property
    def controls(self) -> List[MidiControlSetEntry]:
        """
        UserName: Controls
        """
        ...
    @controls.setter
    def controls(self, value: List[MidiControlSetEntry]) -> None:
        ...

    @property
    def type(self) -> int:
        """
        Options: {0: 'Dial', 1: 'Slider', 2: 'CC Button', 3: 'Keys', 4: 'Dial/button', 5: 'Pitch bend', 6: 'Note button'}
        UserName: Type
        """
        ...
    @type.setter
    def type(self, value: int) -> None:
        ...

    def nObjects(self) -> int:
        ...

    def object(self, i: int) -> MidiControlSetEntry:
        ...


class MidiControlSetEntry(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MidiControlSetEntry'

    @property
    def ccNumber(self) -> int:
        ...
    @ccNumber.setter
    def ccNumber(self, ccNumber: int) -> None:
        ...

    @property
    def cc_number(self) -> int:
        """
        UserName: CC number
        """
        ...
    @cc_number.setter
    def cc_number(self, value: int) -> None:
        ...

    @property
    def midiChannel(self) -> int:
        ...
    @midiChannel.setter
    def midiChannel(self, midiChannel: int) -> None:
        ...

    @property
    def midi_channel(self) -> int:
        """
        Options: {0: 'As Device', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5', 6: '6', 7: '7', 8: '8', 9: '9', 10: '10', 11: '11', 12: '12', 13: '13', 14: '14', 15: '15', 16: '16'}
        UserName: MIDI channel
        """
        ...
    @midi_channel.setter
    def midi_channel(self, value: int) -> None:
        ...


class MidiControllerState(IDataState):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def channel(self) -> int:
        ...

    @property
    def controllerNumber(self) -> int:
        ...

    @property
    def getValue(self) -> int:
        ...

    @property
    def tChanged(self) -> float:
        ...

    def __init__(self, other: MidiControllerState) -> None:
        """
        Copy constructor for MidiControllerState
        """
        ...


class MidiDevice(Device):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MidiDevice'

    @property
    def controlVals(self) -> List[int]:
        ...
    @controlVals.setter
    def controlVals(self, value: List[int]) -> None:
        ...

    @property
    def control_sets(self) -> List[MidiControlSet]:
        """
        UserName: Control sets
        """
        ...
    @control_sets.setter
    def control_sets(self, value: List[MidiControlSet]) -> None:
        ...

    @property
    def damping(self) -> float:
        """
        UserName: Damping
        """
        ...
    @damping.setter
    def damping(self, value: float) -> None:
        ...

    @property
    def iChanIn(self) -> int:
        ...
    @iChanIn.setter
    def iChanIn(self, chan: int) -> None:
        ...

    @property
    def iChanOut(self) -> int:
        ...
    @iChanOut.setter
    def iChanOut(self, chan: int) -> None:
        ...

    @property
    def iControlToAddress(self) -> List[int]:
        ...
    @iControlToAddress.setter
    def iControlToAddress(self, value: List[int]) -> None:
        ...

    @property
    def io_mode(self) -> int:
        """
        Options: {0: 'In', 1: 'Out', 2: 'Bidirectional'}
        UserName: IO mode
        """
        ...
    @io_mode.setter
    def io_mode(self, value: int) -> None:
        ...

    @property
    def midiIn(self) -> MidiIn:
        ...

    @property
    def midiInName(self) -> str:
        ...
    @midiInName.setter
    def midiInName(self, midiInName: str) -> None:
        ...

    @property
    def midiOut(self) -> MidiOut:
        ...

    @property
    def midiOutName(self) -> str:
        ...
    @midiOutName.setter
    def midiOutName(self, midiOutName: str) -> None:
        ...

    @property
    def midi_in(self) -> str:
        """
        UserName: MIDI in
        """
        ...
    @midi_in.setter
    def midi_in(self, value: str) -> None:
        ...

    @property
    def midi_in_channel(self) -> int:
        """
        Options: {1: '1', 2: '2', 3: '3', 4: '4', 5: '5', 6: '6', 7: '7', 8: '8', 9: '9', 10: '10', 11: '11', 12: '12', 13: '13', 14: '14', 15: '15', 16: '16'}
        UserName: MIDI in channel
        """
        ...
    @midi_in_channel.setter
    def midi_in_channel(self, value: int) -> None:
        ...

    @property
    def midi_out(self) -> str:
        """
        UserName: MIDI out
        """
        ...
    @midi_out.setter
    def midi_out(self, value: str) -> None:
        ...

    @property
    def midi_out_channel(self) -> int:
        """
        Options: {1: '1', 2: '2', 3: '3', 4: '4', 5: '5', 6: '6', 7: '7', 8: '8', 9: '9', 10: '10', 11: '11', 12: '12', 13: '13', 14: '14', 15: '15', 16: '16'}
        UserName: MIDI out channel
        """
        ...
    @midi_out_channel.setter
    def midi_out_channel(self, value: int) -> None:
        ...

    def controlChanged(self, iControl: int) -> bool:
        ...

    def controlSet(self, i: int) -> MidiControlSet:
        ...

    def controlVal(self, iControl: int) -> int:
        ...

    def forceControl(self, iControl: int, val: int) -> None:
        ...

    def getControllerState(self, iControl: int) -> MidiControllerState:
        ...

    def getLastChangedControllerState(self) -> MidiControllerState:
        ...

    def getLastChangedNoteOnState(self) -> MidiNoteState:
        ...

    def getNoteState(self, iControl: int) -> MidiNoteState:
        ...

    def nControlSets(self) -> int:
        ...

    def nControls(self) -> int:
        ...

    def setControl(self, command: int, iControl: int, val: int) -> None:
        ...


class MidiIn(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def deviceName(self) -> str:
        ...

    @property
    def name(self) -> str:
        ...

    def findChangedControllerAddressSince(self, tActual: float) -> int:
        ...

    def findChangedNoteOnAddressSince(self, tActual: float) -> int:
        ...


class MidiNoteModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MidiNoteModule'

    @property
    def channel(self) -> int:
        """
        UserName: Channel (1-base)
        """
        ...
    @channel.setter
    def channel(self, value: int) -> None:
        ...

    @property
    def device(self) -> int:
        """
        UserName: Device
        """
        ...
    @device.setter
    def device(self, value: int) -> None:
        ...

    @property
    def duration(self) -> float:
        """
        UserName: Duration
        """
        ...
    @duration.setter
    def duration(self, value: float) -> None:
        ...

    @property
    def note(self) -> int:
        """
        The integer value of the note to send. The valid range is 0 - 127. Outside of this, no message will be sent.
        
        UserName: Note
        """
        ...
    @note.setter
    def note(self, value: int) -> None:
        ...

    @property
    def velocity(self) -> int:
        """
        UserName: Velocity
        """
        ...
    @velocity.setter
    def velocity(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class MidiNoteState(IDataState):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def aftertouch(self) -> bool:
        ...

    @property
    def channel(self) -> int:
        ...

    @property
    def getValue(self) -> int:
        ...

    @property
    def noteNumber(self) -> int:
        ...

    @property
    def noteOn(self) -> bool:
        ...

    def __init__(self, other: MidiNoteState) -> None:
        """
        Copy constructor for MidiNoteState
        """
        ...


class MidiOut(Thread):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def deviceName(self) -> str:
        ...

    @property
    def name(self) -> str:
        """
        The name of the MidiOut thread
        """
        ...


class MidiPatchChangeState(IDataState):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def getPatchNumber(self) -> int:
        ...


class MidiPitchBendState(IDataState):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def getValue(self) -> int:
        ...


class MidiSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def midiIns(self) -> List[MidiIn]:
        ...

    @property
    def midiOuts(self) -> List[MidiOut]:
        ...

    def __init__(self) -> None:
        ...


class MipmappedMaskTexture(DxTexture):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MipmappedMaskTexture'

    def __init__(self) -> None:
        ...


class MissingMediaDomain(Domain):
    null: Self
    _classInfo: 'ClassInfo'
    Filter_AllowAll: Final = 1
    Filter_AllowLocalOrNonEditors: Final = 0

    def notFound(self, filter: int) -> List[NotFoundMedia]:
        ...

    def notFoundMedia(self, filter: int) -> List[NotFoundMediaMachineInfo]:
        ...

    def notFoundMediaSize(self, filter: int) -> int:
        ...

    def syncMissingMedia(self, filename: str, filter: int) -> None:
        ...


class MissingMediaDomainConnection(DomainConnection):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...

    def setDirty(self) -> None:
        ...


class MixedRealitySet(CameraTallyDisplay):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MixedRealitySet'

    @property
    def _cameraOverride(self) -> Camera:
        ...
    @_cameraOverride.setter
    def _cameraOverride(self, value: Camera) -> None:
        ...

    @property
    def activeCamera(self) -> Camera:
        ...

    @property
    def calibrationLuts(self) -> List[CalibrationLutMapping]:
        ...
    @calibrationLuts.setter
    def calibrationLuts(self, value: List[CalibrationLutMapping]) -> None:
        ...

    @property
    def cameraOverride(self) -> Camera:
        """
        Overrides the controller so that this selected camera is always used.
        
        Category: Settings
        UserName: Camera override
        """
        ...
    @cameraOverride.setter
    def cameraOverride(self, value: Camera) -> None:
        ...

    @property
    def onStageObjects(self) -> List[Object]:
        """
        The on-stage, physically present objects that will be used as the immediate backdrop behind live action in the MR effect.
        They receive the forced perspective effect, if possible.
        Areas not covered by these objects in the camera view are masked out and replaced with set extension, if it is enabled.
        
        Category: Settings
        UserName: On-stage
        """
        ...
    @onStageObjects.setter
    def onStageObjects(self, value: List[Object]) -> None:
        ...

    @property
    def setExtensionMesh(self) -> Mesh:
        """
        Add a mesh here that extends the virtual set beyond the edges of the physical LED set.
        This can be used to correct spatial reprojection discontinuities at the edges of the physical set.
        
        Category: Settings
        UserName: Set extension mesh
        """
        ...
    @setExtensionMesh.setter
    def setExtensionMesh(self, value: Mesh) -> None:
        ...


class MoSysF4Driver(UdpReceiverDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MoSysF4Driver'

    @property
    def enablePacketTimingGraph(self) -> bool:
        """
        Log incoming packet times to a graph
        
        UserName: Enable packet timing graph
        """
        ...
    @enablePacketTimingGraph.setter
    def enablePacketTimingGraph(self, value: bool) -> None:
        ...

    def __init__(self) -> None:
        ...


class MobileCam(_BlipValue):
    """
    Everything we know about a specific remote d3cam mobile device instance
    """

    null: Self
    _classInfo: 'ClassInfo'
    modeNamesAuto1: List[str]
    modeNamesAuto2: List[str]
    modeNamesAuto3: List[str]
    modeNamesLensPosComp: List[str]

    @property
    def appBuild(self) -> str:
        ...

    @property
    def appVersion(self) -> int:
        ...

    @property
    def caps(self) -> CamCaps:
        ...

    @property
    def capturedImage(self) -> DxTexture:
        ...

    @property
    def data(self) -> MobileCamData:
        ...

    @property
    def exif(self) -> ExifData:
        ...

    @property
    def fieldOfView(self) -> Vec2:
        ...

    @property
    def id(self) -> str:
        ...

    @property
    def intrinsicLocked(self) -> bool:
        ...
    @intrinsicLocked.setter
    def intrinsicLocked(self, value: bool) -> None:
        ...

    @property
    def intrinsicPath(self) -> str:
        ...

    @property
    def intrinsicValid(self) -> bool:
        ...

    @property
    def ipAddress(self) -> str:
        ...

    @property
    def isEnabled(self) -> int:
        ...
    @isEnabled.setter
    def isEnabled(self, value: int) -> None:
        ...

    @property
    def isReceivingStats(self) -> bool:
        ...

    @property
    def isSaveImages(self) -> bool:
        ...

    @property
    def isSendRgbImages(self) -> bool:
        ...

    @property
    def licenseMethod(self) -> int:
        ...

    @property
    def model(self) -> str:
        ...

    @property
    def nAcks(self) -> int:
        ...

    @property
    def name(self) -> str:
        ...

    @property
    def params(self) -> CamParams:
        ...

    @property
    def receivedAcks(self) -> bool:
        ...

    @property
    def resolution(self) -> Int2:
        ...

    @property
    def stats(self) -> MVCameraStatsDisplay:
        ...

    @property
    def status(self) -> str:
        ...

    @property
    def tLastAreaChange(self) -> float:
        ...

    @property
    def tLastSeenAlive(self) -> float:
        ...


class MobileCamData(_BlipValue):
    """
    Data describing a mobile device with a camera, e.g. iPod.
    """

    null: Self
    _classInfo: 'ClassInfo'

    @property
    def appBuild(self) -> str:
        ...

    @property
    def appVersion(self) -> int:
        ...

    @property
    def id(self) -> str:
        ...

    @property
    def isSaveImages(self) -> bool:
        ...

    @property
    def isSendRgbImages(self) -> bool:
        ...

    @property
    def model(self) -> str:
        ...

    @property
    def name(self) -> str:
        ...

    @property
    def sensorPreset(self) -> int:
        ...

    def __init__(self, arg0: MobileCamData) -> None:
        ...

    def focalLengthSafe(self) -> float:
        ...


class MobileCamPair(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MobileCamPair'

    def __init__(self) -> None:
        """
        Default constructor for MobileCamPair
        """
        ...


class MobileCameraCommunication(CameraCommunication):
    """
    Manages network communication with mobile cameras
    """

    null: Self
    _classInfo: 'ClassInfo'

    @property
    def iFrameSendIdRequest(self) -> int:
        ...
    @iFrameSendIdRequest.setter
    def iFrameSendIdRequest(self, value: int) -> None:
        ...

    def disconnectAllCameras(self) -> None:
        ...

    def enableCameraStats(self, cam: MobileCam, enable: bool) -> None:
        ...

    def enableCameraStatsAll(self, enable: bool) -> None:
        ...

    def getUnlicensedCameras(self) -> List[MobileCam]:
        ...

    def isReceivingStats(self, cam: MobileCam) -> bool:
        ...

    def sendCaptureOutputImagePng(self, cam: MobileCam) -> bool:
        ...

    def sendCaptureOutputImageRaw(self, cam: MobileCam) -> bool:
        ...

    def sendSetCameraAuto(self, cam: MobileCam, mode: int, poi: Vec2) -> bool:
        ...

    def sendSetExposure(self, cam: MobileCam, exposureDur: float, iso: float, poi: Vec2) -> bool:
        ...

    def sendSetExposureTarget(self, cam: MobileCam, exposureTarget: float) -> bool:
        ...

    def sendSetFocalLength(self, cam: MobileCam, focalLength: float) -> bool:
        ...

    def sendSetLensPos(self, cam: MobileCam, normalisedLensPos: float, poi: Vec2) -> bool:
        ...

    def sendSetLensPosCompensation(self, cam: MobileCam, compMode: int) -> bool:
        ...

    def sendSetPointOfInterest(self, cam: MobileCam, poi: Vec2) -> bool:
        ...

    def sendSetSendRgbImages(self, cam: MobileCam, onOff: bool) -> bool:
        ...

    def sendSetWhiteBalance(self, cam: MobileCam, wbRgbGains: Vec) -> bool:
        ...

    def serialLicenseCamCount(self) -> int:
        ...


class MobileCameraReference(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MobileCameraReference'

    @property
    def id(self) -> str:
        ...
    @id.setter
    def id(self, value: str) -> None:
        ...

    @property
    def name(self) -> str:
        ...
    @name.setter
    def name(self, value: str) -> None:
        ...


class Module(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Module'

    @property
    def blendMode(self) -> int:
        """
        Controls how the module composites its output with layers below it
        
        Options: {0: 'Over', 1: 'Alpha', 2: 'Add', 3: 'Multiply', 4: 'Mask', 5: 'Multiply-fade', 6: 'Multiply-alpha', 7: 'Premult-Alpha', 8: 'Screen', 9: 'Overlay', 10: 'Hard Light', 11: 'Soft Light', 12: 'Colour Burn', 13: 'Darken', 14: 'Lighten', 15: 'Difference', 16: 'Exclusion', 17: 'Colour Dodge', 18: 'Hard Mix', 19: 'Over-alpha', 20: 'Luma-Matte', 21: 'Inv-Luma-Matte'}
        Category: Default
        UserName: Blend mode
        """
        ...
    @blendMode.setter
    def blendMode(self, b: int) -> None:
        ...

    @property
    def brightness(self) -> float:
        """
        Controls the brightness of the module. If the module is on alpha mode then zero brightness means fully transparent
        
        Category: Default
        UserName: Brightness
        """
        ...
    @brightness.setter
    def brightness(self, value: float) -> None:
        ...

    @property
    def canvas(self) -> DxTexture:
        ...

    @property
    def canvasSize(self) -> Vec2:
        ...

    @property
    def colour(self) -> Colour:
        ...

    @property
    def forceTint(self) -> Colour:
        ...
    @forceTint.setter
    def forceTint(self, c: Colour) -> None:
        ...

    @property
    def isExternalControl(self) -> bool:
        ...

    @property
    def isGraphical(self) -> bool:
        ...

    @property
    def isInternalControl(self) -> bool:
        ...

    @property
    def isRendering(self) -> bool:
        ...

    @property
    def layer(self) -> Layer:
        ...

    @property
    def mapping(self) -> Projection:
        """
        Controls which screens receive the content of the module and the mapping technique used
        
        Category: Default
        UserName: Mapping
        """
        ...
    @mapping.setter
    def mapping(self, value: Projection) -> None:
        ...

    @property
    def moduleConfigObject(self) -> ModuleConfig:
        ...

    @property
    def needsPreview(self) -> bool:
        ...

    @property
    def ocioInputSpace(self) -> OcioColourSpace:
        ...

    @property
    def ownCanvas(self) -> bool:
        ...

    @property
    def palette(self) -> DxTexture:
        """
        Bitmap from which palette colours (tints) are read
        
        Category: Default
        UserName: Palette
        """
        ...
    @palette.setter
    def palette(self, palette: DxTexture) -> None:
        ...

    @property
    def tint(self) -> Colour:
        """
        Category: Default
        UserName: Tint
        """
        ...
    @tint.setter
    def tint(self, value: Colour) -> None:
        ...

    @property
    def xCol(self) -> float:
        """
        Horizontal lookup position within the palette. 0 is left, 1 is right
        
        Category: Default
        UserName: Colour X
        """
        ...
    @xCol.setter
    def xCol(self, value: float) -> None:
        ...

    @property
    def yCol(self) -> float:
        """
        Vertical lookup position within the palette. 0 is top, 1 is bottom
        
        Category: Default
        UserName: Colour Y
        """
        ...
    @yCol.setter
    def yCol(self, value: float) -> None:
        ...

    def defaultResourceSequence(self) -> str:
        ...

    def getPersonality(self) -> SockpuppetPersonality:
        ...

    def nSourceModules(self) -> int:
        ...

    def renderPreview(self, drawRect: Rect, colour: Colour, showAlpha: bool, inGuiColourSpace: bool) -> None:
        ...

    def resourceDuration(self, sequenceName: str) -> float:
        ...

    def resourceDurationDescription(self, sequenceName: str) -> str:
        ...

    def sourceName(self, i: int) -> str:
        ...


class ModuleConfig(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ModuleConfig'

    def __init__(self) -> None:
        """
        Default constructor for ModuleConfig
        """
        ...


class ModuleEventLogger(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class MonitoringGroup(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class MonitoringManager(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def searchString(self) -> str:
        ...
    @searchString.setter
    def searchString(self, value: str) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for MonitoringManager
        """
        ...

    def clearAllMonitors(self) -> None:
        ...

    def dumpDataToDisk(self, folder: str) -> None:
        ...

    def dumpSelectionToDisk(self, folder: str, monitors: List[MetricMonitor]) -> None:
        ...

    def findLocalMonitor(self, name: str) -> MetricMonitor:
        ...

    def findOrCreateLocalMonitor(self, path: Path, type: Type) -> MetricMonitor:
        ...

    def findRemoteMonitor(self, nodeName: str, monitorName: str) -> MetricMonitor:
        ...

    def localMonitors(self) -> MonitorCollection[MetricMonitor]:
        ...

    def preserveExpiredGraphs(self) -> bool:
        ...

    def remoteMetricMonitorsForNode(self, nodeName: str) -> MonitorCollection[RemoteMonitor]:
        ...

    def remoteMonitors(self) -> MonitorCollection[RemoteMonitor]:
        ...

    def remoteNodes(self) -> List[str]:
        ...

    def useMonitor(self, remoteMonitor: RemoteMonitor, isInUse: bool) -> None:
        ...

    def useMonitorByName(self, nodeName: str, monitorName: str, isInUse: bool) -> None:
        ...


class MotionBlurModule(ProjectionAwareModule):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MotionBlurModule'

    @property
    def blur_amount(self) -> float:
        """
        UserName: Blur amount
        """
        ...
    @blur_amount.setter
    def blur_amount(self, value: float) -> None:
        ...

    @property
    def source(self) -> ContentSource:
        """
        UserName: Source
        """
        ...
    @source.setter
    def source(self, value: ContentSource) -> None:
        ...

    def __init__(self) -> None:
        ...


class Mouse(OsDevice):
    null: Self
    _classInfo: 'ClassInfo'
    Left: Final = 0
    Middle: Final = 2
    Right: Final = 1
    Scroll: Final = -1

    @property
    def scrollWheelMove(self) -> int:
        ...

    @property
    def x(self) -> int:
        ...

    @property
    def xMove(self) -> int:
        ...

    @property
    def y(self) -> int:
        ...

    @property
    def yMove(self) -> int:
        ...

    def lockToPosition(self, onOff: bool) -> None:
        ...


class MouseClickManipulatorSelector(ManipulatorSelector):
    null: Self
    _classInfo: 'ClassInfo'

    def selectManipulator(self) -> None:
        ...


class MouseCursor(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    CursorAddRefPoint: Final = 16
    CursorArrow: Final = 1
    CursorCrossHair: Final = 5
    CursorHand: Final = 2
    CursorIBeam: Final = 14
    CursorInkDropper: Final = 17
    CursorNavDolly: Final = 8
    CursorNavRotate: Final = 6
    CursorNavTrack: Final = 7
    CursorNo: Final = 3
    CursorNoDrop: Final = 15
    CursorNone: Final = 0
    CursorSizeAll: Final = 9
    CursorSizeNESW: Final = 13
    CursorSizeNS: Final = 11
    CursorSizeNWSE: Final = 12
    CursorSizeWE: Final = 10
    CursorWait: Final = 4
    set: Callable


class MouseDragManipulatorSelector(ManipulatorSelector):
    null: Self
    _classInfo: 'ClassInfo'

    def selectManipulator(self, state: int, startPos: Vec2, pos: Vec2) -> None:
        ...


class MouseScrollManipulatorSelector(ManipulatorSelector):
    null: Self
    _classInfo: 'ClassInfo'

    def selectManipulator(self, scrollAmount: float) -> None:
        ...


class MoveAIDriver(GrpcReceiverDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MoveAIDriver'

    @property
    def createTrackedPoints(self) -> bool:
        """
        Create tracked points for each skeleton joint position
        
        UserName: Create tracked points
        """
        ...
    @createTrackedPoints.setter
    def createTrackedPoints(self, value: bool) -> None:
        ...


class MoveCatDriver(UdpReceiverDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MoveCatDriver'

    def __init__(self) -> None:
        ...


class MovieWriter(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'
    FeedMovie: Final = 0
    StageMovie: Final = 1
    instance: Callable
    restrictedSize: Callable

    @property
    def isWriting(self) -> bool:
        ...

    def __init__(self) -> None:
        ...

    def requestWrite(self, pathNoExt: Path, mode: int, t0: float, t1: float) -> None:
        ...


class MovingHeadLedDriver(DmxDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MovingHeadLedDriver'

    @property
    def default_commands(self) -> List[DmxCommand]:
        """
        Category: Commands
        UserName: Default commands
        """
        ...
    @default_commands.setter
    def default_commands(self, value: List[DmxCommand]) -> None:
        ...

    @property
    def first_pixel_channel(self) -> int:
        """
        Category: Pixels
        UserName: First pixel channel
        """
        ...
    @first_pixel_channel.setter
    def first_pixel_channel(self, value: int) -> None:
        ...

    @property
    def pan_tilt(self) -> PanTiltController:
        """
        Category: Pixels
        UserName: Pan/tilt
        """
        ...
    @pan_tilt.setter
    def pan_tilt(self, value: PanTiltController) -> None:
        ...

    def __init__(self) -> None:
        ...


class MpegFile(File):
    null: Self
    _classInfo: 'ClassInfo'
    supportedResolutions: Callable

    def __init__(self) -> None:
        ...

    def isResolutionSupported(self, size: Vec2) -> bool:
        ...


class MtcModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MTCModule'

    @property
    def iDevice(self) -> int:
        """
        UserName: Device
        """
        ...
    @iDevice.setter
    def iDevice(self, value: int) -> None:
        ...

    @property
    def play_mode(self) -> int:
        """
        Options: {0: 'Locked', 1: 'Normal'}
        UserName: Play mode
        """
        ...
    @play_mode.setter
    def play_mode(self, value: int) -> None:
        ...

    @property
    def start_frame(self) -> int:
        """
        UserName: Start frame
        """
        ...
    @start_frame.setter
    def start_frame(self, value: int) -> None:
        ...

    @property
    def start_hour(self) -> int:
        """
        UserName: Start hour
        """
        ...
    @start_hour.setter
    def start_hour(self, value: int) -> None:
        ...

    @property
    def start_min(self) -> int:
        """
        UserName: Start minute
        """
        ...
    @start_min.setter
    def start_min(self, value: int) -> None:
        ...

    @property
    def start_sec(self) -> int:
        """
        UserName: Start second
        """
        ...
    @start_sec.setter
    def start_sec(self, value: int) -> None:
        ...

    @property
    def type(self) -> int:
        """
        Options: {0: 'MTC 24', 1: 'MTC 25', 2: 'MTC 29.97', 3: 'MTC 30', 4: 'MTC 30DF'}
        UserName: Type
        """
        ...
    @type.setter
    def type(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class MtcSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        """
        Default constructor for MtcSystem
        """
        ...


class MultiCalibratorFactory(CalibratorSystem):
    """
    Factory implementing the Calibrator Subsystem to create MultiCalibrator objects
    """

    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        """
        Default constructor for MultiCalibratorFactory
        """
        ...


class MultiChannelClusterAssigner(MultiChannelClusterAssignerBase):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MultiChannelClusterAssigner'


class MultiChannelClusterAssignerBase(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MultiChannelClusterAssignerBase'

    @property
    def channelAssigners(self) -> List[ChannelMappingAssigner]:
        ...
    @channelAssigners.setter
    def channelAssigners(self, value: List[ChannelMappingAssigner]) -> None:
        ...

    @property
    def defaultAssigner(self) -> ClusterAssigner:
        ...
    @defaultAssigner.setter
    def defaultAssigner(self, value: ClusterAssigner) -> None:
        ...

    @property
    def textureParamAssigners(self) -> List[TextureParameterAssigner]:
        """
        The amount of load to take from the cluster pool. Higher means more machines are assigned to the instance.
        """
        ...
    @textureParamAssigners.setter
    def textureParamAssigners(self, value: List[TextureParameterAssigner]) -> None:
        ...


class MultiChannelClusterLocalAssigner(MultiChannelClusterAssignerBase):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MultiChannelClusterLocalAssigner'


class MultiEventTransport(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MultiEventTransport'

    def __init__(self) -> None:
        ...


class MultiEventTransportRemote(MultiEventTransport):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MultiEventTransportRemote'

    @property
    def port(self) -> int:
        """
        UserName: Listening port
        """
        ...
    @port.setter
    def port(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class MultiTransportManager(SuperTransportManager):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MultiTransportManager'

    @property
    def eventTransport(self) -> MultiEventTransport:
        """
        UserName: Event Transport
        """
        ...
    @eventTransport.setter
    def eventTransport(self, value: MultiEventTransport) -> None:
        ...

    @property
    def transportManagers(self) -> List[TransportManager]:
        """
        UserName: Transport Managers
        """
        ...
    @transportManagers.setter
    def transportManagers(self, value: List[TransportManager]) -> None:
        ...

    def __init__(self) -> None:
        ...


class MultiviewData(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def pos(self) -> Vec2:
        ...
    @pos.setter
    def pos(self, value: Vec2) -> None:
        ...

    @property
    def size(self) -> Vec2:
        ...
    @size.setter
    def size(self, value: Vec2) -> None:
        ...

    @property
    def sourceHardwareId(self) -> str:
        ...
    @sourceHardwareId.setter
    def sourceHardwareId(self, value: str) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: MultiviewData) -> None:
        ...


class MultiviewVideoIn(VideoIn):
    null: Self
    _classInfo: 'ClassInfo'
    dataFromHardwareId: Callable


class MyClassV(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'MyClassV'

    def __init__(self) -> None:
        """
        Default constructor for MyClassV
        """
        ...


class NCAMDriver(ScreenPositionDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'NCAMDriver'

    @property
    def enablePacketTimingGraph(self) -> bool:
        """
        Log incoming packet times to a graph
        
        UserName: Enable packet timing graph
        """
        ...
    @enablePacketTimingGraph.setter
    def enablePacketTimingGraph(self, value: bool) -> None:
        ...

    @property
    def ipAddress(self) -> str:
        """
        IP address of the NCAM server
        
        UserName: IP address
        """
        ...
    @ipAddress.setter
    def ipAddress(self, value: str) -> None:
        ...

    @property
    def port(self) -> int:
        """
        Port number of the NCAM server
        
        UserName: Port
        """
        ...
    @port.setter
    def port(self, value: int) -> None:
        ...

    def connected(self) -> bool:
        ...

    def connecting(self) -> bool:
        ...

    def failedToConnectWithCurrentSettings(self) -> bool:
        ...


class NG360Driver(ScreenPositionDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'NG360Driver'

    @property
    def address(self) -> int:
        """
        UserName: Encoder address
        """
        ...
    @address.setter
    def address(self, value: int) -> None:
        ...

    @property
    def comPort(self) -> str:
        """
        UserName: COM port
        """
        ...
    @comPort.setter
    def comPort(self, value: str) -> None:
        ...

    @property
    def distributor(self) -> ScreenPositionDriverDistributor:
        """
        UserName: Distributor
        """
        ...
    @distributor.setter
    def distributor(self, value: ScreenPositionDriverDistributor) -> None:
        ...


class NatNetDriver(ScreenPositionDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'NatNetDriver'

    @property
    def dataPort(self) -> int:
        """
        Data Port on which to receive data.
        
        UserName: Data Port
        """
        ...
    @dataPort.setter
    def dataPort(self, value: int) -> None:
        ...

    @property
    def getCurrentServerCommandPort(self) -> str:
        ...

    @property
    def getCurrentServerDataPort(self) -> str:
        ...

    @property
    def getCurrentServerDescription(self) -> str:
        ...

    @property
    def getCurrentServerVersion(self) -> str:
        ...

    @property
    def getSDKVersion(self) -> str:
        ...

    @property
    def getServers(self) -> List[str]:
        ...

    @property
    def intervalThresholdSec(self) -> float:
        """
        Interval to filter out noise. If the interval time between samples is bigger, detection will be ignored.
        
        UserName: Sample interval threshold (sec)
        """
        ...
    @intervalThresholdSec.setter
    def intervalThresholdSec(self, value: float) -> None:
        ...

    @property
    def multicastAddress(self) -> str:
        """
        Multicast Address. Leave blank for broadcast or unicast.
        
        UserName: Multicast Address
        """
        ...
    @multicastAddress.setter
    def multicastAddress(self, value: str) -> None:
        ...

    @property
    def newMarkerTimeoutS(self) -> float:
        ...
    @newMarkerTimeoutS.setter
    def newMarkerTimeoutS(self, value: float) -> None:
        ...

    @property
    def predictionSamples(self) -> int:
        """
        Number of samples to use for prediction.
        
        UserName: Sample size
        """
        ...
    @predictionSamples.setter
    def predictionSamples(self, value: int) -> None:
        ...

    @property
    def predictionTerms(self) -> int:
        """
        Term of curve. Prediction is done by curve fitting.
        
        UserName: Terms
        """
        ...
    @predictionTerms.setter
    def predictionTerms(self, value: int) -> None:
        ...

    @property
    def serverDiscoveryInProgress(self) -> bool:
        ...

    @property
    def serverIPAddress(self) -> str:
        """
        Server IP Address to connect.
        
        UserName: Server IP Address
        """
        ...
    @serverIPAddress.setter
    def serverIPAddress(self, value: str) -> None:
        ...

    @property
    def tToPredictAheadSec(self) -> float:
        """
        Time ahead to predict (in seconds).
        
        UserName: Prediction time (sec)
        """
        ...
    @tToPredictAheadSec.setter
    def tToPredictAheadSec(self, value: float) -> None:
        ...

    def connectToServer(self, serverAddress: str) -> None:
        ...

    def startServerDiscovery(self) -> None:
        ...

    def stopServerDiscovery(self) -> None:
        ...


class NatNetMarkerState(TrackingVectorState):
    null: Self
    _classInfo: 'ClassInfo'


class NatNetRigidBodyState(Tracking6DOFState):
    null: Self
    _classInfo: 'ClassInfo'


class NavigationManipulator(Manipulator):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def mouseLock(self) -> bool:
        ...
    @mouseLock.setter
    def mouseLock(self, value: bool) -> None:
        ...

    def gotoDefaultMark(self) -> None:
        """
        Go to default camera bookmark
        """
        ...

    def gotoMark(self, i: int) -> None:
        """
        Go to camera bookmark
        """
        ...

    def mouseScrollCamera(self, dir: int) -> None:
        """
        Move the camera forwards or backwards
        """
        ...

    def moveCameraBack(self) -> None:
        """
        Move the camera backwards
        """
        ...

    def moveCameraForward(self) -> None:
        """
        Move the camera forwards
        """
        ...

    def moveCameraForwardBack(self, state: int, startPos: Vec2, pos: Vec2) -> bool:
        """
        Move the camera forwards or backwards
        """
        ...

    def orbitCamera(self, state: int, startPos: Vec2, pos: Vec2) -> bool:
        """
        Orbit camera around clicked point
        """
        ...

    def panCamera(self, state: int, startPos: Vec2, pos: Vec2) -> bool:
        """
        Pan camera
        """
        ...

    def rotateCamera(self, state: int, startPos: Vec2, pos: Vec2) -> bool:
        """
        Rotate camera
        """
        ...

    def storeMark(self, i: int) -> None:
        """
        Store camera bookmark
        """
        ...

    def zoomToSelection(self) -> bool:
        """
        Zoom to selection
        """
        ...


class NavigatorAxisState(TrackingScalarState):
    null: Self
    _classInfo: 'ClassInfo'


class NavigatorDriver(UdpReceiverDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'NavigatorDriver'

    def __init__(self) -> None:
        ...


class NetSys(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    getHostname: Callable
    getIPAddresses: Callable
    getNetworkAdaptors: Callable


class NetworkBase(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class NewFileMessage(Message):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def path(self) -> str:
        ...
    @path.setter
    def path(self, value: str) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: NewFileMessage) -> None:
        """
        Copy constructor for NewFileMessage
        """
        ...


class NewNames(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def needsConfirmation(self) -> bool:
        ...

    @property
    def newNames(self) -> List[str]:
        ...
    @newNames.setter
    def newNames(self, value: List[str]) -> None:
        ...

    def __init__(self, rhs: NewNames) -> None:
        ...


class NewTekNDIRelaySystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class NewTekNDIRelayVideoIn(BufferedVideoIn):
    null: Self
    _classInfo: 'ClassInfo'


class Node(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Node'

    @property
    def local(self) -> Mat:
        ...
    @local.setter
    def local(self, m: Mat) -> None:
        ...

    @property
    def name(self) -> str:
        ...
    @name.setter
    def name(self, name: str) -> None:
        ...

    @property
    def originalTrans(self) -> Mat:
        ...
    @originalTrans.setter
    def originalTrans(self, value: Mat) -> None:
        ...

    @property
    def parent(self) -> str:
        ...
    @parent.setter
    def parent(self, value: str) -> None:
        ...

    @property
    def rotation(self) -> Vec:
        ...
    @rotation.setter
    def rotation(self, angles: Vec) -> None:
        ...

    def __init__(self) -> None:
        ...


class NodeUserInfoIdentifier(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class NodeUserInfoMessage(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class NodeUserInfoTable(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class NoiseModule(ProjectionAwareModule):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'NoiseModule'

    @property
    def colour(self) -> int:
        """
        Options: {0: 'Greyscale', 1: 'Colour'}
        UserName: Colour
        """
        ...
    @colour.setter
    def colour(self, value: int) -> None:
        ...

    @property
    def mode(self) -> int:
        """
        Options: {0: 'Relative', 1: 'Absolute'}
        UserName: Mode
        """
        ...
    @mode.setter
    def mode(self, value: int) -> None:
        ...

    @property
    def source(self) -> ContentSource:
        """
        UserName: Source
        """
        ...
    @source.setter
    def source(self, value: ContentSource) -> None:
        ...

    @property
    def strength(self) -> float:
        """
        UserName: Strength
        """
        ...
    @strength.setter
    def strength(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class NormalisedMipmappedMaskTexture(MipmappedMaskTexture):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'NormalisedMipmappedMaskTexture'

    def __init__(self) -> None:
        """
        Default constructor for NormalisedMipmappedMaskTexture
        """
        ...


class NotFoundMedia(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def location(self) -> MappedMediaLocation:
        ...
    @location.setter
    def location(self, value: MappedMediaLocation) -> None:
        ...

    @property
    def machine(self) -> Machine:
        ...
    @machine.setter
    def machine(self, value: Machine) -> None:
        ...

    @property
    def missingPath(self) -> Path:
        ...
    @missingPath.setter
    def missingPath(self, value: Path) -> None:
        ...

    @property
    def oldVersionAvailable(self) -> bool:
        ...
    @oldVersionAvailable.setter
    def oldVersionAvailable(self, value: bool) -> None:
        ...

    def description(self) -> str:
        ...


class NotFoundMediaMachineInfo(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def filename(self) -> str:
        ...
    @filename.setter
    def filename(self, value: str) -> None:
        ...

    @property
    def missingMachines(self) -> List[Machine]:
        ...
    @missingMachines.setter
    def missingMachines(self, value: List[Machine]) -> None:
        ...


class NotchCameraData(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self) -> None:
        """
        Default constructor for NotchCameraData
        """
        ...

    @overload
    def __init__(self, other: NotchCameraData) -> None:
        """
        Copy constructor for NotchCameraData
        """
        ...


class NotchEngineDefinition(EngineDefinition):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        """
        Default constructor for NotchEngineDefinition
        """
        ...


class NotchEngineSettings(EngineSettings):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def disableLiveLoading(self) -> bool:
        """
        Disable live reloading of Notch blocks
        
        UserName: Disable live loading
        """
        ...
    @disableLiveLoading.setter
    def disableLiveLoading(self, e: bool) -> None:
        ...

    @property
    def enableNDI(self) -> bool:
        """
        Allow blocks to use their own internal NDI stream. May cause instability
        
        UserName: Enable NDI
        """
        ...
    @enableNDI.setter
    def enableNDI(self, e: bool) -> None:
        ...

    @property
    def lazyLoading(self) -> bool:
        """
        Disable preloading of Notch blocks on startup
        
        UserName: Lazy loading
        """
        ...
    @lazyLoading.setter
    def lazyLoading(self, e: bool) -> None:
        ...

    @property
    def useDisguiseClippingPlanes(self) -> bool:
        """
        Allow cameras to control clipping planes for depth clipping effects
        
        UserName: Use disguise clipping planes
        """
        ...
    @useDisguiseClippingPlanes.setter
    def useDisguiseClippingPlanes(self, e: bool) -> None:
        ...

    def __init__(self) -> None:
        ...


class NotchEngineSettingsResource(EngineSettingsResource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'NotchEngineSettingsResource'

    @property
    def settings(self) -> NotchEngineSettings:
        """
        UserName:
        """
        ...
    @settings.setter
    def settings(self, value: NotchEngineSettings) -> None:
        ...

    def __init__(self) -> None:
        ...


class NotchEulerPoseAndScaleData(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self) -> None:
        """
        Default constructor for NotchEulerPoseAndScaleData
        """
        ...

    @overload
    def __init__(self, other: NotchEulerPoseAndScaleData) -> None:
        """
        Copy constructor for NotchEulerPoseAndScaleData
        """
        ...


class NotchHandle(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    LAYER_PROPERTY_KEY: Final = 'layerlayerlayer'

    @property
    def creators(self) -> str:
        """
        The list of authors for this block.
        
        UserName: Creators
        """
        ...

    @property
    def loggingPath(self) -> str:
        ...

    @property
    def properties(self) -> List[NotchProperty]:
        """
        The list of properties exposed from this block.
        
        UserName: Properties
        """
        ...


class NotchInfo(MediaInfo):
    null: Self
    _classInfo: 'ClassInfo'


class NotchLCSubsystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class NotchModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'NotchModule'

    @property
    def activeFields(self) -> List[NotchModuleConfig.Field]:
        ...

    @property
    def artificialLatency(self) -> int:
        """
        Add an artificial latency (in frames) for testing purposes
        
        UserName: Artificial latency
        """
        ...
    @artificialLatency.setter
    def artificialLatency(self, value: int) -> None:
        ...

    @property
    def currentLayerName(self) -> int:
        ...

    @property
    def dfxFileGeneration(self) -> int:
        ...

    @property
    def drywetblend(self) -> float:
        """
        UserName: Dry/wet blend
        """
        ...
    @drywetblend.setter
    def drywetblend(self, value: float) -> None:
        ...

    @property
    def framerateFraction(self) -> int:
        """
        The fraction of the framerate this layer renders at. Can help performance with particularly heavy blocks.
        Does not help when in low latency output modes.
        
        Options: {0: '1', 1: '1/2', 2: '1/3', 3: '1/4'}
        UserName: Framerate fraction
        """
        ...
    @framerateFraction.setter
    def framerateFraction(self, value: int) -> None:
        ...

    @property
    def hasExposedCamera(self) -> bool:
        ...

    @property
    def mode(self) -> int:
        """
        Options: {0: 'Locked', 1: 'Free-run', 2: 'Normal', 3: 'Paused'}
        UserName: Mode
        """
        ...
    @mode.setter
    def mode(self, value: int) -> None:
        ...

    @property
    def padding(self) -> Vec2:
        """
        Padding between splits that is rendered, but cut off before compositing.
        Use to remove screen-space edge artifacts.
        
        UserName: Padding (Pixels)
        """
        ...
    @padding.setter
    def padding(self, value: Vec2) -> None:
        ...

    @property
    def processingSize(self) -> int:
        """
        Options: {0: 'Output Size', 1: 'Input Size'}
        UserName: Processing size
        """
        ...
    @processingSize.setter
    def processingSize(self, value: int) -> None:
        ...

    def loadDfx(self) -> None:
        ...


class NotchObjectArray(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'NotchObjectArray'

    @property
    def array(self) -> List[Object]:
        """
        Objects passed to Notch block's Exposable Array
        
        UserName: Array elements
        """
        ...
    @array.setter
    def array(self, value: List[Object]) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for NotchObjectArray
        """
        ...


class NotchPoseAndScaleData(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self) -> None:
        """
        Default constructor for NotchPoseAndScaleData
        """
        ...

    @overload
    def __init__(self, other: NotchPoseAndScaleData) -> None:
        """
        Copy constructor for NotchPoseAndScaleData
        """
        ...


class NotchPoseData(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self) -> None:
        """
        Default constructor for NotchPoseData
        """
        ...

    @overload
    def __init__(self, other: NotchPoseData) -> None:
        """
        Copy constructor for NotchPoseData
        """
        ...


class NotchProperty(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def elementCount(self) -> int:
        """
        UserName: Element Count
        """
        ...

    @property
    def group(self) -> str:
        """
        UserName: Group
        """
        ...

    @property
    def key(self) -> str:
        """
        UserName: Key
        """
        ...

    @property
    def name(self) -> str:
        """
        UserName: Name
        """
        ...

    @property
    def type(self) -> int:
        """
        UserName: Type
        """
        ...

    def typeName(self) -> str:
        ...


class Note(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Note'

    @property
    def modified(self) -> DateStamp:
        ...
    @modified.setter
    def modified(self, value: DateStamp) -> None:
        ...

    @property
    def seen(self) -> bool:
        ...

    @property
    def text(self) -> str:
        ...
    @text.setter
    def text(self, text: str) -> None:
        ...

    def markSeen(self) -> None:
        ...


class Notification(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class OS(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def DebugOptions(self) -> DebugOptions:
        ...

    @property
    def iFrame(self) -> int:
        ...

    @property
    def keyboard(self) -> Keyboard:
        ...

    @property
    def mouse(self) -> Mouse:
        ...

    @property
    def threadPool(self) -> ThreadPool:
        ...

    @property
    def timer(self) -> Timer:
        ...


class OSCSender(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'OSCSender'

    def __init__(self) -> None:
        """
        Default constructor for OSCSender
        """
        ...


class Object(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Object'
    Backplate: Final = 3
    Frontplate: Final = 2
    OffStage: Final = 0
    OnStage: Final = 1
    SetExtensionAddition: Final = 5
    SetExtensionMask: Final = 4
    getPufferSphereMesh: Callable
    getSphereMesh: Callable

    @property
    def children(self) -> List[Object]:
        ...

    @property
    def externalUpdate(self) -> bool:
        ...
    @externalUpdate.setter
    def externalUpdate(self, onOff: bool) -> None:
        ...

    @property
    def hasTrackingSource(self) -> bool:
        ...

    @property
    def isReceivingFromTrackingSource(self) -> bool:
        ...

    @property
    def local(self) -> Mat:
        ...

    @property
    def mesh(self) -> Mesh:
        ...
    @mesh.setter
    def mesh(self, m: Mesh) -> None:
        ...

    @property
    def needsMesh(self) -> bool:
        ...

    @property
    def offset(self) -> Vec:
        """
        Position in the scene, in meters; relative to parent object in hierarchy, and mesh position.
        
        UserName: Offset
        """
        ...
    @offset.setter
    def offset(self, value: Vec) -> None:
        ...

    @property
    def parent(self) -> Object:
        ...

    @property
    def renderLayer(self) -> int:
        """
        Where the screen appears.
        On stage, the screen is physically present.
        Off stage: the screen is temporarily removed from the scene.
        Frontplate: Cameras view the screen content as AR content overlaying the stage. Invisible to Projectors.
        Backplate: If MR is enabled, the camera projects the content onto the MR set.
        Set Extension mask: If MR is enabled, the object cuts away at any set extension, leaving only live video and AR effects.
        Set Extension addition: If MR is enabled, the object masks any live video and AR effects, rendering the set extension instead
        Live action volume: If MR is enabled, the object defines a volume outside of which set extension is always rendered
        
        
        Options: {0: 'Off stage', 1: 'On stage', 2: 'Frontplate (AR)', 3: 'Backplate (MR)', 4: 'Set Extension mask', 5: 'Set Extension addition', 6: 'Live action volume', 7: '2.5D'}
        Category: Output
        UserName: Render layer
        """
        ...
    @renderLayer.setter
    def renderLayer(self, value: int) -> None:
        ...

    @property
    def rotation(self) -> Vec:
        """
        Rotation around x, y, z axes, in degrees; relative to parent object in hierarchy, and mesh orientation.
        
        UserName: Rotation
        """
        ...
    @rotation.setter
    def rotation(self, v: Vec) -> None:
        ...

    @property
    def scale(self) -> Vec:
        ...
    @scale.setter
    def scale(self, s: Vec) -> None:
        ...

    @property
    def sortOverride(self) -> int:
        """
        Manually override depth sorting.
        Objects with lower values are rendered before objects with higher values
        
        UserName: Depth sort override
        """
        ...
    @sortOverride.setter
    def sortOverride(self, value: int) -> None:
        ...

    @property
    def trackingSource(self) -> ObjectTrackingSource:
        """
        UserName: Tracking source
        """
        ...
    @trackingSource.setter
    def trackingSource(self, newSource: ObjectTrackingSource) -> None:
        ...

    @property
    def world(self) -> Mat:
        ...

    def add(self, child: Object) -> None:
        ...

    def centroid(self) -> Vec:
        ...

    def findAllObjectsOfType(self, type: Type) -> List[Object]:
        ...

    def findObjectOfType(self, node: Type) -> Object:
        ...

    def isAncestorOf(self, obj: Object) -> bool:
        ...

    def isInActiveStage(self) -> bool:
        ...

    def remove(self) -> None:
        ...


class ObjectBoxOld(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class ObjectDeformationSettings(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def objects(self) -> List[ObjectDeformationSettingsPair]:
        ...
    @objects.setter
    def objects(self, value: List[ObjectDeformationSettingsPair]) -> None:
        ...

    def add(self, obj: Object) -> None:
        ...

    def remove(self, obj: Object) -> None:
        ...


class ObjectDeformationSettingsPair(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def objectRef(self) -> ResourceReference:
        ...
    @objectRef.setter
    def objectRef(self, value: ResourceReference) -> None:
        ...

    @property
    def settings(self) -> DeformationSettings:
        ...
    @settings.setter
    def settings(self, value: DeformationSettings) -> None:
        ...


class ObjectTrackingSource(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ObjectTrackingSource'

    @property
    def driver(self) -> Resource:
        ...
    @driver.setter
    def driver(self, d: Resource) -> None:
        ...

    @property
    def driverSendingFlags(self) -> TrackingFlags:
        ...
    @driverSendingFlags.setter
    def driverSendingFlags(self, value: TrackingFlags) -> None:
        ...

    @property
    def enabledFlags(self) -> TrackingFlags:
        ...
    @enabledFlags.setter
    def enabledFlags(self, value: TrackingFlags) -> None:
        ...

    @property
    def frameOfReference(self) -> AnimationAxisSettings:
        """
        UserName: Frame of reference
        """
        ...
    @frameOfReference.setter
    def frameOfReference(self, frame: AnimationAxisSettings) -> None:
        ...

    @property
    def isReceiving(self) -> bool:
        ...

    @property
    def pos(self) -> Vec:
        """
        UserName: Position
        """
        ...

    @property
    def rot(self) -> Vec:
        """
        UserName: Rotation
        """
        ...

    @property
    def rotationDelayOffset(self) -> float:
        """
        Time in seconds between the positional tracking data arriving and the rotational tracking data arriving.
        If negative rotational data arrives before the spatial frame.
        If positive, rotational data arrives after the spatial frame.
        Typically only used in complex gimbal systems.
        
        UserName: Rotation delay offset (s)
        """
        ...
    @rotationDelayOffset.setter
    def rotationDelayOffset(self, offset: float) -> None:
        ...

    @property
    def smoothReceiveTime(self) -> bool:
        """
        Select to smooth out the receive time of data packets, reducing jitter at a cost of added latency
        
        UserName: Smooth receive time
        """
        ...
    @smoothReceiveTime.setter
    def smoothReceiveTime(self, b: bool) -> None:
        ...

    def canSelectForObject(self, obj: Object) -> bool:
        ...

    def dumpTrackingDeltaHistory(self) -> None:
        ...


class ObjectViewBoxFilter(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self, boxTag: str, filterFunc: Callable) -> None:
        ...

    @overload
    def __init__(self, boxTag: str, arg1: ClassNode) -> None:
        ...

    def hideIfEmpty(self) -> None:
        ...

    def setDefault(self) -> None:
        ...


class ObjectViewState(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ObjectViewState'

    @property
    def constraintSize(self) -> Vec2:
        ...
    @constraintSize.setter
    def constraintSize(self, value: Vec2) -> None:
        ...

    @property
    def displayAs(self) -> int:
        ...
    @displayAs.setter
    def displayAs(self, value: int) -> None:
        ...

    @property
    def searchText(self) -> str:
        ...
    @searchText.setter
    def searchText(self, value: str) -> None:
        ...

    @property
    def selectedTag(self) -> ResourceTag:
        ...
    @selectedTag.setter
    def selectedTag(self, value: ResourceTag) -> None:
        ...

    def __init__(self) -> None:
        ...


class OcioBuiltinConfig(OcioConfig):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'OcioBuiltinConfig'

    @property
    def configName(self) -> str:
        ...
    @configName.setter
    def configName(self, value: str) -> None:
        ...

    @property
    def configUIName(self) -> str:
        ...
    @configUIName.setter
    def configUIName(self, value: str) -> None:
        ...


class OcioColourSpace(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    Input: Final = 1
    Output: Final = 2
    Working: Final = 3

    @property
    def isBuiltin(self) -> bool:
        """
        Whether this is a built-in transform.
        If false, this is a transform provided in a .ocio config file.
        """
        ...
    @isBuiltin.setter
    def isBuiltin(self, value: bool) -> None:
        ...

    @property
    def name(self) -> str:
        """
        The name of the colour space, or the display if this is a display-view transform
        """
        ...
    @name.setter
    def name(self, value: str) -> None:
        ...

    @property
    def type(self) -> int:
        """
        Whether this colour space represents an input or output transform, or a working space
        
        Options: {0: 'Invalid', 1: 'Input', 2: 'Output'}
        """
        ...
    @type.setter
    def type(self, value: int) -> None:
        ...

    @property
    def view(self) -> str:
        """
        The name of the view, if this is a display-view transform.
        Empty if this is a regular colour space transform.
        """
        ...
    @view.setter
    def view(self, value: str) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: OcioColourSpace) -> None:
        """
        Copy constructor for OcioColourSpace
        """
        ...

    def set(self, name: str, view: str, isBuiltin: bool) -> None:
        ...


class OcioConfig(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'OcioConfig'

    @property
    def defaultInputColourSpace(self) -> OcioColourSpace:
        """
        Default colour space used for input transforms
        
        UserName: Default input transform
        """
        ...
    @defaultInputColourSpace.setter
    def defaultInputColourSpace(self, value: OcioColourSpace) -> None:
        ...

    @property
    def defaultOutputColourSpace(self) -> OcioColourSpace:
        """
        Default colour space used for output transforms
        
        UserName: Default output transform
        """
        ...
    @defaultOutputColourSpace.setter
    def defaultOutputColourSpace(self, value: OcioColourSpace) -> None:
        ...

    @property
    def workingSpace(self) -> OcioColourSpace:
        """
        Working colour space for compositing
        
        UserName: Working space
        """
        ...
    @workingSpace.setter
    def workingSpace(self, value: OcioColourSpace) -> None:
        ...

    @property
    def workingSpaceGamma(self) -> float:
        ...

    def printDefaultInputShader(self) -> None:
        ...

    def printDefaultOutputShader(self) -> None:
        ...


class OcioMenuHelper(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self, type: int) -> None:
        ...

    def getColourSpaceUiName(self, arg0: OcioColourSpace) -> str:
        ...

    def getMenuItems(self, includeDefaultColourSpace: bool) -> List[OcioMenuItem]:
        ...


class OcioMenuItem(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def colourSpace(self) -> str:
        ...
    @colourSpace.setter
    def colourSpace(self, value: str) -> None:
        ...

    @property
    def view(self) -> str:
        ...
    @view.setter
    def view(self, value: str) -> None:
        ...


class OcioShader(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def printShader(self) -> None:
        ...


class OcioShaderProperties(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def contrast(self) -> float:
        ...
    @contrast.setter
    def contrast(self, value: float) -> None:
        ...

    @property
    def exposure(self) -> float:
        ...
    @exposure.setter
    def exposure(self, value: float) -> None:
        ...

    @property
    def gamma(self) -> float:
        ...
    @gamma.setter
    def gamma(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...

    def isContrastAvailable(self) -> bool:
        ...

    def isExposureAvailable(self) -> bool:
        ...

    def isGammaAvailable(self) -> bool:
        ...


class OcioSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class OfflineCameraCommunication(CameraCommunication):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def basePath(self) -> str:
        ...

    def __init__(self, basePath: str, camerasData: List[MobileCamData]) -> None:
        ...


class OldMovFile(File):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...

    def isResolutionSupported(self, size: Vec2) -> bool:
        ...


class OpenModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'OpenModule'

    def __init__(self) -> None:
        ...


class Operation(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self, name: str) -> None:
        ...


class OptiCalCameraPlan(Camera):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'OmniCalCameraPlan'
    getCameraFocalLengthPresetNames: Callable
    getCameraFocalLengthPresetValues: Callable
    getCameraSensorPresetNames: Callable
    getCameraSensorPresetValues: Callable

    @property
    def _imageRotation(self) -> int:
        ...
    @_imageRotation.setter
    def _imageRotation(self, value: int) -> None:
        ...

    @property
    def blobStats(self) -> PlannedBlobStatistics:
        ...
    @blobStats.setter
    def blobStats(self, value: PlannedBlobStatistics) -> None:
        ...

    @property
    def camParams(self) -> PlannedMobileCamParams:
        ...
    @camParams.setter
    def camParams(self, value: PlannedMobileCamParams) -> None:
        ...

    @property
    def cropFactor(self) -> float:
        ...

    @property
    def focalLength35mm(self) -> float:
        ...

    @property
    def isSimulated(self) -> int:
        ...
    @isSimulated.setter
    def isSimulated(self, value: int) -> None:
        ...

    @property
    def mobileCam(self) -> MobileCam:
        ...

    @property
    def mobileCameraRef(self) -> MobileCameraReference:
        ...
    @mobileCameraRef.setter
    def mobileCameraRef(self, value: MobileCameraReference) -> None:
        ...

    @property
    def name(self) -> str:
        ...
    @name.setter
    def name(self, value: str) -> None:
        ...

    @property
    def referenceImage(self) -> DxTexture:
        ...
    @referenceImage.setter
    def referenceImage(self, value: DxTexture) -> None:
        ...

    @property
    def throwRatio(self) -> float:
        ...
    @throwRatio.setter
    def throwRatio(self, tr: float) -> None:
        ...

    def getCameraFocalLengthPreset(self) -> int:
        ...

    def getCameraPreset(self) -> int:
        ...

    def hasCamera(self) -> bool:
        ...

    def imageRotation(self) -> int:
        ...

    def isOnline(self) -> bool:
        ...

    def setCameraPreset(self, sensorPreset: int, focalLengthPreset: int) -> None:
        ...

    def setImageRotation(self, angle: int) -> None:
        ...


class OptiCalCameraPlanReport(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def iFrameReady(self) -> int:
        ...

    def __init__(self, path: str, projectName: str, planName: str, stage: Stage, cameras: List[OptiCalCameraPlan]) -> None:
        ...

    def generateCsv(self, revision: str, overwrite: bool) -> None:
        ...

    def generatePdf(self, revision: str, comment: str, overwrite: bool) -> None:
        ...

    def getCsvPath(self, revision: str) -> str:
        ...

    def getPathPrefix(self) -> str:
        ...

    def getPdfPath(self, revision: str) -> str:
        ...


class OptiCalCaptureSetup(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def getBasePath(self) -> str:
        ...

    @property
    def getCamerasData(self) -> List[MobileCamData]:
        ...

    @property
    def getCaptureSettings(self) -> CaptureSettings:
        ...

    @property
    def isLiveCapture(self) -> bool:
        ...

    @overload
    def __init__(self, captureBasePath: str) -> None:
        ...

    @overload
    def __init__(self, other: OptiCalCaptureSetup) -> None:
        """
        Copy constructor for OptiCalCaptureSetup
        """
        ...

    @overload
    def __init__(self, captureBasePath: str, settings: CaptureSettings, arg2: CameraCommunication) -> None:
        ...

    def buildCaptureGroups(self, camBlobs: PerCameraBlobs, task: OptiCalTask, debounce: bool) -> None:
        ...

    def clearRenderStateOnCompletion(self) -> None:
        ...

    def detectBlobCodes(self, updateBlobs: PerCameraBlobs, task: OptiCalTask, debounce: bool) -> None:
        ...

    def detectBlobs(self, task: OptiCalTask, debounce: bool) -> PerCameraBlobs:
        ...

    def getCamResolution(self, camName: str) -> Int2:
        ...

    def getGridImagePaths(self, iProjector: int, camName: str) -> OptiCalGridImagePaths:
        ...

    def loadBlobs(self, suffix: str) -> PerCameraBlobs:
        ...

    def saveBlobs(self, camBlobs: PerCameraBlobs, suffix: str) -> None:
        ...

    def startCaptureAlignment(self) -> None:
        ...

    def startCaptureBits(self) -> None:
        ...

    def startCaptureGrids(self) -> None:
        ...

    def startFocus(self) -> None:
        ...

    def startSetupCapture(self, imageType: int) -> None:
        ...


class OptiCalCaptureSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def progressRatio(self) -> float:
        ...

    def __init__(self) -> None:
        ...

    def resetStageState(self) -> None:
        ...

    def saveStageState(self) -> None:
        ...


class OptiCalDeform(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    resetScreenToAlignmentMesh: Callable
    resetScreenToOrigMesh: Callable


class OptiCalGridImagePaths(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def alignment(self) -> CamCapturePaths:
        ...
    @alignment.setter
    def alignment(self, value: CamCapturePaths) -> None:
        ...

    @property
    def alignmentGuideLines(self) -> CamCapturePaths:
        ...
    @alignmentGuideLines.setter
    def alignmentGuideLines(self, value: CamCapturePaths) -> None:
        ...

    @property
    def blackLevel(self) -> CamCapturePaths:
        ...
    @blackLevel.setter
    def blackLevel(self, value: CamCapturePaths) -> None:
        ...

    @property
    def focus(self) -> CamCapturePaths:
        ...
    @focus.setter
    def focus(self, value: CamCapturePaths) -> None:
        ...

    @property
    def grid(self) -> CamCapturePaths:
        ...
    @grid.setter
    def grid(self, value: CamCapturePaths) -> None:
        ...

    @property
    def whiteLevel(self) -> CamCapturePaths:
        ...
    @whiteLevel.setter
    def whiteLevel(self, value: CamCapturePaths) -> None:
        ...

    @property
    def whiteLevelMask(self) -> CamCapturePaths:
        ...
    @whiteLevelMask.setter
    def whiteLevelMask(self, value: CamCapturePaths) -> None:
        ...

    def __init__(self, other: OptiCalGridImagePaths) -> None:
        """
        Copy constructor for OptiCalGridImagePaths
        """
        ...


class OptiCalMainTask(OptiCalTask):
    null: Self
    _classInfo: 'ClassInfo'


class OptiCalMetrics(_BlipValue):
    """
    Collects time data about OmniCal capture, calibration, etc
    """

    null: Self
    _classInfo: 'ClassInfo'

    @property
    def tAlignment(self) -> TaskMetrics:
        ...

    @property
    def tCalibration(self) -> TaskMetrics:
        ...

    @property
    def tCapture(self) -> TaskMetrics:
        ...


class OptiCalReport(_BlipValue):
    """
    Collects textual report and other data about an OptiCalStagePlan/Result
    """

    null: Self
    _classInfo: 'ClassInfo'

    @property
    def metrics(self) -> OptiCalMetrics:
        ...

    @property
    def reportText(self) -> OptiCalReportText:
        ...

    def empty(self) -> bool:
        ...


class OptiCalReportText(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def str(self) -> str:
        ...


class OptiCalResult(OptiCalStagePlan):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'OptiCalResult'


class OptiCalRun(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'OptiCalRun'

    @property
    def BAIterations(self) -> int:
        """
        Category: Projectors
        """
        ...
    @BAIterations.setter
    def BAIterations(self, value: int) -> None:
        ...

    @property
    def _projectors(self) -> List[ProjectorCaptureSettingsPair]:
        """
        Category: Projectors
        """
        ...
    @_projectors.setter
    def _projectors(self, value: List[ProjectorCaptureSettingsPair]) -> None:
        ...

    @property
    def blobAreaLimits(self) -> Vec2:
        """
        Category: Projectors
        """
        ...
    @blobAreaLimits.setter
    def blobAreaLimits(self, value: Vec2) -> None:
        ...

    @property
    def blobCircularityLimits(self) -> Vec2:
        """
        Category: Projectors
        """
        ...
    @blobCircularityLimits.setter
    def blobCircularityLimits(self, value: Vec2) -> None:
        ...

    @property
    def blobConvexityLimits(self) -> Vec2:
        """
        Category: Projectors
        """
        ...
    @blobConvexityLimits.setter
    def blobConvexityLimits(self, value: Vec2) -> None:
        ...

    @property
    def blobInertiaLimits(self) -> Vec2:
        """
        Category: Projectors
        """
        ...
    @blobInertiaLimits.setter
    def blobInertiaLimits(self, value: Vec2) -> None:
        ...

    @property
    def bundleAdjustTarget(self) -> int:
        """
        Category: Projectors
        """
        ...
    @bundleAdjustTarget.setter
    def bundleAdjustTarget(self, value: int) -> None:
        ...

    @property
    def calibrateCameraPosition(self) -> int:
        """
        Category: Projectors
        """
        ...
    @calibrateCameraPosition.setter
    def calibrateCameraPosition(self, value: int) -> None:
        ...

    @property
    def calibrationModel(self) -> int:
        """
        Category: Projectors
        """
        ...
    @calibrationModel.setter
    def calibrationModel(self, value: int) -> None:
        ...

    @property
    def camCalConfidence(self) -> float:
        """
        Category: Projectors
        """
        ...
    @camCalConfidence.setter
    def camCalConfidence(self, value: float) -> None:
        ...

    @property
    def camCalConfidenceAuto(self) -> int:
        """
        Category: Projectors
        """
        ...
    @camCalConfidenceAuto.setter
    def camCalConfidenceAuto(self, value: int) -> None:
        ...

    @property
    def camCalUseDistortion(self) -> int:
        """
        Category: Projectors
        """
        ...
    @camCalUseDistortion.setter
    def camCalUseDistortion(self, value: int) -> None:
        ...

    @property
    def camCalUseLensShift(self) -> int:
        """
        Category: Projectors
        """
        ...
    @camCalUseLensShift.setter
    def camCalUseLensShift(self, value: int) -> None:
        ...

    @property
    def cameraAutoMode(self) -> int:
        """
        Category: Projectors
        """
        ...
    @cameraAutoMode.setter
    def cameraAutoMode(self, value: int) -> None:
        ...

    @property
    def cameraWeightFactor(self) -> float:
        ...
    @cameraWeightFactor.setter
    def cameraWeightFactor(self, value: float) -> None:
        ...

    @property
    def cameraWeightMode(self) -> int:
        ...
    @cameraWeightMode.setter
    def cameraWeightMode(self, value: int) -> None:
        ...

    @property
    def centroidMode(self) -> int:
        """
        Category: Projectors
        """
        ...
    @centroidMode.setter
    def centroidMode(self, value: int) -> None:
        ...

    @property
    def gridTolerance(self) -> float:
        ...
    @gridTolerance.setter
    def gridTolerance(self, value: float) -> None:
        ...

    @property
    def gridToleranceMethod(self) -> int:
        """
        Category: Projectors
        """
        ...
    @gridToleranceMethod.setter
    def gridToleranceMethod(self, value: int) -> None:
        ...

    @property
    def iCalRun(self) -> int:
        ...
    @iCalRun.setter
    def iCalRun(self, value: int) -> None:
        ...

    @property
    def inlierMaxReprojectionError(self) -> float:
        """
        Category: Projectors
        """
        ...
    @inlierMaxReprojectionError.setter
    def inlierMaxReprojectionError(self, value: float) -> None:
        ...

    @property
    def inlierNormalPercentile(self) -> int:
        """
        Category: Projectors
        """
        ...
    @inlierNormalPercentile.setter
    def inlierNormalPercentile(self, value: int) -> None:
        ...

    @property
    def intersectionHandling(self) -> int:
        ...
    @intersectionHandling.setter
    def intersectionHandling(self, value: int) -> None:
        ...

    @property
    def outlierMode(self) -> int:
        ...
    @outlierMode.setter
    def outlierMode(self, value: int) -> None:
        ...

    @property
    def overlapThreshold(self) -> float:
        """
        Category: Projectors
        """
        ...
    @overlapThreshold.setter
    def overlapThreshold(self, value: float) -> None:
        ...

    @property
    def parallelCaptureMode(self) -> int:
        """
        Category: Projectors
        """
        ...
    @parallelCaptureMode.setter
    def parallelCaptureMode(self, value: int) -> None:
        ...

    @property
    def planarAngle(self) -> float:
        """
        Category: Projectors
        """
        ...
    @planarAngle.setter
    def planarAngle(self, value: float) -> None:
        ...

    @property
    def planarType(self) -> int:
        """
        Category: Projectors
        """
        ...
    @planarType.setter
    def planarType(self, value: int) -> None:
        ...

    @property
    def refineMethod(self) -> int:
        ...
    @refineMethod.setter
    def refineMethod(self, value: int) -> None:
        ...

    @property
    def scaleCalcMethod(self) -> int:
        """
        Category: Projectors
        """
        ...
    @scaleCalcMethod.setter
    def scaleCalcMethod(self, value: int) -> None:
        ...

    @property
    def scaleOutlierPercent(self) -> float:
        """
        Category: Projectors
        """
        ...
    @scaleOutlierPercent.setter
    def scaleOutlierPercent(self, value: float) -> None:
        ...

    @property
    def worldAlignMatrix(self) -> Mat:
        ...
    @worldAlignMatrix.setter
    def worldAlignMatrix(self, value: Mat) -> None:
        ...

    @property
    def worldAlignOffset(self) -> Vec:
        ...
    @worldAlignOffset.setter
    def worldAlignOffset(self, value: Vec) -> None:
        ...

    @property
    def worldAlignRotation(self) -> Vec:
        ...
    @worldAlignRotation.setter
    def worldAlignRotation(self, value: Vec) -> None:
        ...

    @property
    def worldAlignScale(self) -> float:
        ...
    @worldAlignScale.setter
    def worldAlignScale(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for OptiCalRun
        """
        ...


class OptiCalSettings(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    getCameraGraphScoreModeNames: Callable
    getPointCloudModeNames: Callable
    getPointCloudModeValues: Callable


class OptiCalStagePlan(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'OmniCalStagePlan'

    @property
    def alignmentData(self) -> AlignmentData:
        ...
    @alignmentData.setter
    def alignmentData(self, value: AlignmentData) -> None:
        ...

    @property
    def alignmentObjects(self) -> List[Object]:
        ...
    @alignmentObjects.setter
    def alignmentObjects(self, value: List[Object]) -> None:
        ...

    @property
    def blobDetectionSettings(self) -> BlobDetectionSettings:
        ...
    @blobDetectionSettings.setter
    def blobDetectionSettings(self, value: BlobDetectionSettings) -> None:
        ...

    @property
    def calibrationSettings(self) -> CalibrationSettings:
        ...
    @calibrationSettings.setter
    def calibrationSettings(self, value: CalibrationSettings) -> None:
        ...

    @property
    def calibrationSummaryTable(self) -> List[CalibrationResultsData]:
        ...

    @property
    def cameras(self) -> List[OptiCalCameraPlan]:
        ...
    @cameras.setter
    def cameras(self, value: List[OptiCalCameraPlan]) -> None:
        ...

    @property
    def captureSettings(self) -> CaptureSettings:
        ...
    @captureSettings.setter
    def captureSettings(self, value: CaptureSettings) -> None:
        ...

    @property
    def captureViewSettings(self) -> CaptureViewSettings:
        ...
    @captureViewSettings.setter
    def captureViewSettings(self, value: CaptureViewSettings) -> None:
        ...

    @property
    def deformationSettings(self) -> ObjectDeformationSettings:
        ...
    @deformationSettings.setter
    def deformationSettings(self, value: ObjectDeformationSettings) -> None:
        ...

    @property
    def gridErrors(self) -> List[GridAlignmentErrorData]:
        ...
    @gridErrors.setter
    def gridErrors(self, value: List[GridAlignmentErrorData]) -> None:
        ...

    @property
    def isSimulated(self) -> int:
        ...
    @isSimulated.setter
    def isSimulated(self, value: int) -> None:
        ...

    @property
    def projectors(self) -> List[Projector]:
        ...
    @projectors.setter
    def projectors(self, value: List[Projector]) -> None:
        ...

    @property
    def quickAlignViewSettings(self) -> QuickAlignViewSettings:
        ...
    @quickAlignViewSettings.setter
    def quickAlignViewSettings(self, value: QuickAlignViewSettings) -> None:
        ...

    @property
    def report(self) -> OptiCalReport:
        ...

    @property
    def rigCheckAlignmentData(self) -> AlignmentData:
        ...
    @rigCheckAlignmentData.setter
    def rigCheckAlignmentData(self, value: AlignmentData) -> None:
        ...

    def addAlignmentDataPose(self) -> AlignmentDataPose:
        ...

    def alignmentFromCamerasAndProjectors(self, bProjectors: bool) -> Mat:
        ...

    def alignmentFromData(self, ad: AlignmentData) -> Mat:
        ...

    def alignmentPoseCapturePath(self, poseName: str) -> Path:
        ...

    def alignmentPoseNamePrefix(self) -> str:
        ...

    def applyAlignmentToStage(self, alignMat: Mat) -> None:
        ...

    def applyManualAlignment(self) -> None:
        ...

    def applyMobileCamParams(self) -> None:
        ...

    def cameraImageRotation(self, camName: str) -> int:
        ...

    def capturePath(self) -> Path:
        ...

    def cleanupMobileCams(self) -> None:
        ...

    def distortPoint(self, p: Vec2, camName: str) -> Vec2:
        ...

    def enableMobileCamStats(self, cam: MobileCam, enable: bool) -> None:
        ...

    def enableMobileCamStatsAll(self, enable: bool) -> None:
        ...

    def enableMobileCamStreaming(self, enable: bool) -> None:
        ...

    def ensureMasterScreensAreValid(self) -> None:
        ...

    def estimateAlignmentBasic(self) -> Mat:
        ...

    def findCameraPlan(self, cameraName: str) -> OptiCalCameraPlan:
        ...

    def getAlignmentImageBasePose(self, camName: str, guideLines: bool) -> DxTexture:
        ...

    def getAlignmentImagePose(self, camName: str, guideLines: bool, poseName: str) -> DxTexture:
        ...

    def getAlignmentObjects(self) -> List[Object]:
        ...

    def getAlignmentObjectsWithChangedMeshes(self) -> List[Object]:
        ...

    def getAutoApplyDeformObjects(self) -> List[Object]:
        ...

    def getCameraMats(self, camName: str) -> CameraMats:
        ...

    def getCameraNames(self) -> List[str]:
        ...

    def getGridImage(self, camName: str, iDisplay: int) -> DxTexture:
        ...

    def getProjectionSurfaces(self) -> List[Screen2]:
        ...

    def hasActiveCamerasAndProjectors(self) -> bool:
        ...

    def hasCalibration(self) -> bool:
        ...

    def hasCapture(self) -> bool:
        ...

    def hasStackedProjector(self) -> bool:
        ...

    def isCalibrating(self) -> bool:
        ...

    def isCameraCalibrated(self, cameraName: str) -> bool:
        ...

    def isCapturing(self) -> bool:
        ...

    def isDeforming(self, objectUid: int) -> bool:
        ...

    def isExecuting(self) -> bool:
        ...

    def isLoadedFromFiles(self) -> bool:
        ...

    def isRunning(self) -> bool:
        ...

    def makeProjectorRestorer(self, restoreShutterStates: bool) -> ProjectorRestorer:
        ...

    def makeVirtualCamComms(self) -> VirtualCameraCommunication:
        ...

    def nAliveCameras(self) -> int:
        ...

    def nAliveMVCameras(self) -> int:
        ...

    def nCameraPlans(self) -> int:
        ...

    def requestCalibrate(self) -> OptiCalTask:
        ...

    def requestCapture(self, resume: bool) -> OptiCalTask:
        ...

    def requestDeform(self, deformationSettings: ObjectDeformationSettingsPair) -> OptiCalTask:
        ...

    def requestDeformObjects(self, objects: List[Object]) -> OptiCalTask:
        ...

    def requestExecute(self) -> OptiCalTask:
        ...

    def requestGridImage(self, camName: str, iDisplay: int) -> None:
        ...

    def requestUpdateStackingWarps(self) -> OptiCalTask:
        ...

    def resetProjectors(self) -> None:
        ...

    def setCameraImageRotation(self, camName: str, angle: int) -> None:
        ...

    def setMobileCamBandwidth(self) -> None:
        ...

    def setStackedProjectorShutters(self, open: bool) -> None:
        ...

    def undistortPoint(self, p: Vec2, camName: str) -> Vec2:
        ...

    def undistortTexture(self, camName: str, dxt: DxTexture) -> DxTexture:
        ...

    def updateAlignmentData(self) -> None:
        ...

    def updateCaptureSettings(self) -> None:
        ...

    def updatePoseMasterScreenData(self, pose: AlignmentDataPose) -> None:
        ...

    def validateCapture(self) -> bool:
        ...


class OptiCalStepResult(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'OptiCalStepResult'

    def __init__(self) -> None:
        """
        Default constructor for OptiCalStepResult
        """
        ...


class OptiCalTask(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def cancel(self) -> None:
        ...

    def error(self) -> str:
        ...

    def header(self) -> str:
        ...

    def progress(self) -> float:
        ...

    def report(self) -> str:
        ...

    def running(self) -> bool:
        ...

    def success(self) -> bool:
        ...


class OptiCal_io(_BlipValue):
    """
    Various I/O functions for OptiCal data, PointClouds,...
    Bundled in a reflected class, so we can use it from Python.
    """

    null: Self
    _classInfo: 'ClassInfo'
    saveCaptureSurfacesToPointClouds: Callable
    savePlanToPointClouds: Callable


class OpticalCalibrator(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'OpticalCalibrator'
    getAutoAlignTargetNames: Callable
    getCentroidModeNames: Callable
    getGridToleranceMethodNames: Callable
    getOutlierModeNames: Callable
    getVisualisationNames: Callable
    helpText: Callable

    @property
    def applyAlignment(self) -> int:
        """
        Apply the alignment of the currently selected plan or result to the stage via open module
        
        Options: {0: 'None', 1: 'Plan', 2: 'Result'}
        Category: Network
        """
        ...
    @applyAlignment.setter
    def applyAlignment(self, value: int) -> None:
        ...

    @property
    def cameraBandwidthGbit(self) -> float:
        """
        Total network bandwidth allocation for machine vision cameras in Gigabits per second. This will be divided evenly among active cameras in a plan.
        """
        ...
    @cameraBandwidthGbit.setter
    def cameraBandwidthGbit(self, value: float) -> None:
        ...

    @property
    def cameraBandwidthMode(self) -> int:
        """
        Whether camera bandwidth is automatically manage or not
        
        Options: {0: 'Manual', 1: 'Auto'}
        Category: Network
        """
        ...
    @cameraBandwidthMode.setter
    def cameraBandwidthMode(self, value: int) -> None:
        ...

    @property
    def discoveryAdapterName(self) -> str:
        """
        Category: Network
        """
        ...
    @discoveryAdapterName.setter
    def discoveryAdapterName(self, value: str) -> None:
        ...

    @property
    def manageOnlyInternalProcesses(self) -> int:
        """
        Whether d3 only stop its own camera server processes, or also externally launched ones.
        
        Options: {0: 'No', 1: 'Yes'}
        Category: Network
        """
        ...
    @manageOnlyInternalProcesses.setter
    def manageOnlyInternalProcesses(self, value: int) -> None:
        ...

    @property
    def plan(self) -> OptiCalStagePlan:
        """
        The plan for execution at this venue
        
        Category: Network
        """
        ...
    @plan.setter
    def plan(self, value: OptiCalStagePlan) -> None:
        ...

    @property
    def renderFrameDelay(self) -> int:
        """
        Delay in [frames] between setting OmniCal render state and assuming visible projector output for camera capture. Try values above 5 if the downstream signal chain has additional delays.'
        
        Category: Network
        """
        ...
    @renderFrameDelay.setter
    def renderFrameDelay(self, value: int) -> None:
        ...

    @property
    def report(self) -> OptiCalReport:
        ...
    @report.setter
    def report(self, value: OptiCalReport) -> None:
        ...

    @property
    def resetAndRescanTask(self) -> OptiCalTask:
        ...

    @property
    def result(self) -> OptiCalResult:
        """
        Category: Network
        """
        ...
    @result.setter
    def result(self, value: OptiCalResult) -> None:
        ...

    @property
    def showCode(self) -> int:
        ...
    @showCode.setter
    def showCode(self, value: int) -> None:
        ...

    @property
    def simulateProjectorLensDistortion(self) -> bool:
        ...
    @simulateProjectorLensDistortion.setter
    def simulateProjectorLensDistortion(self, enable: bool) -> None:
        ...

    @property
    def simulateProjectorWarpGrid(self) -> bool:
        ...
    @simulateProjectorWarpGrid.setter
    def simulateProjectorWarpGrid(self, enable: bool) -> None:
        ...

    @property
    def simulateStackedProjectorOutputs(self) -> bool:
        ...
    @simulateStackedProjectorOutputs.setter
    def simulateStackedProjectorOutputs(self, enable: bool) -> None:
        ...

    @property
    def testSimulatedProjectorWarps(self) -> bool:
        ...
    @testSimulatedProjectorWarps.setter
    def testSimulatedProjectorWarps(self, value: bool) -> None:
        ...

    @property
    def testWarpGridSize(self) -> Int2:
        ...
    @testWarpGridSize.setter
    def testWarpGridSize(self, value: Int2) -> None:
        ...

    @property
    def visualisation(self) -> int:
        ...
    @visualisation.setter
    def visualisation(self, vizState: int) -> None:
        ...

    @property
    def visualisationSource(self) -> int:
        """
        Category: Network
        """
        ...
    @visualisationSource.setter
    def visualisationSource(self, value: int) -> None:
        ...

    def clearMeshDataCache(self) -> None:
        ...

    def clearRenderedObjects(self) -> None:
        ...

    def disableWarps(self) -> None:
        ...

    def executePlan(self) -> OptiCalTask:
        ...

    def getObject(self) -> OpticalCalibratorObject:
        ...

    def isBusy(self) -> bool:
        ...

    def isCapturing(self) -> bool:
        ...

    def renderStageFromCamera(self, cameraMats: CameraMats, widgetViewMat: Mat, imageScale: Vec2, imageCentre: Vec2, stageRenderOpacity: float) -> None:
        ...

    def renderWireframeFromCamera(self, mesh: Mesh, worldMat: Mat, cameraMats: CameraMats, widgetViewMat: Mat, imageScale: Vec2, imageCentre: Vec2, wireframeParams: WireframeRenderParams) -> None:
        ...

    def requestResetAndRescan(self) -> OptiCalTask:
        ...

    def saveCalibratedCameras(self) -> None:
        ...

    def sendWarps(self) -> None:
        ...

    def showRenderedObjects(self) -> None:
        ...

    def visualisationPlan(self) -> OptiCalStagePlan:
        ...


class OpticalCalibratorObject(Object):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'OpticalCalibratorObject'

    @property
    def displayIndex(self) -> int:
        """
        Projector filter for point cloud
        """
        ...
    @displayIndex.setter
    def displayIndex(self, value: int) -> None:
        ...

    @property
    def pointCloudLabels(self) -> int:
        """
        Whether point labels are drawn and what value they will display
        
        Options: {0: 'Off', 1: 'GridCode', 2: 'ProjectorReprojError'}
        """
        ...
    @pointCloudLabels.setter
    def pointCloudLabels(self, value: int) -> None:
        ...

    @property
    def pointCloudMaxLineLength(self) -> float:
        """
        Max line length between points in reconstructed 3D point cloud.
        """
        ...
    @pointCloudMaxLineLength.setter
    def pointCloudMaxLineLength(self, value: float) -> None:
        ...

    @property
    def pointCloudMode(self) -> int:
        """
        Mode for visualising reconstructed 3D point cloud.
        
        Options: {0: 'Off', 1: 'Tolerance', 2: 'Grid', 3: 'Observations', 4: 'Filtered only', 5: 'Distance to Mesh', 6: 'Normals', 7: 'Inlier score', 8: 'Inliers only', 9: 'Outliers only', 10: 'Weight', 11: 'Deform', 12: 'Lineup', 13: 'ProjectorInliersOnly', 14: 'ProjectorOutliersOnly', 15: 'ProjectorReprojError'}
        """
        ...
    @pointCloudMode.setter
    def pointCloudMode(self, value: int) -> None:
        ...

    @property
    def pointCloudScale(self) -> float:
        """
        Scale factor for rendering points in the grid. The drawn point size also depends on visualisation mode.
        """
        ...
    @pointCloudScale.setter
    def pointCloudScale(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class OpticalCalibratorSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def calibrator(self) -> OpticalCalibrator:
        ...

    @property
    def camComms(self) -> MobileCameraCommunication:
        ...

    @property
    def cameraCal(self) -> CameraCalibration:
        ...

    @property
    def discoveryEnabled(self) -> bool:
        ...
    @discoveryEnabled.setter
    def discoveryEnabled(self, enabled: bool) -> None:
        ...

    @property
    def isStoppingVimbaCamServer(self) -> bool:
        ...

    @property
    def paths(self) -> unique_ptr[PathsManagerOptiCal]:
        ...

    def __init__(self) -> None:
        ...

    def findOnlineCamera(self, camFilename: str) -> MobileCam:
        ...

    def findOnlineCameraById(self, id: str) -> MobileCam:
        ...

    def findOrCreateMobileCamRef(self, id: str, name: str) -> MobileCameraReference:
        ...

    def getDiscoveryAdapterIp(self) -> str:
        ...

    def inErrorStatus(self) -> bool:
        ...

    def isVimbaInstalled(self) -> bool:
        ...

    def requestDiscovery(self, requested: bool, reqKey: str) -> bool:
        ...

    def setDiscoveryAdapterIp(self, physicalIp: str, broadcastIp: str) -> None:
        ...


class OptionParam(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: OptionParam) -> None:
        ...


class Options(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def GPUFanSpeedPercentOverride(self) -> OptionValue[int]:
        """
        The value of the option switch GPUFanSpeedPercentOverride
        """
        ...
    @GPUFanSpeedPercentOverride.setter
    def GPUFanSpeedPercentOverride(self, value: OptionValue[int]) -> None:
        ...

    @property
    def RgbEasyVideoFormat(self) -> OptionValue[int]:
        """
        The value of the option switch RgbEasyVideoFormat
        """
        ...
    @RgbEasyVideoFormat.setter
    def RgbEasyVideoFormat(self, value: OptionValue[int]) -> None:
        ...

    @property
    def additionalCommandLatency(self) -> OptionValue[int]:
        """
        The value of the option switch additionalCommandLatency
        """
        ...
    @additionalCommandLatency.setter
    def additionalCommandLatency(self, value: OptionValue[int]) -> None:
        ...

    @property
    def allocateExtraMB(self) -> OptionValue[int]:
        """
        The value of the option switch allocateExtraMB
        """
        ...
    @allocateExtraMB.setter
    def allocateExtraMB(self, value: OptionValue[int]) -> None:
        ...

    @property
    def allowOpenEditorsWhilePlaying(self) -> OptionValue[bool]:
        """
        The value of the option switch allowOpenEditorsWhilePlaying
        """
        ...
    @allowOpenEditorsWhilePlaying.setter
    def allowOpenEditorsWhilePlaying(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def allowPersistentMute(self) -> OptionValue[bool]:
        """
        The value of the option switch allowPersistentMute
        """
        ...
    @allowPersistentMute.setter
    def allowPersistentMute(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def allowPrefetcherLookaheadModulation(self) -> OptionValue[bool]:
        """
        The value of the option switch allowPrefetcherLookaheadModulation
        """
        ...
    @allowPrefetcherLookaheadModulation.setter
    def allowPrefetcherLookaheadModulation(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def allowProjectCorruption(self) -> OptionValue[bool]:
        """
        The value of the option switch allowProjectCorruption
        """
        ...
    @allowProjectCorruption.setter
    def allowProjectCorruption(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def applyCalibrationLUTInVisualiser(self) -> OptionValue[bool]:
        """
        The value of the option switch applyCalibrationLUTInVisualiser
        """
        ...
    @applyCalibrationLUTInVisualiser.setter
    def applyCalibrationLUTInVisualiser(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def audioInputDriver(self) -> OptionValue[int]:
        """
        The value of the option switch audioInputDriver
        """
        ...
    @audioInputDriver.setter
    def audioInputDriver(self, value: OptionValue[int]) -> None:
        ...

    @property
    def audioLinePcmSize(self) -> OptionValue[int]:
        """
        The value of the option switch audioLinePcmSize
        """
        ...
    @audioLinePcmSize.setter
    def audioLinePcmSize(self, value: OptionValue[int]) -> None:
        ...

    @property
    def audioMinFadeRamp(self) -> OptionValue[int]:
        """
        The value of the option switch audioMinFadeRamp
        """
        ...
    @audioMinFadeRamp.setter
    def audioMinFadeRamp(self, value: OptionValue[int]) -> None:
        ...

    @property
    def audioStreamBufferSize(self) -> OptionValue[int]:
        """
        The value of the option switch audioStreamBufferSize
        """
        ...
    @audioStreamBufferSize.setter
    def audioStreamBufferSize(self, value: OptionValue[int]) -> None:
        ...

    @property
    def automationKeyframeInterval(self) -> OptionValue[int]:
        """
        The value of the option switch automationKeyframeInterval
        """
        ...
    @automationKeyframeInterval.setter
    def automationKeyframeInterval(self, value: OptionValue[int]) -> None:
        ...

    @property
    def blackMagicMatrixSendDelay(self) -> OptionValue[int]:
        """
        The value of the option switch blackMagicMatrixSendDelay
        """
        ...
    @blackMagicMatrixSendDelay.setter
    def blackMagicMatrixSendDelay(self, value: OptionValue[int]) -> None:
        ...

    @property
    def bluefishVITCEnabled(self) -> OptionValue[bool]:
        """
        The value of the option switch bluefishVITCEnabled
        """
        ...
    @bluefishVITCEnabled.setter
    def bluefishVITCEnabled(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def cameraVideoInFpsDivisor(self) -> OptionValue[int]:
        """
        The value of the option switch cameraVideoInFpsDivisor
        """
        ...
    @cameraVideoInFpsDivisor.setter
    def cameraVideoInFpsDivisor(self, value: OptionValue[int]) -> None:
        ...

    @property
    def cefLoggingVerbosity(self) -> OptionValue[int]:
        """
        The value of the option switch cefLoggingVerbosity
        """
        ...
    @cefLoggingVerbosity.setter
    def cefLoggingVerbosity(self, value: OptionValue[int]) -> None:
        ...

    @property
    def commsProcessingTime(self) -> OptionValue[int]:
        """
        The value of the option switch commsProcessingTime
        """
        ...
    @commsProcessingTime.setter
    def commsProcessingTime(self, value: OptionValue[int]) -> None:
        ...

    @property
    def commsResendWindowSize(self) -> OptionValue[int]:
        """
        The value of the option switch commsResendWindowSize
        """
        ...
    @commsResendWindowSize.setter
    def commsResendWindowSize(self, value: OptionValue[int]) -> None:
        ...

    @property
    def crtBreakAlloc(self) -> OptionValue[int]:
        """
        The value of the option switch crtBreakAlloc
        """
        ...
    @crtBreakAlloc.setter
    def crtBreakAlloc(self, value: OptionValue[int]) -> None:
        ...

    @property
    def debugBlackBox(self) -> OptionValue[bool]:
        """
        The value of the option switch debugBlackBox
        """
        ...
    @debugBlackBox.setter
    def debugBlackBox(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def debugCameraTrackingReceiveDelta(self) -> OptionValue[bool]:
        """
        The value of the option switch debugCameraTrackingReceiveDelta
        """
        ...
    @debugCameraTrackingReceiveDelta.setter
    def debugCameraTrackingReceiveDelta(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def debugCameraTrackingSync(self) -> OptionValue[bool]:
        """
        The value of the option switch debugCameraTrackingSync
        """
        ...
    @debugCameraTrackingSync.setter
    def debugCameraTrackingSync(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def debugComms(self) -> OptionValue[int]:
        """
        The value of the option switch debugComms
        """
        ...
    @debugComms.setter
    def debugComms(self, value: OptionValue[int]) -> None:
        ...

    @property
    def debugControlDevice(self) -> OptionValue[bool]:
        """
        The value of the option switch debugControlDevice
        """
        ...
    @debugControlDevice.setter
    def debugControlDevice(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def debugGPUAllocation(self) -> OptionValue[bool]:
        """
        The value of the option switch debugGPUAllocation
        """
        ...
    @debugGPUAllocation.setter
    def debugGPUAllocation(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def debugLevelAudio(self) -> OptionValue[int]:
        """
        The value of the option switch debugLevelAudio
        """
        ...
    @debugLevelAudio.setter
    def debugLevelAudio(self, value: OptionValue[int]) -> None:
        ...

    @property
    def debugLevelBluefish(self) -> OptionValue[int]:
        """
        The value of the option switch debugLevelBluefish
        """
        ...
    @debugLevelBluefish.setter
    def debugLevelBluefish(self, value: OptionValue[int]) -> None:
        ...

    @property
    def debugLiveUpdate(self) -> OptionValue[int]:
        """
        The value of the option switch debugLiveUpdate
        """
        ...
    @debugLiveUpdate.setter
    def debugLiveUpdate(self, value: OptionValue[int]) -> None:
        ...

    @property
    def debugLiveUpdateMaxCache(self) -> OptionValue[int]:
        """
        The value of the option switch debugLiveUpdateMaxCache
        """
        ...
    @debugLiveUpdateMaxCache.setter
    def debugLiveUpdateMaxCache(self, value: OptionValue[int]) -> None:
        ...

    @property
    def debugLocalisation(self) -> OptionValue[bool]:
        """
        The value of the option switch debugLocalisation
        """
        ...
    @debugLocalisation.setter
    def debugLocalisation(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def debugMediaManager(self) -> OptionValue[bool]:
        """
        The value of the option switch debugMediaManager
        """
        ...
    @debugMediaManager.setter
    def debugMediaManager(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def debugMessaging(self) -> OptionValue[bool]:
        """
        The value of the option switch debugMessaging
        """
        ...
    @debugMessaging.setter
    def debugMessaging(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def debugPrefetchScan(self) -> OptionValue[bool]:
        """
        The value of the option switch debugPrefetchScan
        """
        ...
    @debugPrefetchScan.setter
    def debugPrefetchScan(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def debugPresentData(self) -> OptionValue[bool]:
        """
        The value of the option switch debugPresentData
        """
        ...
    @debugPresentData.setter
    def debugPresentData(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def debugResourceFileDeletion(self) -> OptionValue[bool]:
        """
        The value of the option switch debugResourceFileDeletion
        """
        ...
    @debugResourceFileDeletion.setter
    def debugResourceFileDeletion(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def debugRivermaxStream(self) -> OptionValue[bool]:
        """
        The value of the option switch debugRivermaxStream
        """
        ...
    @debugRivermaxStream.setter
    def debugRivermaxStream(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def debugSockPuppetTimecode(self) -> OptionValue[bool]:
        """
        The value of the option switch debugSockPuppetTimecode
        """
        ...
    @debugSockPuppetTimecode.setter
    def debugSockPuppetTimecode(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def debugTextureLifetimes(self) -> OptionValue[bool]:
        """
        The value of the option switch debugTextureLifetimes
        """
        ...
    @debugTextureLifetimes.setter
    def debugTextureLifetimes(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def debugVSyncEstimationLevel(self) -> OptionValue[int]:
        """
        The value of the option switch debugVSyncEstimationLevel
        """
        ...
    @debugVSyncEstimationLevel.setter
    def debugVSyncEstimationLevel(self, value: OptionValue[int]) -> None:
        ...

    @property
    def defaultDetachedBankEditorResources(self) -> OptionValue[bool]:
        """
        The value of the option switch defaultDetachedBankEditorResources
        """
        ...
    @defaultDetachedBankEditorResources.setter
    def defaultDetachedBankEditorResources(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def deferActorStartup(self) -> OptionValue[bool]:
        """
        The value of the option switch deferActorStartup
        """
        ...
    @deferActorStartup.setter
    def deferActorStartup(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableActiveLatencyPhaseAdjustment(self) -> OptionValue[bool]:
        """
        The value of the option switch disableActiveLatencyPhaseAdjustment
        """
        ...
    @disableActiveLatencyPhaseAdjustment.setter
    def disableActiveLatencyPhaseAdjustment(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableAlignmentTransport(self) -> OptionValue[bool]:
        """
        The value of the option switch disableAlignmentTransport
        """
        ...
    @disableAlignmentTransport.setter
    def disableAlignmentTransport(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableAltTab(self) -> OptionValue[bool]:
        """
        The value of the option switch disableAltTab
        """
        ...
    @disableAltTab.setter
    def disableAltTab(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableAudioASIODriver(self) -> OptionValue[bool]:
        """
        The value of the option switch disableAudioASIODriver
        """
        ...
    @disableAudioASIODriver.setter
    def disableAudioASIODriver(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableAudioCrossfade(self) -> OptionValue[bool]:
        """
        The value of the option switch disableAudioCrossfade
        """
        ...
    @disableAudioCrossfade.setter
    def disableAudioCrossfade(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableAudioInput(self) -> OptionValue[bool]:
        """
        The value of the option switch disableAudioInput
        """
        ...
    @disableAudioInput.setter
    def disableAudioInput(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableCaptureDropFrameNotifications(self) -> OptionValue[bool]:
        """
        The value of the option switch disableCaptureDropFrameNotifications
        """
        ...
    @disableCaptureDropFrameNotifications.setter
    def disableCaptureDropFrameNotifications(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableColourCalAcceleration(self) -> OptionValue[bool]:
        """
        The value of the option switch disableColourCalAcceleration
        """
        ...
    @disableColourCalAcceleration.setter
    def disableColourCalAcceleration(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableConfirmationDialog(self) -> OptionValue[bool]:
        """
        The value of the option switch disableConfirmationDialog
        """
        ...
    @disableConfirmationDialog.setter
    def disableConfirmationDialog(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableDMXKeepAlive(self) -> OptionValue[bool]:
        """
        The value of the option switch disableDMXKeepAlive
        """
        ...
    @disableDMXKeepAlive.setter
    def disableDMXKeepAlive(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableDllVersionCheck(self) -> OptionValue[bool]:
        """
        The value of the option switch disableDllVersionCheck
        """
        ...
    @disableDllVersionCheck.setter
    def disableDllVersionCheck(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableDmxAdapterPoll(self) -> OptionValue[bool]:
        """
        The value of the option switch disableDmxAdapterPoll
        """
        ...
    @disableDmxAdapterPoll.setter
    def disableDmxAdapterPoll(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableDmxPacketSendWait(self) -> OptionValue[bool]:
        """
        The value of the option switch disableDmxPacketSendWait
        """
        ...
    @disableDmxPacketSendWait.setter
    def disableDmxPacketSendWait(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableDmxScreenChannelConflictCheck(self) -> OptionValue[bool]:
        """
        The value of the option switch disableDmxScreenChannelConflictCheck
        """
        ...
    @disableDmxScreenChannelConflictCheck.setter
    def disableDmxScreenChannelConflictCheck(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableDormantMode(self) -> OptionValue[bool]:
        """
        The value of the option switch disableDormantMode
        """
        ...
    @disableDormantMode.setter
    def disableDormantMode(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableFeedRectangleProxies(self) -> OptionValue[bool]:
        """
        The value of the option switch disableFeedRectangleProxies
        """
        ...
    @disableFeedRectangleProxies.setter
    def disableFeedRectangleProxies(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableFrameBlending(self) -> OptionValue[bool]:
        """
        The value of the option switch disableFrameBlending
        """
        ...
    @disableFrameBlending.setter
    def disableFrameBlending(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableFreeSpaceCheck(self) -> OptionValue[bool]:
        """
        The value of the option switch disableFreeSpaceCheck
        """
        ...
    @disableFreeSpaceCheck.setter
    def disableFreeSpaceCheck(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableHdrOnPrimary(self) -> OptionValue[bool]:
        """
        The value of the option switch disableHdrOnPrimary
        """
        ...
    @disableHdrOnPrimary.setter
    def disableHdrOnPrimary(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableInputInCameraEditor(self) -> OptionValue[bool]:
        """
        The value of the option switch disableInputInCameraEditor
        """
        ...
    @disableInputInCameraEditor.setter
    def disableInputInCameraEditor(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableLicenseOverLAN(self) -> OptionValue[bool]:
        """
        The value of the option switch disableLicenseOverLAN
        """
        ...
    @disableLicenseOverLAN.setter
    def disableLicenseOverLAN(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableLiveUpdate(self) -> OptionValue[bool]:
        """
        The value of the option switch disableLiveUpdate
        """
        ...
    @disableLiveUpdate.setter
    def disableLiveUpdate(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableNonSurfaceProxies(self) -> OptionValue[bool]:
        """
        The value of the option switch disableNonSurfaceProxies
        """
        ...
    @disableNonSurfaceProxies.setter
    def disableNonSurfaceProxies(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableOutputModeHotkeys(self) -> OptionValue[bool]:
        """
        The value of the option switch disableOutputModeHotkeys
        """
        ...
    @disableOutputModeHotkeys.setter
    def disableOutputModeHotkeys(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableOverlayMessages(self) -> OptionValue[bool]:
        """
        The value of the option switch disableOverlayMessages
        """
        ...
    @disableOverlayMessages.setter
    def disableOverlayMessages(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disablePrefetcherNotifications(self) -> OptionValue[bool]:
        """
        The value of the option switch disablePrefetcherNotifications
        """
        ...
    @disablePrefetcherNotifications.setter
    def disablePrefetcherNotifications(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableProxyMaker(self) -> OptionValue[bool]:
        """
        The value of the option switch disableProxyMaker
        """
        ...
    @disableProxyMaker.setter
    def disableProxyMaker(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableRefWarnings(self) -> OptionValue[bool]:
        """
        The value of the option switch disableRefWarnings
        """
        ...
    @disableRefWarnings.setter
    def disableRefWarnings(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableResourceSend(self) -> OptionValue[bool]:
        """
        The value of the option switch disableResourceSend
        """
        ...
    @disableResourceSend.setter
    def disableResourceSend(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableSendDisengagedObjects(self) -> OptionValue[bool]:
        """
        The value of the option switch disableSendDisengagedObjects
        """
        ...
    @disableSendDisengagedObjects.setter
    def disableSendDisengagedObjects(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableShaderCache(self) -> OptionValue[bool]:
        """
        The value of the option switch disableShaderCache
        """
        ...
    @disableShaderCache.setter
    def disableShaderCache(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableTelnetNotification(self) -> OptionValue[bool]:
        """
        The value of the option switch disableTelnetNotification
        """
        ...
    @disableTelnetNotification.setter
    def disableTelnetNotification(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableTrackSanityChecks(self) -> OptionValue[bool]:
        """
        The value of the option switch disableTrackSanityChecks
        """
        ...
    @disableTrackSanityChecks.setter
    def disableTrackSanityChecks(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableTrackingDataRedistribution(self) -> OptionValue[bool]:
        """
        The value of the option switch disableTrackingDataRedistribution
        """
        ...
    @disableTrackingDataRedistribution.setter
    def disableTrackingDataRedistribution(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableUnrealConfigUpdate(self) -> OptionValue[bool]:
        """
        The value of the option switch disableUnrealConfigUpdate
        """
        ...
    @disableUnrealConfigUpdate.setter
    def disableUnrealConfigUpdate(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableUnsupportedEmbeddedAudioNotification(self) -> OptionValue[bool]:
        """
        The value of the option switch disableUnsupportedEmbeddedAudioNotification
        """
        ...
    @disableUnsupportedEmbeddedAudioNotification.setter
    def disableUnsupportedEmbeddedAudioNotification(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableVFCConfigOnStartup(self) -> OptionValue[bool]:
        """
        The value of the option switch disableVFCConfigOnStartup
        """
        ...
    @disableVFCConfigOnStartup.setter
    def disableVFCConfigOnStartup(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableVR(self) -> OptionValue[bool]:
        """
        The value of the option switch disableVR
        """
        ...
    @disableVR.setter
    def disableVR(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableVideoInDeviceMap(self) -> OptionValue[bool]:
        """
        The value of the option switch disableVideoInDeviceMap
        """
        ...
    @disableVideoInDeviceMap.setter
    def disableVideoInDeviceMap(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableVideoclipThumbnailVersions(self) -> OptionValue[bool]:
        """
        The value of the option switch disableVideoclipThumbnailVersions
        """
        ...
    @disableVideoclipThumbnailVersions.setter
    def disableVideoclipThumbnailVersions(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def disableWDGA36ACRC(self) -> OptionValue[bool]:
        """
        The value of the option switch disableWDGA36ACRC
        """
        ...
    @disableWDGA36ACRC.setter
    def disableWDGA36ACRC(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def drawMouseCursor(self) -> OptionValue[bool]:
        """
        The value of the option switch drawMouseCursor
        """
        ...
    @drawMouseCursor.setter
    def drawMouseCursor(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def dumpFrameStats(self) -> OptionValue[bool]:
        """
        The value of the option switch dumpFrameStats
        """
        ...
    @dumpFrameStats.setter
    def dumpFrameStats(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def dumpReflectionTypePointers(self) -> OptionValue[bool]:
        """
        The value of the option switch dumpReflectionTypePointers
        """
        ...
    @dumpReflectionTypePointers.setter
    def dumpReflectionTypePointers(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableACESFinalMatrix(self) -> OptionValue[bool]:
        """
        The value of the option switch enableACESFinalMatrix
        """
        ...
    @enableACESFinalMatrix.setter
    def enableACESFinalMatrix(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableActiveRegions(self) -> OptionValue[bool]:
        """
        The value of the option switch enableActiveRegions
        """
        ...
    @enableActiveRegions.setter
    def enableActiveRegions(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableAlphaMaskDSE(self) -> OptionValue[bool]:
        """
        The value of the option switch enableAlphaMaskDSE
        """
        ...
    @enableAlphaMaskDSE.setter
    def enableAlphaMaskDSE(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableArtificialLatency(self) -> OptionValue[bool]:
        """
        The value of the option switch enableArtificialLatency
        """
        ...
    @enableArtificialLatency.setter
    def enableArtificialLatency(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableChromaKeyModule(self) -> OptionValue[bool]:
        """
        The value of the option switch enableChromaKeyModule
        """
        ...
    @enableChromaKeyModule.setter
    def enableChromaKeyModule(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableColourFormat(self) -> OptionValue[bool]:
        """
        The value of the option switch enableColourFormat
        """
        ...
    @enableColourFormat.setter
    def enableColourFormat(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableCrashReporting(self) -> OptionValue[bool]:
        """
        The value of the option switch enableCrashReporting
        """
        ...
    @enableCrashReporting.setter
    def enableCrashReporting(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableDeleteOldMedia(self) -> OptionValue[bool]:
        """
        The value of the option switch enableDeleteOldMedia
        """
        ...
    @enableDeleteOldMedia.setter
    def enableDeleteOldMedia(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableDualModeVFC(self) -> OptionValue[bool]:
        """
        The value of the option switch enableDualModeVFC
        """
        ...
    @enableDualModeVFC.setter
    def enableDualModeVFC(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableExperimentalOutput(self) -> OptionValue[bool]:
        """
        The value of the option switch enableExperimentalOutput
        """
        ...
    @enableExperimentalOutput.setter
    def enableExperimentalOutput(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableFeedAlpha(self) -> OptionValue[bool]:
        """
        The value of the option switch enableFeedAlpha
        """
        ...
    @enableFeedAlpha.setter
    def enableFeedAlpha(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableFfmpegLogging(self) -> OptionValue[bool]:
        """
        The value of the option switch enableFfmpegLogging
        """
        ...
    @enableFfmpegLogging.setter
    def enableFfmpegLogging(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableGuiFeed(self) -> OptionValue[bool]:
        """
        The value of the option switch enableGuiFeed
        """
        ...
    @enableGuiFeed.setter
    def enableGuiFeed(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableHighDynamicRange(self) -> OptionValue[bool]:
        """
        The value of the option switch enableHighDynamicRange
        """
        ...
    @enableHighDynamicRange.setter
    def enableHighDynamicRange(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableIPSDIExperimentalModes(self) -> OptionValue[bool]:
        """
        The value of the option switch enableIPSDIExperimentalModes
        """
        ...
    @enableIPSDIExperimentalModes.setter
    def enableIPSDIExperimentalModes(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableIPVideo(self) -> OptionValue[int]:
        """
        The value of the option switch enableIPVideo
        """
        ...
    @enableIPVideo.setter
    def enableIPVideo(self, value: OptionValue[int]) -> None:
        ...

    @property
    def enableLensCalibrationLoading(self) -> OptionValue[bool]:
        """
        The value of the option switch enableLensCalibrationLoading
        """
        ...
    @enableLensCalibrationLoading.setter
    def enableLensCalibrationLoading(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableMeshDeform(self) -> OptionValue[bool]:
        """
        The value of the option switch enableMeshDeform
        """
        ...
    @enableMeshDeform.setter
    def enableMeshDeform(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableMixedReality(self) -> OptionValue[bool]:
        """
        The value of the option switch enableMixedReality
        """
        ...
    @enableMixedReality.setter
    def enableMixedReality(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableMultiview(self) -> OptionValue[bool]:
        """
        The value of the option switch enableMultiview
        """
        ...
    @enableMultiview.setter
    def enableMultiview(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableNotchNDI(self) -> OptionValue[bool]:
        """
        The value of the option switch enableNotchNDI
        """
        ...
    @enableNotchNDI.setter
    def enableNotchNDI(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableOutOfBandNMOS(self) -> OptionValue[bool]:
        """
        The value of the option switch enableOutOfBandNMOS
        """
        ...
    @enableOutOfBandNMOS.setter
    def enableOutOfBandNMOS(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enablePerAxisScreenPositionLockout(self) -> OptionValue[bool]:
        """
        The value of the option switch enablePerAxisScreenPositionLockout
        """
        ...
    @enablePerAxisScreenPositionLockout.setter
    def enablePerAxisScreenPositionLockout(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enablePrefetcherGraphDebug(self) -> OptionValue[bool]:
        """
        The value of the option switch enablePrefetcherGraphDebug
        """
        ...
    @enablePrefetcherGraphDebug.setter
    def enablePrefetcherGraphDebug(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableProjectorDeviceLogging(self) -> OptionValue[int]:
        """
        The value of the option switch enableProjectorDeviceLogging
        """
        ...
    @enableProjectorDeviceLogging.setter
    def enableProjectorDeviceLogging(self, value: OptionValue[int]) -> None:
        ...

    @property
    def enableProjectorDeviceRetries(self) -> OptionValue[int]:
        """
        The value of the option switch enableProjectorDeviceRetries
        """
        ...
    @enableProjectorDeviceRetries.setter
    def enableProjectorDeviceRetries(self, value: OptionValue[int]) -> None:
        ...

    @property
    def enableProjectorStacking(self) -> OptionValue[bool]:
        """
        The value of the option switch enableProjectorStacking
        """
        ...
    @enableProjectorStacking.setter
    def enableProjectorStacking(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableProofOfPlay(self) -> OptionValue[bool]:
        """
        The value of the option switch enableProofOfPlay
        """
        ...
    @enableProofOfPlay.setter
    def enableProofOfPlay(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableRenderStreamEngineSync(self) -> OptionValue[bool]:
        """
        The value of the option switch enableRenderStreamEngineSync
        """
        ...
    @enableRenderStreamEngineSync.setter
    def enableRenderStreamEngineSync(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableRenderStreamNDI(self) -> OptionValue[bool]:
        """
        The value of the option switch enableRenderStreamNDI
        """
        ...
    @enableRenderStreamNDI.setter
    def enableRenderStreamNDI(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableResourceFileDeletion(self) -> OptionValue[bool]:
        """
        The value of the option switch enableResourceFileDeletion
        """
        ...
    @enableResourceFileDeletion.setter
    def enableResourceFileDeletion(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableSLC(self) -> OptionValue[bool]:
        """
        The value of the option switch enableSLC
        """
        ...
    @enableSLC.setter
    def enableSLC(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableSeparateRotationAndSpatialDelays(self) -> OptionValue[bool]:
        """
        The value of the option switch enableSeparateRotationAndSpatialDelays
        """
        ...
    @enableSeparateRotationAndSpatialDelays.setter
    def enableSeparateRotationAndSpatialDelays(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableShaderSourceDebugging(self) -> OptionValue[bool]:
        """
        The value of the option switch enableShaderSourceDebugging
        """
        ...
    @enableShaderSourceDebugging.setter
    def enableShaderSourceDebugging(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableShadowResourceDomain(self) -> OptionValue[bool]:
        """
        The value of the option switch enableShadowResourceDomain
        """
        ...
    @enableShadowResourceDomain.setter
    def enableShadowResourceDomain(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableSharedLayers(self) -> OptionValue[bool]:
        """
        The value of the option switch enableSharedLayers
        """
        ...
    @enableSharedLayers.setter
    def enableSharedLayers(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableSkeletalPointTrackingSourceTwist(self) -> OptionValue[int]:
        """
        The value of the option switch enableSkeletalPointTrackingSourceTwist
        """
        ...
    @enableSkeletalPointTrackingSourceTwist.setter
    def enableSkeletalPointTrackingSourceTwist(self, value: OptionValue[int]) -> None:
        ...

    @property
    def enableSmartGroups(self) -> OptionValue[bool]:
        """
        The value of the option switch enableSmartGroups
        """
        ...
    @enableSmartGroups.setter
    def enableSmartGroups(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableSpinelFloor(self) -> OptionValue[bool]:
        """
        The value of the option switch enableSpinelFloor
        """
        ...
    @enableSpinelFloor.setter
    def enableSpinelFloor(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableTimelineZoomOnScroll(self) -> OptionValue[bool]:
        """
        The value of the option switch enableTimelineZoomOnScroll
        """
        ...
    @enableTimelineZoomOnScroll.setter
    def enableTimelineZoomOnScroll(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableUnusedMediaManagement(self) -> OptionValue[bool]:
        """
        The value of the option switch enableUnusedMediaManagement
        """
        ...
    @enableUnusedMediaManagement.setter
    def enableUnusedMediaManagement(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableVicon(self) -> OptionValue[bool]:
        """
        The value of the option switch enableVicon
        """
        ...
    @enableVicon.setter
    def enableVicon(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableVideoBlackCompensation(self) -> OptionValue[bool]:
        """
        The value of the option switch enableVideoBlackCompensation
        """
        ...
    @enableVideoBlackCompensation.setter
    def enableVideoBlackCompensation(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableVideoFileBuffering(self) -> OptionValue[bool]:
        """
        The value of the option switch enableVideoFileBuffering
        """
        ...
    @enableVideoFileBuffering.setter
    def enableVideoFileBuffering(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableWebGL(self) -> OptionValue[bool]:
        """
        The value of the option switch enableWebGL
        """
        ...
    @enableWebGL.setter
    def enableWebGL(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def enableWebGLPublish(self) -> OptionValue[bool]:
        """
        The value of the option switch enableWebGLPublish
        """
        ...
    @enableWebGLPublish.setter
    def enableWebGLPublish(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def etwLevel(self) -> OptionValue[int]:
        """
        The value of the option switch etwLevel
        """
        ...
    @etwLevel.setter
    def etwLevel(self, value: OptionValue[int]) -> None:
        ...

    @property
    def fixedModeTimerFPS(self) -> OptionValue[int]:
        """
        The value of the option switch fixedModeTimerFPS
        """
        ...
    @fixedModeTimerFPS.setter
    def fixedModeTimerFPS(self, value: OptionValue[int]) -> None:
        ...

    @property
    def forceDXGIColorSpace(self) -> OptionValue[int]:
        """
        The value of the option switch forceDXGIColorSpace
        """
        ...
    @forceDXGIColorSpace.setter
    def forceDXGIColorSpace(self, value: OptionValue[int]) -> None:
        ...

    @property
    def forceDXGISwapChainType(self) -> OptionValue[int]:
        """
        The value of the option switch forceDXGISwapChainType
        """
        ...
    @forceDXGISwapChainType.setter
    def forceDXGISwapChainType(self, value: OptionValue[int]) -> None:
        ...

    @property
    def forceDXGISwapEffect(self) -> OptionValue[int]:
        """
        The value of the option switch forceDXGISwapEffect
        """
        ...
    @forceDXGISwapEffect.setter
    def forceDXGISwapEffect(self, value: OptionValue[int]) -> None:
        ...

    @property
    def forceDXGIWindowed(self) -> OptionValue[bool]:
        """
        The value of the option switch forceDXGIWindowed
        """
        ...
    @forceDXGIWindowed.setter
    def forceDXGIWindowed(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def forceDirectorLiveUpdateBlocked(self) -> OptionValue[bool]:
        """
        The value of the option switch forceDirectorLiveUpdateBlocked
        """
        ...
    @forceDirectorLiveUpdateBlocked.setter
    def forceDirectorLiveUpdateBlocked(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def forceOpenCL(self) -> OptionValue[bool]:
        """
        The value of the option switch forceOpenCL
        """
        ...
    @forceOpenCL.setter
    def forceOpenCL(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def forceOutputBitDepth(self) -> OptionValue[int]:
        """
        The value of the option switch forceOutputBitDepth
        """
        ...
    @forceOutputBitDepth.setter
    def forceOutputBitDepth(self, value: OptionValue[int]) -> None:
        ...

    @property
    def forcePIDTimecodeChase(self) -> OptionValue[bool]:
        """
        The value of the option switch forcePIDTimecodeChase
        """
        ...
    @forcePIDTimecodeChase.setter
    def forcePIDTimecodeChase(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def forcePrimaryOutputTo8Bit(self) -> OptionValue[bool]:
        """
        The value of the option switch forcePrimaryOutputTo8Bit
        """
        ...
    @forcePrimaryOutputTo8Bit.setter
    def forcePrimaryOutputTo8Bit(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def forceRSUCNumaNode(self) -> OptionValue[int]:
        """
        The value of the option switch forceRSUCNumaNode
        """
        ...
    @forceRSUCNumaNode.setter
    def forceRSUCNumaNode(self, value: OptionValue[int]) -> None:
        ...

    @property
    def forceShadowBufferRendering(self) -> OptionValue[bool]:
        """
        The value of the option switch forceShadowBufferRendering
        """
        ...
    @forceShadowBufferRendering.setter
    def forceShadowBufferRendering(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def forceVsyncOnPrimary(self) -> OptionValue[int]:
        """
        The value of the option switch forceVsyncOnPrimary
        """
        ...
    @forceVsyncOnPrimary.setter
    def forceVsyncOnPrimary(self, value: OptionValue[int]) -> None:
        ...

    @property
    def gameSetEspresso(self) -> OptionValue[bool]:
        """
        The value of the option switch gameSetEspresso
        """
        ...
    @gameSetEspresso.setter
    def gameSetEspresso(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def generateWorkloadHTTPCommands(self) -> OptionValue[bool]:
        """
        The value of the option switch generateWorkloadHTTPCommands
        """
        ...
    @generateWorkloadHTTPCommands.setter
    def generateWorkloadHTTPCommands(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def genlockPhaseAdjustLines(self) -> OptionValue[int]:
        """
        The value of the option switch genlockPhaseAdjustLines
        """
        ...
    @genlockPhaseAdjustLines.setter
    def genlockPhaseAdjustLines(self, value: OptionValue[int]) -> None:
        ...

    @property
    def genlockPhaseAdjustPixels(self) -> OptionValue[int]:
        """
        The value of the option switch genlockPhaseAdjustPixels
        """
        ...
    @genlockPhaseAdjustPixels.setter
    def genlockPhaseAdjustPixels(self, value: OptionValue[int]) -> None:
        ...

    @property
    def gpuPoolLogLevel(self) -> OptionValue[int]:
        """
        The value of the option switch gpuPoolLogLevel
        """
        ...
    @gpuPoolLogLevel.setter
    def gpuPoolLogLevel(self, value: OptionValue[int]) -> None:
        ...

    @property
    def gpuPoolMemoryPercentage(self) -> OptionValue[int]:
        """
        The value of the option switch gpuPoolMemoryPercentage
        """
        ...
    @gpuPoolMemoryPercentage.setter
    def gpuPoolMemoryPercentage(self, value: OptionValue[int]) -> None:
        ...

    @property
    def importUsingVmap(self) -> OptionValue[bool]:
        """
        The value of the option switch importUsingVmap
        """
        ...
    @importUsingVmap.setter
    def importUsingVmap(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isAudioInMovDisabled(self) -> OptionValue[bool]:
        """
        The value of the option switch isAudioInMovDisabled
        """
        ...
    @isAudioInMovDisabled.setter
    def isAudioInMovDisabled(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isAutoCalib4PointDisabled(self) -> OptionValue[bool]:
        """
        The value of the option switch isAutoCalib4PointDisabled
        """
        ...
    @isAutoCalib4PointDisabled.setter
    def isAutoCalib4PointDisabled(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isAutoCalib4PointExperimentalEnabled(self) -> OptionValue[bool]:
        """
        The value of the option switch isAutoCalib4PointExperimentalEnabled
        """
        ...
    @isAutoCalib4PointExperimentalEnabled.setter
    def isAutoCalib4PointExperimentalEnabled(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isAutoCalib4PointPlusEnabled(self) -> OptionValue[bool]:
        """
        The value of the option switch isAutoCalib4PointPlusEnabled
        """
        ...
    @isAutoCalib4PointPlusEnabled.setter
    def isAutoCalib4PointPlusEnabled(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isAutoCalibAltMethodEnabled(self) -> OptionValue[bool]:
        """
        The value of the option switch isAutoCalibAltMethodEnabled
        """
        ...
    @isAutoCalibAltMethodEnabled.setter
    def isAutoCalibAltMethodEnabled(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isAutoCalibDeveloper(self) -> OptionValue[bool]:
        """
        The value of the option switch isAutoCalibDeveloper
        """
        ...
    @isAutoCalibDeveloper.setter
    def isAutoCalibDeveloper(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isAutoCalibDistortionEnabled(self) -> OptionValue[bool]:
        """
        The value of the option switch isAutoCalibDistortionEnabled
        """
        ...
    @isAutoCalibDistortionEnabled.setter
    def isAutoCalibDistortionEnabled(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isAutoCalibGoldDisabled(self) -> OptionValue[bool]:
        """
        The value of the option switch isAutoCalibGoldDisabled
        """
        ...
    @isAutoCalibGoldDisabled.setter
    def isAutoCalibGoldDisabled(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isAutoCalibMethodsEnabled(self) -> OptionValue[bool]:
        """
        The value of the option switch isAutoCalibMethodsEnabled
        """
        ...
    @isAutoCalibMethodsEnabled.setter
    def isAutoCalibMethodsEnabled(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isAutoCalibUpdateViewEnabled(self) -> OptionValue[bool]:
        """
        The value of the option switch isAutoCalibUpdateViewEnabled
        """
        ...
    @isAutoCalibUpdateViewEnabled.setter
    def isAutoCalibUpdateViewEnabled(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isAutoCalibWarnMovedRefPointsEnabled(self) -> OptionValue[bool]:
        """
        The value of the option switch isAutoCalibWarnMovedRefPointsEnabled
        """
        ...
    @isAutoCalibWarnMovedRefPointsEnabled.setter
    def isAutoCalibWarnMovedRefPointsEnabled(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isAutoCalibZhangDisabled(self) -> OptionValue[bool]:
        """
        The value of the option switch isAutoCalibZhangDisabled
        """
        ...
    @isAutoCalibZhangDisabled.setter
    def isAutoCalibZhangDisabled(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isBlackBoxPlaybackIgnoreD3Version(self) -> OptionValue[bool]:
        """
        The value of the option switch isBlackBoxPlaybackIgnoreD3Version
        """
        ...
    @isBlackBoxPlaybackIgnoreD3Version.setter
    def isBlackBoxPlaybackIgnoreD3Version(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isCITPVerbose(self) -> OptionValue[bool]:
        """
        The value of the option switch isCITPVerbose
        """
        ...
    @isCITPVerbose.setter
    def isCITPVerbose(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isCefSingleThreaded(self) -> OptionValue[bool]:
        """
        The value of the option switch isCefSingleThreaded
        """
        ...
    @isCefSingleThreaded.setter
    def isCefSingleThreaded(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isClearArrowsEnabled(self) -> OptionValue[bool]:
        """
        The value of the option switch isClearArrowsEnabled
        """
        ...
    @isClearArrowsEnabled.setter
    def isClearArrowsEnabled(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isDebugFullScreen(self) -> OptionValue[bool]:
        """
        The value of the option switch isDebugFullScreen
        """
        ...
    @isDebugFullScreen.setter
    def isDebugFullScreen(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isDebugMultiHead(self) -> OptionValue[bool]:
        """
        The value of the option switch isDebugMultiHead
        """
        ...
    @isDebugMultiHead.setter
    def isDebugMultiHead(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isDebuggingBlackTrax(self) -> OptionValue[int]:
        """
        The value of the option switch isDebuggingBlackTrax
        """
        ...
    @isDebuggingBlackTrax.setter
    def isDebuggingBlackTrax(self, value: OptionValue[int]) -> None:
        ...

    @property
    def isDebuggingFolderWatcher(self) -> OptionValue[bool]:
        """
        The value of the option switch isDebuggingFolderWatcher
        """
        ...
    @isDebuggingFolderWatcher.setter
    def isDebuggingFolderWatcher(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isDebuggingInReleaseAllowed(self) -> OptionValue[bool]:
        """
        The value of the option switch isDebuggingInReleaseAllowed
        """
        ...
    @isDebuggingInReleaseAllowed.setter
    def isDebuggingInReleaseAllowed(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isDebuggingNDI(self) -> OptionValue[bool]:
        """
        The value of the option switch isDebuggingNDI
        """
        ...
    @isDebuggingNDI.setter
    def isDebuggingNDI(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isDebuggingTargetChanges(self) -> OptionValue[bool]:
        """
        The value of the option switch isDebuggingTargetChanges
        """
        ...
    @isDebuggingTargetChanges.setter
    def isDebuggingTargetChanges(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isDebuggingTexturePool(self) -> OptionValue[bool]:
        """
        The value of the option switch isDebuggingTexturePool
        """
        ...
    @isDebuggingTexturePool.setter
    def isDebuggingTexturePool(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isDeveloper(self) -> OptionValue[bool]:
        """
        The value of the option switch isDeveloper
        """
        ...
    @isDeveloper.setter
    def isDeveloper(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isForceGPUFanControl(self) -> OptionValue[bool]:
        """
        The value of the option switch isForceGPUFanControl
        """
        ...
    @isForceGPUFanControl.setter
    def isForceGPUFanControl(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isInputMapTracingEnabled(self) -> OptionValue[bool]:
        """
        The value of the option switch isInputMapTracingEnabled
        """
        ...
    @isInputMapTracingEnabled.setter
    def isInputMapTracingEnabled(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isKalmanFilterEnabled(self) -> OptionValue[bool]:
        """
        The value of the option switch isKalmanFilterEnabled
        """
        ...
    @isKalmanFilterEnabled.setter
    def isKalmanFilterEnabled(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isMouseUnrestricted(self) -> OptionValue[bool]:
        """
        The value of the option switch isMouseUnrestricted
        """
        ...
    @isMouseUnrestricted.setter
    def isMouseUnrestricted(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isNotCachingTextureHandles(self) -> OptionValue[bool]:
        """
        The value of the option switch isNotCachingTextureHandles
        """
        ...
    @isNotCachingTextureHandles.setter
    def isNotCachingTextureHandles(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isPythonVerbose(self) -> OptionValue[bool]:
        """
        The value of the option switch isPythonVerbose
        """
        ...
    @isPythonVerbose.setter
    def isPythonVerbose(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isQuietFeedMapEdit(self) -> OptionValue[bool]:
        """
        The value of the option switch isQuietFeedMapEdit
        """
        ...
    @isQuietFeedMapEdit.setter
    def isQuietFeedMapEdit(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isRenameTableEnabled(self) -> OptionValue[bool]:
        """
        The value of the option switch isRenameTableEnabled
        """
        ...
    @isRenameTableEnabled.setter
    def isRenameTableEnabled(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isSingleKeyGlobalJumpEnabled(self) -> OptionValue[bool]:
        """
        The value of the option switch isSingleKeyGlobalJumpEnabled
        """
        ...
    @isSingleKeyGlobalJumpEnabled.setter
    def isSingleKeyGlobalJumpEnabled(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isSockPuppetBidirectional(self) -> OptionValue[bool]:
        """
        The value of the option switch isSockPuppetBidirectional
        """
        ...
    @isSockPuppetBidirectional.setter
    def isSockPuppetBidirectional(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isSyncProjectFromDirectorDisabled(self) -> OptionValue[bool]:
        """
        The value of the option switch isSyncProjectFromDirectorDisabled
        """
        ...
    @isSyncProjectFromDirectorDisabled.setter
    def isSyncProjectFromDirectorDisabled(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isTelnetVerbose(self) -> OptionValue[bool]:
        """
        The value of the option switch isTelnetVerbose
        """
        ...
    @isTelnetVerbose.setter
    def isTelnetVerbose(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isWatchingForFrameJumps(self) -> OptionValue[bool]:
        """
        The value of the option switch isWatchingForFrameJumps
        """
        ...
    @isWatchingForFrameJumps.setter
    def isWatchingForFrameJumps(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def isWindowed(self) -> OptionValue[bool]:
        """
        The value of the option switch isWindowed
        """
        ...
    @isWindowed.setter
    def isWindowed(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def lockMouseWhileOrbiting(self) -> OptionValue[bool]:
        """
        The value of the option switch lockMouseWhileOrbiting
        """
        ...
    @lockMouseWhileOrbiting.setter
    def lockMouseWhileOrbiting(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def logicalVideoInDeviceBufferSize(self) -> OptionValue[int]:
        """
        The value of the option switch logicalVideoInDeviceBufferSize
        """
        ...
    @logicalVideoInDeviceBufferSize.setter
    def logicalVideoInDeviceBufferSize(self, value: OptionValue[int]) -> None:
        ...

    @property
    def luxProjectorBatchSize(self) -> OptionValue[int]:
        """
        The value of the option switch luxProjectorBatchSize
        """
        ...
    @luxProjectorBatchSize.setter
    def luxProjectorBatchSize(self, value: OptionValue[int]) -> None:
        ...

    @property
    def matroxClockNotificationsDisabled(self) -> OptionValue[bool]:
        """
        The value of the option switch matroxClockNotificationsDisabled
        """
        ...
    @matroxClockNotificationsDisabled.setter
    def matroxClockNotificationsDisabled(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def matroxClockWaitOverride(self) -> OptionValue[int]:
        """
        The value of the option switch matroxClockWaitOverride
        """
        ...
    @matroxClockWaitOverride.setter
    def matroxClockWaitOverride(self, value: OptionValue[int]) -> None:
        ...

    @property
    def matroxDisableContinuousEnqueuing(self) -> OptionValue[bool]:
        """
        The value of the option switch matroxDisableContinuousEnqueuing
        """
        ...
    @matroxDisableContinuousEnqueuing.setter
    def matroxDisableContinuousEnqueuing(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def matroxInputClockEnabled(self) -> OptionValue[bool]:
        """
        The value of the option switch matroxInputClockEnabled
        """
        ...
    @matroxInputClockEnabled.setter
    def matroxInputClockEnabled(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def matroxOverrideAsyncPrequeue(self) -> OptionValue[int]:
        """
        The value of the option switch matroxOverrideAsyncPrequeue
        """
        ...
    @matroxOverrideAsyncPrequeue.setter
    def matroxOverrideAsyncPrequeue(self, value: OptionValue[int]) -> None:
        ...

    @property
    def matroxOverrideAsyncPreroll(self) -> OptionValue[int]:
        """
        The value of the option switch matroxOverrideAsyncPreroll
        """
        ...
    @matroxOverrideAsyncPreroll.setter
    def matroxOverrideAsyncPreroll(self, value: OptionValue[int]) -> None:
        ...

    @property
    def matroxOverrideAsyncWait(self) -> OptionValue[int]:
        """
        The value of the option switch matroxOverrideAsyncWait
        """
        ...
    @matroxOverrideAsyncWait.setter
    def matroxOverrideAsyncWait(self, value: OptionValue[int]) -> None:
        ...

    @property
    def matroxSurfaceNodeDepthOverride(self) -> OptionValue[int]:
        """
        The value of the option switch matroxSurfaceNodeDepthOverride
        """
        ...
    @matroxSurfaceNodeDepthOverride.setter
    def matroxSurfaceNodeDepthOverride(self, value: OptionValue[int]) -> None:
        ...

    @property
    def matroxSurfacePoolSizeOverride(self) -> OptionValue[int]:
        """
        The value of the option switch matroxSurfacePoolSizeOverride
        """
        ...
    @matroxSurfacePoolSizeOverride.setter
    def matroxSurfacePoolSizeOverride(self, value: OptionValue[int]) -> None:
        ...

    @property
    def matroxSurfaceReadTimeoutOverride(self) -> OptionValue[int]:
        """
        The value of the option switch matroxSurfaceReadTimeoutOverride
        """
        ...
    @matroxSurfaceReadTimeoutOverride.setter
    def matroxSurfaceReadTimeoutOverride(self, value: OptionValue[int]) -> None:
        ...

    @property
    def matroxTimebaseCorrectionModeEnabled(self) -> OptionValue[bool]:
        """
        The value of the option switch matroxTimebaseCorrectionModeEnabled
        """
        ...
    @matroxTimebaseCorrectionModeEnabled.setter
    def matroxTimebaseCorrectionModeEnabled(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def matroxTimingLoggingVerbosity(self) -> OptionValue[int]:
        """
        The value of the option switch matroxTimingLoggingVerbosity
        """
        ...
    @matroxTimingLoggingVerbosity.setter
    def matroxTimingLoggingVerbosity(self, value: OptionValue[int]) -> None:
        ...

    @property
    def matroxVITCEnabled(self) -> OptionValue[bool]:
        """
        The value of the option switch matroxVITCEnabled
        """
        ...
    @matroxVITCEnabled.setter
    def matroxVITCEnabled(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def matroxVerboseTimingMonitoringEnabled(self) -> OptionValue[bool]:
        """
        The value of the option switch matroxVerboseTimingMonitoringEnabled
        """
        ...
    @matroxVerboseTimingMonitoringEnabled.setter
    def matroxVerboseTimingMonitoringEnabled(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def matroxWriteToReadDelayOverride(self) -> OptionValue[int]:
        """
        The value of the option switch matroxWriteToReadDelayOverride
        """
        ...
    @matroxWriteToReadDelayOverride.setter
    def matroxWriteToReadDelayOverride(self, value: OptionValue[int]) -> None:
        ...

    @property
    def maxAutomationPacketQueueSize(self) -> OptionValue[int]:
        """
        The value of the option switch maxAutomationPacketQueueSize
        """
        ...
    @maxAutomationPacketQueueSize.setter
    def maxAutomationPacketQueueSize(self, value: OptionValue[int]) -> None:
        ...

    @property
    def maxCameraSwitchingDelay(self) -> OptionValue[int]:
        """
        The value of the option switch maxCameraSwitchingDelay
        """
        ...
    @maxCameraSwitchingDelay.setter
    def maxCameraSwitchingDelay(self, value: OptionValue[int]) -> None:
        ...

    @property
    def maxContentLightLevel(self) -> OptionValue[int]:
        """
        The value of the option switch maxContentLightLevel
        """
        ...
    @maxContentLightLevel.setter
    def maxContentLightLevel(self, value: OptionValue[int]) -> None:
        ...

    @property
    def maxFrameAverageLightLevel(self) -> OptionValue[int]:
        """
        The value of the option switch maxFrameAverageLightLevel
        """
        ...
    @maxFrameAverageLightLevel.setter
    def maxFrameAverageLightLevel(self, value: OptionValue[int]) -> None:
        ...

    @property
    def maxHeads(self) -> OptionValue[int]:
        """
        The value of the option switch maxHeads
        """
        ...
    @maxHeads.setter
    def maxHeads(self, value: OptionValue[int]) -> None:
        ...

    @property
    def maxMasteringLuminance(self) -> OptionValue[int]:
        """
        The value of the option switch maxMasteringLuminance
        """
        ...
    @maxMasteringLuminance.setter
    def maxMasteringLuminance(self, value: OptionValue[int]) -> None:
        ...

    @property
    def maxTextureHeight(self) -> OptionValue[int]:
        """
        The value of the option switch maxTextureHeight
        """
        ...
    @maxTextureHeight.setter
    def maxTextureHeight(self, value: OptionValue[int]) -> None:
        ...

    @property
    def maxTextureWidth(self) -> OptionValue[int]:
        """
        The value of the option switch maxTextureWidth
        """
        ...
    @maxTextureWidth.setter
    def maxTextureWidth(self, value: OptionValue[int]) -> None:
        ...

    @property
    def maxVideoAudioDrift(self) -> OptionValue[int]:
        """
        The value of the option switch maxVideoAudioDrift
        """
        ...
    @maxVideoAudioDrift.setter
    def maxVideoAudioDrift(self, value: OptionValue[int]) -> None:
        ...

    @property
    def minMasteringLuminance(self) -> OptionValue[int]:
        """
        The value of the option switch minMasteringLuminance
        """
        ...
    @minMasteringLuminance.setter
    def minMasteringLuminance(self, value: OptionValue[int]) -> None:
        ...

    @property
    def modernFrameStatsMode(self) -> OptionValue[int]:
        """
        The value of the option switch modernFrameStatsMode
        """
        ...
    @modernFrameStatsMode.setter
    def modernFrameStatsMode(self, value: OptionValue[int]) -> None:
        ...

    @property
    def mouseOrbitInvertY(self) -> OptionValue[bool]:
        """
        The value of the option switch mouseOrbitInvertY
        """
        ...
    @mouseOrbitInvertY.setter
    def mouseOrbitInvertY(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def multicastSACNTTL(self) -> OptionValue[int]:
        """
        The value of the option switch multicastSACNTTL
        """
        ...
    @multicastSACNTTL.setter
    def multicastSACNTTL(self, value: OptionValue[int]) -> None:
        ...

    @property
    def nDecoders(self) -> OptionValue[int]:
        """
        The value of the option switch nDecoders
        """
        ...
    @nDecoders.setter
    def nDecoders(self, value: OptionValue[int]) -> None:
        ...

    @property
    def noSplashScreen(self) -> OptionValue[bool]:
        """
        The value of the option switch noSplashScreen
        """
        ...
    @noSplashScreen.setter
    def noSplashScreen(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def noStartupStatus(self) -> OptionValue[bool]:
        """
        The value of the option switch noStartupStatus
        """
        ...
    @noStartupStatus.setter
    def noStartupStatus(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def notchAutoPurgeVram(self) -> OptionValue[bool]:
        """
        The value of the option switch notchAutoPurgeVram
        """
        ...
    @notchAutoPurgeVram.setter
    def notchAutoPurgeVram(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def notchCameraSwitchingResetInstances(self) -> OptionValue[bool]:
        """
        The value of the option switch notchCameraSwitchingResetInstances
        """
        ...
    @notchCameraSwitchingResetInstances.setter
    def notchCameraSwitchingResetInstances(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def notchDisableLiveLoading(self) -> OptionValue[bool]:
        """
        The value of the option switch notchDisableLiveLoading
        """
        ...
    @notchDisableLiveLoading.setter
    def notchDisableLiveLoading(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def notchLCKeepAlive(self) -> OptionValue[int]:
        """
        The value of the option switch notchLCKeepAlive
        """
        ...
    @notchLCKeepAlive.setter
    def notchLCKeepAlive(self, value: OptionValue[int]) -> None:
        ...

    @property
    def notchLCMinBuffers(self) -> OptionValue[int]:
        """
        The value of the option switch notchLCMinBuffers
        """
        ...
    @notchLCMinBuffers.setter
    def notchLCMinBuffers(self, value: OptionValue[int]) -> None:
        ...

    @property
    def notchLazyLoading(self) -> OptionValue[bool]:
        """
        The value of the option switch notchLazyLoading
        """
        ...
    @notchLazyLoading.setter
    def notchLazyLoading(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def notchMaxFramerateFraction(self) -> OptionValue[int]:
        """
        The value of the option switch notchMaxFramerateFraction
        """
        ...
    @notchMaxFramerateFraction.setter
    def notchMaxFramerateFraction(self, value: OptionValue[int]) -> None:
        ...

    @property
    def notchMaxInstances(self) -> OptionValue[int]:
        """
        The value of the option switch notchMaxInstances
        """
        ...
    @notchMaxInstances.setter
    def notchMaxInstances(self, value: OptionValue[int]) -> None:
        ...

    @property
    def notchTracingLevel(self) -> OptionValue[int]:
        """
        The value of the option switch notchTracingLevel
        """
        ...
    @notchTracingLevel.setter
    def notchTracingLevel(self, value: OptionValue[int]) -> None:
        ...

    @property
    def notchUnloadOutOfOrder(self) -> OptionValue[bool]:
        """
        The value of the option switch notchUnloadOutOfOrder
        """
        ...
    @notchUnloadOutOfOrder.setter
    def notchUnloadOutOfOrder(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def notchUseDisguiseClippingPlanes(self) -> OptionValue[bool]:
        """
        The value of the option switch notchUseDisguiseClippingPlanes
        """
        ...
    @notchUseDisguiseClippingPlanes.setter
    def notchUseDisguiseClippingPlanes(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def omniCalBackupCapturesEnabled(self) -> OptionValue[bool]:
        """
        The value of the option switch omniCalBackupCapturesEnabled
        """
        ...
    @omniCalBackupCapturesEnabled.setter
    def omniCalBackupCapturesEnabled(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def omniCalCameraDistance(self) -> OptionValue[int]:
        """
        The value of the option switch omniCalCameraDistance
        """
        ...
    @omniCalCameraDistance.setter
    def omniCalCameraDistance(self, value: OptionValue[int]) -> None:
        ...

    @property
    def omniCalCameraTimeout(self) -> OptionValue[int]:
        """
        The value of the option switch omniCalCameraTimeout
        """
        ...
    @omniCalCameraTimeout.setter
    def omniCalCameraTimeout(self, value: OptionValue[int]) -> None:
        ...

    @property
    def omniCalEnableBlobDetectionMasks(self) -> OptionValue[bool]:
        """
        The value of the option switch omniCalEnableBlobDetectionMasks
        """
        ...
    @omniCalEnableBlobDetectionMasks.setter
    def omniCalEnableBlobDetectionMasks(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def omniCalEnableProjectorCalibrationRetry(self) -> OptionValue[bool]:
        """
        The value of the option switch omniCalEnableProjectorCalibrationRetry
        """
        ...
    @omniCalEnableProjectorCalibrationRetry.setter
    def omniCalEnableProjectorCalibrationRetry(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def omniCalEnableResumeCaptures(self) -> OptionValue[bool]:
        """
        The value of the option switch omniCalEnableResumeCaptures
        """
        ...
    @omniCalEnableResumeCaptures.setter
    def omniCalEnableResumeCaptures(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def omniCalIgnoreMeasuredCameraIntrinsics(self) -> OptionValue[bool]:
        """
        The value of the option switch omniCalIgnoreMeasuredCameraIntrinsics
        """
        ...
    @omniCalIgnoreMeasuredCameraIntrinsics.setter
    def omniCalIgnoreMeasuredCameraIntrinsics(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def omniCalMaxBlobDetectionConcurrency(self) -> OptionValue[int]:
        """
        The value of the option switch omniCalMaxBlobDetectionConcurrency
        """
        ...
    @omniCalMaxBlobDetectionConcurrency.setter
    def omniCalMaxBlobDetectionConcurrency(self, value: OptionValue[int]) -> None:
        ...

    @property
    def omniCalMaxThreadsPng(self) -> OptionValue[int]:
        """
        The value of the option switch omniCalMaxThreadsPng
        """
        ...
    @omniCalMaxThreadsPng.setter
    def omniCalMaxThreadsPng(self, value: OptionValue[int]) -> None:
        ...

    @property
    def omniCalUseProjectorDevicesInSimulation(self) -> OptionValue[bool]:
        """
        The value of the option switch omniCalUseProjectorDevicesInSimulation
        """
        ...
    @omniCalUseProjectorDevicesInSimulation.setter
    def omniCalUseProjectorDevicesInSimulation(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def outputColorSpace(self) -> OptionValue[int]:
        """
        The value of the option switch outputColorSpace
        """
        ...
    @outputColorSpace.setter
    def outputColorSpace(self, value: OptionValue[int]) -> None:
        ...

    @property
    def overrideFrameLatency(self) -> OptionValue[int]:
        """
        The value of the option switch overrideFrameLatency
        """
        ...
    @overrideFrameLatency.setter
    def overrideFrameLatency(self, value: OptionValue[int]) -> None:
        ...

    @property
    def overrideUnpatchedMediaFields(self) -> OptionValue[bool]:
        """
        The value of the option switch overrideUnpatchedMediaFields
        """
        ...
    @overrideUnpatchedMediaFields.setter
    def overrideUnpatchedMediaFields(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def precompChainDepth(self) -> OptionValue[int]:
        """
        The value of the option switch precompChainDepth
        """
        ...
    @precompChainDepth.setter
    def precompChainDepth(self, value: OptionValue[int]) -> None:
        ...

    @property
    def preserveExpiredGraphs(self) -> OptionValue[bool]:
        """
        The value of the option switch preserveExpiredGraphs
        """
        ...
    @preserveExpiredGraphs.setter
    def preserveExpiredGraphs(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def profileGPUPoolFromLaunch(self) -> OptionValue[bool]:
        """
        The value of the option switch profileGPUPoolFromLaunch
        """
        ...
    @profileGPUPoolFromLaunch.setter
    def profileGPUPoolFromLaunch(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def projectSyncTimeout(self) -> OptionValue[int]:
        """
        The value of the option switch projectSyncTimeout
        """
        ...
    @projectSyncTimeout.setter
    def projectSyncTimeout(self, value: OptionValue[int]) -> None:
        ...

    @property
    def projectorCullVertexCount(self) -> OptionValue[int]:
        """
        The value of the option switch projectorCullVertexCount
        """
        ...
    @projectorCullVertexCount.setter
    def projectorCullVertexCount(self, value: OptionValue[int]) -> None:
        ...

    @property
    def projectorDepthBuffersVisible(self) -> OptionValue[bool]:
        """
        The value of the option switch projectorDepthBuffersVisible
        """
        ...
    @projectorDepthBuffersVisible.setter
    def projectorDepthBuffersVisible(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def projectorDeviceMaxActiveTasks(self) -> OptionValue[int]:
        """
        The value of the option switch projectorDeviceMaxActiveTasks
        """
        ...
    @projectorDeviceMaxActiveTasks.setter
    def projectorDeviceMaxActiveTasks(self, value: OptionValue[int]) -> None:
        ...

    @property
    def projectorDeviceThreadPoolSize(self) -> OptionValue[int]:
        """
        The value of the option switch projectorDeviceThreadPoolSize
        """
        ...
    @projectorDeviceThreadPoolSize.setter
    def projectorDeviceThreadPoolSize(self, value: OptionValue[int]) -> None:
        ...

    @property
    def propSelectionPriority(self) -> OptionValue[int]:
        """
        The value of the option switch propSelectionPriority
        """
        ...
    @propSelectionPriority.setter
    def propSelectionPriority(self, value: OptionValue[int]) -> None:
        ...

    @property
    def pythonApiExecutionTimeout(self) -> OptionValue[int]:
        """
        The value of the option switch pythonApiExecutionTimeout
        """
        ...
    @pythonApiExecutionTimeout.setter
    def pythonApiExecutionTimeout(self, value: OptionValue[int]) -> None:
        ...

    @property
    def pythonApiOutputRequestsToProject(self) -> OptionValue[bool]:
        """
        The value of the option switch pythonApiOutputRequestsToProject
        """
        ...
    @pythonApiOutputRequestsToProject.setter
    def pythonApiOutputRequestsToProject(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def renderStreamDebugOverlaySize(self) -> OptionValue[int]:
        """
        The value of the option switch renderStreamDebugOverlaySize
        """
        ...
    @renderStreamDebugOverlaySize.setter
    def renderStreamDebugOverlaySize(self, value: OptionValue[int]) -> None:
        ...

    @property
    def renderStreamTransmissionSpeed(self) -> OptionValue[int]:
        """
        The value of the option switch renderStreamTransmissionSpeed
        """
        ...
    @renderStreamTransmissionSpeed.setter
    def renderStreamTransmissionSpeed(self, value: OptionValue[int]) -> None:
        ...

    @property
    def renderstreamBufferSize(self) -> OptionValue[int]:
        """
        The value of the option switch renderstreamBufferSize
        """
        ...
    @renderstreamBufferSize.setter
    def renderstreamBufferSize(self, value: OptionValue[int]) -> None:
        ...

    @property
    def renderstreamOutputSyncDelay(self) -> OptionValue[int]:
        """
        The value of the option switch renderstreamOutputSyncDelay
        """
        ...
    @renderstreamOutputSyncDelay.setter
    def renderstreamOutputSyncDelay(self, value: OptionValue[int]) -> None:
        ...

    @property
    def reportMainThreadHangMsec(self) -> OptionValue[int]:
        """
        The value of the option switch reportMainThreadHangMsec
        """
        ...
    @reportMainThreadHangMsec.setter
    def reportMainThreadHangMsec(self, value: OptionValue[int]) -> None:
        ...

    @property
    def restrictGUISizeHD(self) -> OptionValue[bool]:
        """
        The value of the option switch restrictGUISizeHD
        """
        ...
    @restrictGUISizeHD.setter
    def restrictGUISizeHD(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def rmaxBufferSize(self) -> OptionValue[int]:
        """
        The value of the option switch rmaxBufferSize
        """
        ...
    @rmaxBufferSize.setter
    def rmaxBufferSize(self, value: OptionValue[int]) -> None:
        ...

    @property
    def rmaxReceiverPool(self) -> OptionValue[bool]:
        """
        The value of the option switch rmaxReceiverPool
        """
        ...
    @rmaxReceiverPool.setter
    def rmaxReceiverPool(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def rmaxUploadBufferCount(self) -> OptionValue[int]:
        """
        The value of the option switch rmaxUploadBufferCount
        """
        ...
    @rmaxUploadBufferCount.setter
    def rmaxUploadBufferCount(self, value: OptionValue[int]) -> None:
        ...

    @property
    def rmaxUploadTextureCount(self) -> OptionValue[int]:
        """
        The value of the option switch rmaxUploadTextureCount
        """
        ...
    @rmaxUploadTextureCount.setter
    def rmaxUploadTextureCount(self, value: OptionValue[int]) -> None:
        ...

    @property
    def sectionTestMode(self) -> OptionValue[bool]:
        """
        The value of the option switch sectionTestMode
        """
        ...
    @sectionTestMode.setter
    def sectionTestMode(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def sessionStartNodeDiscoveryDelay(self) -> OptionValue[int]:
        """
        The value of the option switch sessionStartNodeDiscoveryDelay
        """
        ...
    @sessionStartNodeDiscoveryDelay.setter
    def sessionStartNodeDiscoveryDelay(self, value: OptionValue[int]) -> None:
        ...

    @property
    def sessionSyncTimeout(self) -> OptionValue[int]:
        """
        The value of the option switch sessionSyncTimeout
        """
        ...
    @sessionSyncTimeout.setter
    def sessionSyncTimeout(self, value: OptionValue[int]) -> None:
        ...

    @property
    def setExtensionFeatherScale(self) -> OptionValue[int]:
        """
        The value of the option switch setExtensionFeatherScale
        """
        ...
    @setExtensionFeatherScale.setter
    def setExtensionFeatherScale(self, value: OptionValue[int]) -> None:
        ...

    @property
    def showChicagoSettings(self) -> OptionValue[bool]:
        """
        The value of the option switch showChicagoSettings
        """
        ...
    @showChicagoSettings.setter
    def showChicagoSettings(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def shutdownWatchdogTimeoutSeconds(self) -> OptionValue[int]:
        """
        The value of the option switch shutdownWatchdogTimeoutSeconds
        """
        ...
    @shutdownWatchdogTimeoutSeconds.setter
    def shutdownWatchdogTimeoutSeconds(self, value: OptionValue[int]) -> None:
        ...

    @property
    def smoothVideoInputFramesDelay(self) -> OptionValue[int]:
        """
        The value of the option switch smoothVideoInputFramesDelay
        """
        ...
    @smoothVideoInputFramesDelay.setter
    def smoothVideoInputFramesDelay(self, value: OptionValue[int]) -> None:
        ...

    @property
    def soloMode(self) -> OptionValue[bool]:
        """
        The value of the option switch soloMode
        """
        ...
    @soloMode.setter
    def soloMode(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def ssaoMode(self) -> OptionValue[int]:
        """
        The value of the option switch ssaoMode
        """
        ...
    @ssaoMode.setter
    def ssaoMode(self, value: OptionValue[int]) -> None:
        ...

    @property
    def staleStreamEvictionThreshold(self) -> OptionValue[int]:
        """
        The value of the option switch staleStreamEvictionThreshold
        """
        ...
    @staleStreamEvictionThreshold.setter
    def staleStreamEvictionThreshold(self, value: OptionValue[int]) -> None:
        ...

    @property
    def suppressActorsAtStartup(self) -> OptionValue[bool]:
        """
        The value of the option switch suppressActorsAtStartup
        """
        ...
    @suppressActorsAtStartup.setter
    def suppressActorsAtStartup(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def telnetConsolePort(self) -> OptionValue[int]:
        """
        The value of the option switch telnetConsolePort
        """
        ...
    @telnetConsolePort.setter
    def telnetConsolePort(self, value: OptionValue[int]) -> None:
        ...

    @property
    def timedExitSeconds(self) -> OptionValue[int]:
        """
        The value of the option switch timedExitSeconds
        """
        ...
    @timedExitSeconds.setter
    def timedExitSeconds(self, value: OptionValue[int]) -> None:
        ...

    @property
    def trackedPointConfidenceThreshold(self) -> OptionValue[int]:
        """
        The value of the option switch trackedPointConfidenceThreshold
        """
        ...
    @trackedPointConfidenceThreshold.setter
    def trackedPointConfidenceThreshold(self, value: OptionValue[int]) -> None:
        ...

    @property
    def trackedPointReceiveTimeout(self) -> OptionValue[int]:
        """
        The value of the option switch trackedPointReceiveTimeout
        """
        ...
    @trackedPointReceiveTimeout.setter
    def trackedPointReceiveTimeout(self, value: OptionValue[int]) -> None:
        ...

    @property
    def trackedPointRemoveFromStageTimeout(self) -> OptionValue[int]:
        """
        The value of the option switch trackedPointRemoveFromStageTimeout
        """
        ...
    @trackedPointRemoveFromStageTimeout.setter
    def trackedPointRemoveFromStageTimeout(self, value: OptionValue[int]) -> None:
        ...

    @property
    def undoSpam(self) -> OptionValue[bool]:
        """
        The value of the option switch undoSpam
        """
        ...
    @undoSpam.setter
    def undoSpam(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def use11On12(self) -> OptionValue[bool]:
        """
        The value of the option switch use11On12
        """
        ...
    @use11On12.setter
    def use11On12(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def use128kReadGranularity(self) -> OptionValue[bool]:
        """
        The value of the option switch use128kReadGranularity
        """
        ...
    @use128kReadGranularity.setter
    def use128kReadGranularity(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def use64kReadGranularity(self) -> OptionValue[bool]:
        """
        The value of the option switch use64kReadGranularity
        """
        ...
    @use64kReadGranularity.setter
    def use64kReadGranularity(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def useApplicationWindow(self) -> OptionValue[bool]:
        """
        The value of the option switch useApplicationWindow
        """
        ...
    @useApplicationWindow.setter
    def useApplicationWindow(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def useApproximateGamma(self) -> OptionValue[bool]:
        """
        The value of the option switch useApproximateGamma
        """
        ...
    @useApproximateGamma.setter
    def useApproximateGamma(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def useAutomaticProfiling(self) -> OptionValue[int]:
        """
        The value of the option switch useAutomaticProfiling
        """
        ...
    @useAutomaticProfiling.setter
    def useAutomaticProfiling(self, value: OptionValue[int]) -> None:
        ...

    @property
    def useLegacyFrameComputation(self) -> OptionValue[bool]:
        """
        The value of the option switch useLegacyFrameComputation
        """
        ...
    @useLegacyFrameComputation.setter
    def useLegacyFrameComputation(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def useLegacyGpuPool(self) -> OptionValue[bool]:
        """
        The value of the option switch useLegacyGpuPool
        """
        ...
    @useLegacyGpuPool.setter
    def useLegacyGpuPool(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def useLegacySLCRegionTag(self) -> OptionValue[bool]:
        """
        The value of the option switch useLegacySLCRegionTag
        """
        ...
    @useLegacySLCRegionTag.setter
    def useLegacySLCRegionTag(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def useLegacyStreamNames(self) -> OptionValue[bool]:
        """
        The value of the option switch useLegacyStreamNames
        """
        ...
    @useLegacyStreamNames.setter
    def useLegacyStreamNames(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def useOldCapsCtrlZoom(self) -> OptionValue[bool]:
        """
        The value of the option switch useOldCapsCtrlZoom
        """
        ...
    @useOldCapsCtrlZoom.setter
    def useOldCapsCtrlZoom(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def usePhotoJpegAccurate(self) -> OptionValue[bool]:
        """
        The value of the option switch usePhotoJpegAccurate
        """
        ...
    @usePhotoJpegAccurate.setter
    def usePhotoJpegAccurate(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def verboseDseChangeDetection(self) -> OptionValue[bool]:
        """
        The value of the option switch verboseDseChangeDetection
        """
        ...
    @verboseDseChangeDetection.setter
    def verboseDseChangeDetection(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def verboseSlcChangeDetection(self) -> OptionValue[bool]:
        """
        The value of the option switch verboseSlcChangeDetection
        """
        ...
    @verboseSlcChangeDetection.setter
    def verboseSlcChangeDetection(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def videoAudioUnderrunTimeout(self) -> OptionValue[int]:
        """
        The value of the option switch videoAudioUnderrunTimeout
        """
        ...
    @videoAudioUnderrunTimeout.setter
    def videoAudioUnderrunTimeout(self, value: OptionValue[int]) -> None:
        ...

    @property
    def videoCaptureLockstep(self) -> OptionValue[bool]:
        """
        The value of the option switch videoCaptureLockstep
        """
        ...
    @videoCaptureLockstep.setter
    def videoCaptureLockstep(self, value: OptionValue[bool]) -> None:
        ...

    @property
    def videoConcurrentReads(self) -> OptionValue[int]:
        """
        The value of the option switch videoConcurrentReads
        """
        ...
    @videoConcurrentReads.setter
    def videoConcurrentReads(self, value: OptionValue[int]) -> None:
        ...

    @property
    def videoInCaptureTextures(self) -> OptionValue[int]:
        """
        The value of the option switch videoInCaptureTextures
        """
        ...
    @videoInCaptureTextures.setter
    def videoInCaptureTextures(self, value: OptionValue[int]) -> None:
        ...

    @property
    def videoInUploadTextures(self) -> OptionValue[int]:
        """
        The value of the option switch videoInUploadTextures
        """
        ...
    @videoInUploadTextures.setter
    def videoInUploadTextures(self, value: OptionValue[int]) -> None:
        ...

    @property
    def voidVfcWarranty(self) -> OptionValue[bool]:
        """
        The value of the option switch voidVfcWarranty
        """
        ...
    @voidVfcWarranty.setter
    def voidVfcWarranty(self, value: OptionValue[bool]) -> None:
        ...


class OsDevice(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class OscArgument(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'OscArgument'

    @property
    def type(self) -> int:
        """
        Options: {0: 'Integer', 1: 'Float', 2: 'String', 3: 'Blob'}
        UserName: OSC type tag
        """
        ...
    @type.setter
    def type(self, value: int) -> None:
        ...

    @property
    def value(self) -> str:
        """
        A fixed value or a variable index (e.g. $1 for variable 1)
        
        UserName: Value
        """
        ...
    @value.setter
    def value(self, value: str) -> None:
        ...

    def __init__(self) -> None:
        ...


class OscCommand(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'OscCommand'

    @property
    def address(self) -> str:
        """
        UserName: OSC address
        """
        ...
    @address.setter
    def address(self, value: str) -> None:
        ...

    @property
    def arguments(self) -> List[OscArgument]:
        """
        UserName: Arguments
        """
        ...
    @arguments.setter
    def arguments(self, value: List[OscArgument]) -> None:
        ...

    def __init__(self) -> None:
        ...


class OscControlModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'OscControlModule'

    @property
    def auto_resend(self) -> int:
        """
        Options: {0: 'On command keyframe', 1: 'Whenever a variable changes', 2: 'Command keyframe or variable changes'}
        UserName: Auto resend
        """
        ...
    @auto_resend.setter
    def auto_resend(self, value: int) -> None:
        ...

    @property
    def command(self) -> OscCommand:
        """
        UserName: Command
        """
        ...
    @command.setter
    def command(self, value: OscCommand) -> None:
        ...

    @property
    def osc_device(self) -> OscDevice:
        """
        UserName: OSC device
        """
        ...
    @osc_device.setter
    def osc_device(self, value: OscDevice) -> None:
        ...

    @property
    def variable_1(self) -> float:
        """
        UserName: Variable 1
        """
        ...
    @variable_1.setter
    def variable_1(self, value: float) -> None:
        ...

    @property
    def variable_2(self) -> float:
        """
        UserName: Variable 2
        """
        ...
    @variable_2.setter
    def variable_2(self, value: float) -> None:
        ...

    @property
    def variable_3(self) -> float:
        """
        UserName: Variable 3
        """
        ...
    @variable_3.setter
    def variable_3(self, value: float) -> None:
        ...

    @property
    def variable_4(self) -> float:
        """
        UserName: Variable 4
        """
        ...
    @variable_4.setter
    def variable_4(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class OscDevice(Device):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'OscDevice'

    @property
    def ipFromFilter(self) -> str:
        """
        Filter by sender IP. Leave blank for any IP.
        
        Category: Receive
        UserName: IP Filter
        """
        ...
    @ipFromFilter.setter
    def ipFromFilter(self, value: str) -> None:
        ...

    @property
    def receivePort(self) -> int:
        """
        The IP address that d3 should receive OSC commands from
        
        Category: Receive
        """
        ...
    @receivePort.setter
    def receivePort(self, value: int) -> None:
        ...

    @property
    def sendIPAddress(self) -> str:
        """
        The IP address that d3 should send OSC commands to
        
        Category: Send
        UserName: IP Address
        """
        ...
    @sendIPAddress.setter
    def sendIPAddress(self, value: str) -> None:
        ...

    @property
    def sendPort(self) -> int:
        """
        The port that d3 should send OSC commands on
        
        Category: Send
        UserName: Port
        """
        ...
    @sendPort.setter
    def sendPort(self, value: int) -> None:
        ...

    @property
    def supportsSendingMessageBundles(self) -> bool:
        """
        Does this device support receiving batches of multiple OSC messages in one bundle
        
        Category: Send
        UserName: Supports message bundles
        """
        ...
    @supportsSendingMessageBundles.setter
    def supportsSendingMessageBundles(self, value: bool) -> None:
        ...

    @property
    def verboseSend(self) -> int:
        """
        Output all sent messages to the console
        
        Options: {0: 'No', 1: 'Yes'}
        Category: Send
        UserName: Verbose Sending
        """
        ...
    @verboseSend.setter
    def verboseSend(self, value: int) -> None:
        ...

    def send(self, message: OscMessage) -> None:
        ...


class OscDriver(ScreenPositionDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'OscDriver'

    @property
    def addressFilter(self) -> str:
        """
        Enter the OSC address string (excluding the axis names) for which OSC messages will be received. Leave empty to receive all OSC data.
        
        UserName: Address filter
        """
        ...
    @addressFilter.setter
    def addressFilter(self, value: str) -> None:
        ...

    @property
    def oscDevice(self) -> OscDevice:
        """
        UserName: OSC device
        """
        ...
    @oscDevice.setter
    def oscDevice(self, value: OscDevice) -> None:
        ...

    def __init__(self) -> None:
        ...


class OscIndirectionController(IndirectionController):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'OscIndirectionController'

    @property
    def address(self) -> str:
        """
        OSC address that accepts a single string parameter
        
        UserName: OSC address
        """
        ...
    @address.setter
    def address(self, value: str) -> None:
        ...

    @property
    def device(self) -> OscDevice:
        """
        UserName: OSC device
        """
        ...
    @device.setter
    def device(self, value: OscDevice) -> None:
        ...


class OscMachineControl(Device):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'OscMachineControl'

    @property
    def displayQueryAddress(self) -> str:
        """
        Address to query display resolutions - accepts a string parameter which is the machine host name to query
        
        Category: Input Addresses
        UserName: Display query address
        """
        ...
    @displayQueryAddress.setter
    def displayQueryAddress(self, value: str) -> None:
        ...

    @property
    def failoverAddress(self) -> str:
        """
        Address to cause machine failover - accepts a string parameter which is the machine host name to make failover
        
        Category: Input Addresses
        UserName: Failover address
        """
        ...
    @failoverAddress.setter
    def failoverAddress(self, value: str) -> None:
        ...

    @property
    def machineResolutionOutputAddress(self) -> str:
        """
        Root address of response to displayQueryAddress with 2 integer data with x & y resolution
        e.g. /d3/showcontrol/display/resolution/myMachine/0/0 1920 1080
        
        Category: Output Addresses
        UserName: Machine resolution address
        """
        ...
    @machineResolutionOutputAddress.setter
    def machineResolutionOutputAddress(self, value: str) -> None:
        ...

    @property
    def oscDevice(self) -> OscDevice:
        """
        UserName: OSC device
        """
        ...
    @oscDevice.setter
    def oscDevice(self, value: OscDevice) -> None:
        ...

    @property
    def restoreAddress(self) -> str:
        """
        Address to cause machine restore - accepts a string parameter which is the machine host name to restore
        
        Category: Input Addresses
        UserName: Restore address
        """
        ...
    @restoreAddress.setter
    def restoreAddress(self, value: str) -> None:
        ...

    def __init__(self) -> None:
        ...


class OscMessage(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, address: str) -> None:
        ...

    def addBinary(self, arg0: int, length: int) -> OscMessage:
        ...

    def addFloat(self, f: float) -> OscMessage:
        ...

    def addInt(self, i: int) -> OscMessage:
        ...

    def addString(self, s: str) -> OscMessage:
        ...

    def getEntireMessageAsString(self) -> str:
        ...


class OscPatch(ControlPatch):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'OscPatch'

    @property
    def baseAddress(self) -> str:
        """
        Base address that will be prepended to the parameter name. A trailing slash (/) is added.
        
        UserName: Base address
        """
        ...
    @baseAddress.setter
    def baseAddress(self, value: str) -> None:
        ...

    @property
    def oscDevice(self) -> OscDevice:
        """
        OSC device used to send and receive parameters.
        
        UserName: OSC device
        """
        ...
    @oscDevice.setter
    def oscDevice(self, value: OscDevice) -> None:
        ...

    def personalityDescription(self, personality: SockpuppetPersonality) -> str:
        ...


class OscPlaybackStatusDriver(PlaybackStatusDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'OscPlaybackStatusDriver'


class OscState(IDataState):
    null: Self
    _classInfo: 'ClassInfo'


class OscTester(Device):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'OscTester'

    @property
    def oscDevice(self) -> OscDevice:
        """
        UserName: OSC device
        """
        ...
    @oscDevice.setter
    def oscDevice(self, value: OscDevice) -> None:
        ...

    @property
    def receiveAddress(self) -> str:
        """
        All addresess which start with this address are received and shown
        
        UserName: Receive address
        """
        ...
    @receiveAddress.setter
    def receiveAddress(self, value: str) -> None:
        ...

    @property
    def receiveBuffer(self) -> str:
        ...

    @property
    def receiveBufferCapacity(self) -> int:
        """
        Maximum number of messages shown
        
        UserName: Message limit
        """
        ...
    @receiveBufferCapacity.setter
    def receiveBufferCapacity(self, value: int) -> None:
        ...

    def clearReceiveBuffer(self) -> None:
        ...


class OutDevice(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class OutputOSCExpression(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def address(self) -> str:
        """
        The address which the OSC event transport should send the message to
        
        UserName: Address
        """
        ...
    @address.setter
    def address(self, value: str) -> None:
        ...

    @property
    def description(self) -> str:
        """
        The description of the message sent by the OSC event transport
        
        UserName: Description
        """
        ...
    @description.setter
    def description(self, value: str) -> None:
        ...

    @property
    def expr(self) -> Expression:
        """
        The expression determining what is sent by the OSC event transport
        
        UserName: Expression
        """
        ...
    @expr.setter
    def expr(self, value: Expression) -> None:
        ...

    @property
    def lastSentString(self) -> str:
        """
        UserName: Current value
        """
        ...

    @overload
    def __init__(self) -> None:
        """
        Default constructor for OutputOSCExpression
        """
        ...

    @overload
    def __init__(self, other: OutputOSCExpression) -> None:
        """
        Copy constructor for OutputOSCExpression
        """
        ...


class OutputRenderHeads(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class PClass(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'PClass'

    def __init__(self) -> None:
        ...


class PTPInfo(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def profile(self) -> int:
        ...
    @profile.setter
    def profile(self, value: int) -> None:
        ...

    @property
    def ptpClkId(self) -> str:
        ...
    @ptpClkId.setter
    def ptpClkId(self, value: str) -> None:
        ...

    @property
    def ptpDomainNbr(self) -> int:
        ...
    @ptpDomainNbr.setter
    def ptpDomainNbr(self, value: int) -> None:
        ...

    @property
    def ptpPortNbr(self) -> int:
        ...
    @ptpPortNbr.setter
    def ptpPortNbr(self, value: int) -> None:
        ...

    @property
    def state(self) -> PTPLockState:
        ...
    @state.setter
    def state(self, value: PTPLockState) -> None:
        ...


class PTPLockState(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def distance(self) -> int:
        ...
    @distance.setter
    def distance(self, value: int) -> None:
        ...

    @property
    def state(self) -> int:
        ...
    @state.setter
    def state(self, value: int) -> None:
        ...


class Package(IFilesystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self, path: str) -> None:
        ...

    def flush(self) -> None:
        ...


class PackageEventMonitoringSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        """
        Default constructor for PackageEventMonitoringSystem
        """
        ...


class PackageSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'
    setPackage: Callable

    def __init__(self) -> None:
        """
        Default constructor for PackageSystem
        """
        ...


class Pair(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def key(self) -> str:
        ...

    @property
    def value(self) -> ReflectionValue:
        ...


class PanTiltController(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'PanTiltController'

    @property
    def accelLimit(self) -> Vec2:
        """
        UserName: Pan/Tilt accel limit (deg/sec2)
        """
        ...
    @accelLimit.setter
    def accelLimit(self, value: Vec2) -> None:
        ...

    @property
    def pan_channel(self) -> int:
        """
        UserName: Pan channel (coarse)
        """
        ...
    @pan_channel.setter
    def pan_channel(self, value: int) -> None:
        ...

    @property
    def pan_fine_channel(self) -> int:
        """
        UserName: Pan channel (fine)
        """
        ...
    @pan_fine_channel.setter
    def pan_fine_channel(self, value: int) -> None:
        ...

    @property
    def pan_range__degrees_(self) -> float:
        """
        UserName: Pan range
        """
        ...
    @pan_range__degrees_.setter
    def pan_range__degrees_(self, value: float) -> None:
        ...

    @property
    def speedLimit(self) -> Vec2:
        """
        UserName: Pan/Tilt speed limit (deg/sec)
        """
        ...
    @speedLimit.setter
    def speedLimit(self, value: Vec2) -> None:
        ...

    @property
    def tilt_channel(self) -> int:
        """
        UserName: Tilt channel (coarse)
        """
        ...
    @tilt_channel.setter
    def tilt_channel(self, value: int) -> None:
        ...

    @property
    def tilt_fine_channel(self) -> int:
        """
        UserName: Tilt channel (fine)
        """
        ...
    @tilt_fine_channel.setter
    def tilt_fine_channel(self, value: int) -> None:
        ...

    @property
    def tilt_max(self) -> float:
        """
        UserName: Tilt minimum
        """
        ...
    @tilt_max.setter
    def tilt_max(self, value: float) -> None:
        ...

    @property
    def tilt_min(self) -> float:
        """
        UserName: Tilt maximum
        """
        ...
    @tilt_min.setter
    def tilt_min(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class Parallel(Projection):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Parallel'
    Content2D: Final = 1
    Content3D: Final = 0

    @property
    def anchor(self) -> int:
        """
        Options: {0: 'Corner', 1: 'Centre'}
        UserName: Anchor
        """
        ...
    @anchor.setter
    def anchor(self, value: int) -> None:
        ...

    @property
    def angleMaskEnd(self) -> float:
        """
        The screen angle for the black level in angle-based masking fade
        
        UserName: Angle mask end
        """
        ...
    @angleMaskEnd.setter
    def angleMaskEnd(self, value: float) -> None:
        ...

    @property
    def angleMaskStart(self) -> float:
        """
        The screen angle for the white level in angle-based masking fade
        
        UserName: Angle mask start
        """
        ...
    @angleMaskStart.setter
    def angleMaskStart(self, value: float) -> None:
        ...

    @property
    def contentMode(self) -> int:
        """
        For realtime rendered content, the mapping can provide camera parameters in 3D mode.
        
        Options: {0: '2D', 1: '3D'}
        UserName: Content mode
        """
        ...
    @contentMode.setter
    def contentMode(self, value: int) -> None:
        ...

    @property
    def frame_of_reference(self) -> AnimationAxisSettings:
        """
        UserName: Frame of reference
        """
        ...
    @frame_of_reference.setter
    def frame_of_reference(self, value: AnimationAxisSettings) -> None:
        ...

    @property
    def lock(self) -> int:
        """
        Options: {0: 'Off', 1: 'Aspect', 2: 'Density'}
        UserName: Lock
        """
        ...
    @lock.setter
    def lock(self, value: int) -> None:
        ...

    @property
    def pixelBorder(self) -> int:
        """
        UV islands on screens are expanded by this many pixels to cover edge sampling artifacts such as black fringing.
        Note that there must be an equivalent amount of empty space in the screen UV map to take advantage of this.
        
        UserName: Border expansion
        """
        ...
    @pixelBorder.setter
    def pixelBorder(self, value: int) -> None:
        ...

    @property
    def size(self) -> Vec2:
        """
        UserName: Size
        """
        ...
    @size.setter
    def size(self, value: Vec2) -> None:
        ...


class ParallelProjectionObject(ProjectionObject):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ParallelProjectionObject'

    def __init__(self) -> None:
        """
        Default constructor for ParallelProjectionObject
        """
        ...


class ParameterCollection(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ParameterCollection'

    @property
    def collections(self) -> List[ParameterCollection]:
        """
        UserName: Collections
        """
        ...
    @collections.setter
    def collections(self, value: List[ParameterCollection]) -> None:
        ...

    @property
    def sources(self) -> List[ParameterSource]:
        """
        UserName: Sources
        """
        ...
    @sources.setter
    def sources(self, value: List[ParameterSource]) -> None:
        ...

    def makeParam(self, type: Type, expression: str, options: List[str]) -> bool:
        ...

    def makeParamManual(self, typeString: str, expression: str) -> bool:
        ...


class ParameterReceiver(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class ParameterSource(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def expression(self) -> Expression:
        ...
    @expression.setter
    def expression(self, value: Expression) -> None:
        ...

    @property
    def fieldSources(self) -> List[ParameterSource]:
        ...

    @property
    def isOK(self) -> bool:
        ...

    @property
    def name(self) -> str:
        ...

    @property
    def options(self) -> List[str]:
        ...
    @options.setter
    def options(self, value: List[str]) -> None:
        ...

    @property
    def transport(self) -> TransportManager:
        ...
    @transport.setter
    def transport(self, value: TransportManager) -> None:
        ...

    @property
    def value(self) -> ReflectionValue:
        ...

    def addFields(self) -> None:
        ...

    def isResource(self) -> bool:
        ...


class PatchGroup(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: PatchGroup) -> None:
        """
        Copy constructor for PatchGroup
        """
        ...

    @overload
    def __init__(self, nX: int, nY: int) -> None:
        ...

    def eval(self, u: float, v: float) -> Vec:
        ...

    def height(self) -> int:
        ...

    def patch(self, x: int, y: int) -> PatchSurface:
        ...

    def resize(self, nX: int, nY: int) -> None:
        ...

    def setPatch(self, x: int, y: int, s: PatchSurface) -> None:
        ...

    def width(self) -> int:
        ...


class PatchSurface(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    BEZIER: Mat
    BSPLINE: Mat
    CAMTULL_ROM: Mat
    HERMITE: Mat

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, basis: Mat) -> None:
        ...

    @overload
    def __init__(self, other: PatchSurface) -> None:
        """
        Copy constructor for PatchSurface
        """
        ...

    def eval(self, u: float, v: float) -> Vec:
        ...

    def getBasis(self) -> Mat:
        ...

    def getControlPoint(self, x: int, y: int) -> Vec:
        ...

    def lerpInnerPoints(self, biasX: float = 0, biasY: float = 0) -> None:
        ...

    def setBasis(self, m: Mat) -> None:
        ...

    def setControlPoint(self, x: int, y: int, cp: Vec) -> None:
        ...


class Path(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def directory(self) -> str:
        ...

    @property
    def drive(self) -> str:
        ...

    @property
    def extension(self) -> str:
        ...

    @property
    def filename(self) -> str:
        ...

    @property
    def filenameAndExtension(self) -> str:
        ...

    @property
    def isInCommon(self) -> bool:
        ...

    @property
    def isInInternal(self) -> bool:
        ...

    @property
    def isInObjects(self) -> bool:
        ...

    @property
    def isInTrash(self) -> bool:
        ...

    @property
    def lastDirectory(self) -> str:
        ...

    @property
    def rawFilename(self) -> str:
        ...

    @property
    def shortened(self) -> str:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: Path) -> None:
        ...

    @overload
    def __init__(self, s: str) -> None:
        ...

    def __eq__(self, p: Path) -> bool:
        ...

    def __repr__(self) -> str:
        ...

    def __str__(self) -> str:
        ...

    def createFolder(self) -> None:
        ...

    def replaceFilename(self, filename: str) -> Path:
        ...

    def to_string_view(self) -> string_view:
        ...


class PathsManager(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    isFullProject: Callable
    isStarterProject: Callable
    projectExtension: Callable
    projectExtensionInvalidSnapshot: Callable
    projectExtensionSnapshot: Callable
    projectExtensionTmp: Callable

    @property
    def appProjectDirectory(self) -> str:
        ...

    @property
    def archivedConsolesDirectory(self) -> str:
        ...

    @property
    def buildPath(self) -> int:
        ...

    @property
    def checkpointName(self) -> int:
        ...

    @property
    def commonInternalTexturesDir(self) -> str:
        ...

    @property
    def commonPluginsDir(self) -> str:
        ...

    @property
    def consolePath(self) -> str:
        ...

    @property
    def currentConsoleArchivePath(self) -> str:
        ...

    @property
    def d3Exe(self) -> str:
        ...

    @property
    def d3Logo(self) -> str:
        ...

    @property
    def dataD3Path(self) -> int:
        ...

    @property
    def debugTxt(self) -> str:
        ...

    @property
    def desktopDirectory(self) -> str:
        ...

    @property
    def dllPath(self) -> str:
        ...

    @property
    def dmxTxt(self) -> str:
        ...

    @property
    def exePath(self) -> int:
        ...

    @property
    def helpTxtPaths(self) -> List[str]:
        ...

    @property
    def iniPath(self) -> int:
        ...

    @property
    def isDeveloperEnvironment(self) -> bool:
        ...

    @property
    def isRunningFromCheckpoint(self) -> bool:
        ...

    @property
    def oldAuthorizationKeys(self) -> str:
        ...

    @property
    def oldAuthorizationKeysDefault(self) -> str:
        ...

    @property
    def oldAuthorizationUpdates(self) -> str:
        ...

    @property
    def oldAuthorizationUpdatesDefault(self) -> str:
        ...

    @property
    def pythonDir(self) -> str:
        ...

    @property
    def pythonExe(self) -> str:
        ...

    @property
    def rsyncDir(self) -> str:
        ...

    @property
    def rsyncExe(self) -> str:
        ...

    @property
    def runningPath(self) -> int:
        ...

    @property
    def scriptPaths(self) -> List[int]:
        ...

    @property
    def shadersFolderPath(self) -> str:
        ...

    @property
    def sourcePath(self) -> str:
        ...

    @property
    def trapTxt(self) -> str:
        ...

    def __init__(self) -> None:
        """
        Default constructor for PathsManager
        """
        ...

    def commonTextureByFileName(self, file_name: str) -> str:
        ...


class PathsManagerOptiCal(_BlipValue):
    """
    Folder/filename convention for OmniCal calibration data.
    
    Represents the agreed folder structure and filename convention for all
    input, config, intermediate data and outputs of:
    - camera intrinsic calibration
    - blob detection
    - camera extrinsic calibration
    - projector full calibration
    
    Regarding Camera intrinsic calibration:
    The idea behind the deep folder structure is to differentiate between
    different acquisitions, input, config and output data, and different
    calibration runs.
    
    Note: All file~/folder~ methods return absolute paths using baseFolder.
    All name~ methods return file/folder name only.
    All pattern~ methods return file/folder pattern only.
    """

    null: Self
    _classInfo: 'ClassInfo'

    @property
    def baseFolder(self) -> str:
        ...

    @property
    def folderCalibration(self) -> str:
        ...

    @property
    def folderCameras(self) -> str:
        ...

    @property
    def folderOptiCal(self) -> str:
        ...

    @property
    def folderOutput(self) -> str:
        ...

    @property
    def folderOutputCameras(self) -> str:
        ...

    def __init__(self, baseFolder: str) -> None:
        ...

    def fileCameraInputCamParams(self, camName: str, lensPos: float, iAcquisition: int, iImage: int) -> str:
        ...

    def fileCameraInputExif(self, camName: str, lensPos: float, iAcquisition: int, iImage: int) -> str:
        ...

    def fileCameraInputImage(self, camName: str, lensPos: float, iAcquisition: int, iImage: int) -> str:
        ...

    def fileCameraIntrinsic(self, camName: str, lensPos: float, iAcquisition: int, iCamCal: int) -> str:
        ...

    def fileCameraIntrinsicCfg(self, camName: str, lensPos: float, iAcquisition: int, iCamCal: int) -> str:
        ...

    def fileCameraIntrinsicCfgList(self, camName: str, lensPos: float, iAcquisition: int, iCamCal: int) -> str:
        ...

    def fileCameraIntrinsicList(self, camName: str) -> str:
        ...

    def fileOutputCameraCamParams(self, camName: str, iImage: int) -> str:
        ...

    def fileOutputCameraExif(self, camName: str, iImage: int) -> str:
        ...

    def fileOutputCameraImage(self, camName: str, iImage: int) -> str:
        ...

    def folderCamera(self, camName: str) -> str:
        ...

    def folderCameraAcquisition(self, camName: str, lensPos: float, iAcquisition: int) -> str:
        ...

    def folderCameraInput(self, camName: str, lensPos: float, iAcquisition: int) -> str:
        ...

    def folderCaptureSetup(self) -> str:
        ...

    def folderOutputCamera(self, camName: str) -> str:
        ...


class PciToCpuIOMonitor(MetricMonitor):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'PciToCpuIOMonitor'

    def __init__(self) -> None:
        """
        Default constructor for PciToCpuIOMonitor
        """
        ...


class PerCameraBlobs(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self) -> None:
        """
        Default constructor for PerCameraBlobs
        """
        ...

    @overload
    def __init__(self, other: PerCameraBlobs) -> None:
        """
        Copy constructor for PerCameraBlobs
        """
        ...

    def cameraBlobs(self, cameraName: str) -> List[Blob]:
        ...

    def hasCameraBlobs(self, cameraName: str) -> bool:
        ...

    def nDiscardedBlobs(self, cameraName: str) -> int:
        ...


class PersistentIPVideoIn(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'PersistentIPVideoIn'

    @property
    def height(self) -> int:
        """
        UserName: Height
        """
        ...
    @height.setter
    def height(self, value: int) -> None:
        ...

    @property
    def ndiStreamName(self) -> str:
        ...
    @ndiStreamName.setter
    def ndiStreamName(self, value: str) -> None:
        ...

    @property
    def st2110Details(self) -> optional[ST2110Details]:
        ...
    @st2110Details.setter
    def st2110Details(self, value: optional[ST2110Details]) -> None:
        ...

    @property
    def streamName(self) -> str:
        """
        UserName: Name
        """
        ...
    @streamName.setter
    def streamName(self, value: str) -> None:
        ...

    @property
    def streamType(self) -> int:
        """
        Options: {0: 'Unknown', 1: 'ST2110', 2: 'NDI'}
        UserName: Type
        """
        ...
    @streamType.setter
    def streamType(self, value: int) -> None:
        ...

    @property
    def updateFromFile(self) -> bool:
        ...
    @updateFromFile.setter
    def updateFromFile(self, value: bool) -> None:
        ...

    @property
    def width(self) -> int:
        """
        UserName: Width
        """
        ...
    @width.setter
    def width(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...

    def apply(self) -> None:
        ...


class PerspectiveProjection(Projection):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Perspective'
    Content2D: Final = 0
    Content3D: Final = 1

    @property
    def centre_shift(self) -> Vec2:
        """
        UserName: Centre Shift
        """
        ...
    @centre_shift.setter
    def centre_shift(self, value: Vec2) -> None:
        ...

    @property
    def clampContent(self) -> int:
        """
        Outside the perspective frustum, stretch the content edges to cover the target surface.
        
        Options: {0: 'No', 1: 'Yes'}
        UserName: Content outside frustum
        """
        ...
    @clampContent.setter
    def clampContent(self, value: int) -> None:
        ...

    @property
    def contentMode(self) -> int:
        """
        For realtime rendered content, the mapping can provide camera parameters in 3D mode.
        
        Options: {0: '2D', 1: '3D'}
        UserName: Content mode
        """
        ...
    @contentMode.setter
    def contentMode(self, mode: int) -> None:
        ...

    @property
    def eye_point(self) -> Vec:
        """
        UserName: Eyepoint
        """
        ...
    @eye_point.setter
    def eye_point(self, value: Vec) -> None:
        ...

    @property
    def field_of_view(self) -> float:
        """
        UserName: Field of view
        """
        ...
    @field_of_view.setter
    def field_of_view(self, value: float) -> None:
        ...

    @property
    def frame_of_reference(self) -> AnimationAxisSettings:
        """
        UserName: Frame of reference
        """
        ...
    @frame_of_reference.setter
    def frame_of_reference(self, value: AnimationAxisSettings) -> None:
        ...

    @property
    def overscan(self) -> Vec2:
        """
        Ratio to expand projection area by, to account for distortion or other clipping.
        1 means 100%, 2 means 200%.
        Set by parent Camera, if available.
        
        UserName: Overscan
        """
        ...
    @overscan.setter
    def overscan(self, o: Vec2) -> None:
        ...

    @property
    def pixelBorder(self) -> int:
        """
        UV islands on screens are expanded by this many pixels to cover edge sampling artifacts such as black fringing.
        Note that there must be an equivalent amount of empty space in the screen UV map to take advantage of this.
        
        UserName: Border expansion
        """
        ...
    @pixelBorder.setter
    def pixelBorder(self, value: int) -> None:
        ...

    @property
    def rotation(self) -> Vec:
        """
        UserName: Rotation
        """
        ...
    @rotation.setter
    def rotation(self, newRot: Vec) -> None:
        ...


class PerspectiveProjectionObject(ProjectionObject):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'PerspectiveProjectionObject'

    def __init__(self) -> None:
        """
        Default constructor for PerspectiveProjectionObject
        """
        ...


class PingMessage(Message):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def timestamp(self) -> float:
        ...
    @timestamp.setter
    def timestamp(self, value: float) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: PingMessage) -> None:
        """
        Copy constructor for PingMessage
        """
        ...


class PinholeCamera(LocalCoordSystem):
    """
    Pinhole camera with external and internal parameters, ignoring lens distortion.
    
    Linear projective camera model.
    NOTE: All angles in PinholeCamera are in [radians], not degrees!
    """

    null: Self
    _classInfo: 'ClassInfo'

    @property
    def intrinsics(self) -> InternalParams:
        ...
    @intrinsics.setter
    def intrinsics(self, value: InternalParams) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, _t: VecD, _R: Mat, _scale: VecD) -> None:
        ...

    def getIntrinsics(self) -> InternalParams:
        ...

    def getMatrix(self) -> Mat:
        ...


class PixelMapModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'PixelMapModule'

    @property
    def effect(self) -> float:
        """
        UserName: Effect
        """
        ...
    @effect.setter
    def effect(self, value: float) -> None:
        ...

    @property
    def mode(self) -> int:
        """
        Options: {0: 'Normal', 1: 'Blocky'}
        UserName: Mode
        """
        ...
    @mode.setter
    def mode(self, value: int) -> None:
        ...

    @property
    def pixel_map(self) -> ContentSource:
        """
        UserName: Pixel map
        """
        ...
    @pixel_map.setter
    def pixel_map(self, value: ContentSource) -> None:
        ...

    @property
    def scale(self) -> float:
        """
        UserName: Scale
        """
        ...
    @scale.setter
    def scale(self, value: float) -> None:
        ...

    @property
    def source(self) -> ContentSource:
        """
        UserName: Source
        """
        ...
    @source.setter
    def source(self, value: ContentSource) -> None:
        ...

    def __init__(self) -> None:
        ...


class PixelMapShader(DxMaterial):
    null: Self
    _classInfo: 'ClassInfo'


class PixelateModule(ProjectionAwareModule):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'PixelateModule'

    @property
    def mask(self) -> ContentSource:
        """
        UserName: Mask
        """
        ...
    @mask.setter
    def mask(self, value: ContentSource) -> None:
        ...

    @property
    def size(self) -> float:
        """
        UserName: Size
        """
        ...
    @size.setter
    def size(self, value: float) -> None:
        ...

    @property
    def source(self) -> ContentSource:
        """
        UserName: Source
        """
        ...
    @source.setter
    def source(self, value: ContentSource) -> None:
        ...

    def __init__(self) -> None:
        ...


class PlaceholderVideoIn(VideoIn):
    null: Self
    _classInfo: 'ClassInfo'
    getClipFromHardwareId: Callable
    makeHardwareId: Callable


class PlaceholderVideoInSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        """
        Default constructor for PlaceholderVideoInSystem
        """
        ...


class Plane(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def normal(self) -> Vec:
        ...
    @normal.setter
    def normal(self, value: Vec) -> None:
        ...

    @property
    def pos(self) -> Vec:
        ...
    @pos.setter
    def pos(self, value: Vec) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, point: Vec, normal: Vec) -> None:
        ...

    @overload
    def __init__(self, p0: Vec, p1: Vec, p2: Vec) -> None:
        ...

    @overload
    def __init__(self, other: Plane) -> None:
        """
        Copy constructor for Plane
        """
        ...


class PlannedBlobStatistics(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def blobDistanceMax(self) -> float:
        ...
    @blobDistanceMax.setter
    def blobDistanceMax(self, value: float) -> None:
        ...

    @property
    def blobDistanceMin(self) -> float:
        ...
    @blobDistanceMin.setter
    def blobDistanceMin(self, value: float) -> None:
        ...

    @property
    def blobSizeMax(self) -> float:
        ...
    @blobSizeMax.setter
    def blobSizeMax(self, value: float) -> None:
        ...

    @property
    def blobSizeMin(self) -> float:
        ...
    @blobSizeMin.setter
    def blobSizeMin(self, value: float) -> None:
        ...

    @property
    def nVisibleBlobs(self) -> int:
        ...
    @nVisibleBlobs.setter
    def nVisibleBlobs(self, value: int) -> None:
        ...

    @property
    def visibleProjectorUids(self) -> List[int]:
        ...
    @visibleProjectorUids.setter
    def visibleProjectorUids(self, value: List[int]) -> None:
        ...


class PlannedMobileCamParams(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def exposureDur(self) -> float:
        ...
    @exposureDur.setter
    def exposureDur(self, value: float) -> None:
        ...

    @property
    def exposureTarget(self) -> float:
        ...
    @exposureTarget.setter
    def exposureTarget(self, value: float) -> None:
        ...

    @property
    def iso(self) -> float:
        ...
    @iso.setter
    def iso(self, value: float) -> None:
        ...

    @property
    def lensPos(self) -> float:
        ...
    @lensPos.setter
    def lensPos(self, value: float) -> None:
        ...

    @property
    def lensPosComp(self) -> int:
        ...
    @lensPosComp.setter
    def lensPosComp(self, value: int) -> None:
        ...

    @property
    def poi(self) -> Vec2:
        ...
    @poi.setter
    def poi(self, value: Vec2) -> None:
        ...

    @property
    def wbRgbGains(self) -> Vec:
        ...
    @wbRgbGains.setter
    def wbRgbGains(self, value: Vec) -> None:
        ...

    @overload
    def __init__(self, camData: CamParams) -> None:
        ...

    @overload
    def __init__(self, other: PlannedMobileCamParams) -> None:
        """
        Copy constructor for PlannedMobileCamParams
        """
        ...


class PlayHead(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'PlayHead'

    @property
    def holding(self) -> bool:
        ...

    @property
    def loopSectionMode(self) -> bool:
        ...

    @property
    def playJustTriggered(self) -> bool:
        ...

    @property
    def playMode(self) -> PlayMode:
        ...

    @property
    def playing(self) -> bool:
        ...

    @property
    def sectionPlayMode(self) -> bool:
        ...

    @property
    def stopped(self) -> bool:
        ...

    @property
    def tCurrent(self) -> float:
        ...

    @property
    def tRender(self) -> float:
        ...

    @property
    def tRunForever(self) -> float:
        ...

    @property
    def tRunning(self) -> float:
        ...

    def getModuleForLayer(self, layer: Layer) -> Module:
        ...


class PlayMode(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def state(self) -> int:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, rhs: PlayMode) -> None:
        ...

    @overload
    def __init__(self, m: int) -> None:
        ...

    def __str__(self) -> str:
        ...


class PlayModeModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'PlayModeModule'

    @property
    def play_mode(self) -> int:
        """
        Loop play modes should be placed at the beginning of the section
        
        Options: {0: 'Any', 1: 'Play', 2: 'Play to end of section', 3: 'Loop section'}
        UserName: Play mode
        """
        ...
    @play_mode.setter
    def play_mode(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class PlaybackStatusDriver(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'PlaybackStatusDriver'

    @property
    def device(self) -> Device:
        """
        UserName: Device
        """
        ...
    @device.setter
    def device(self, value: Device) -> None:
        ...


class PlaybackStatusMonitor(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'PlaybackStatusMonitor'

    @property
    def baseAddress(self) -> str:
        ...
    @baseAddress.setter
    def baseAddress(self, value: str) -> None:
        ...

    @property
    def device(self) -> Device:
        ...
    @device.setter
    def device(self, value: Device) -> None:
        ...

    @property
    def driver(self) -> PlaybackStatusDriver:
        ...
    @driver.setter
    def driver(self, value: PlaybackStatusDriver) -> None:
        ...


class PluginAuth(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    hasPluginLicense: Callable


class PluginAuthException(Exception):
    """
    Exception for missing licenses to use the plugins feature.
    """

    null: Self
    _classInfo: 'ClassInfo'


class PluginEventLogger(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    OpenedBy_StickyManager: Final = 1
    OpenedBy_User: Final = 0

    @property
    def plugin(self) -> PluginInstance:
        ...

    def __init__(self, plugin: PluginInstance, openedBy: int) -> None:
        ...


class PluginInstance(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def name(self) -> str:
        ...
    @name.setter
    def name(self, value: str) -> None:
        ...

    @property
    def type(self) -> str:
        ...
    @type.setter
    def type(self, value: str) -> None:
        ...

    @property
    def url(self) -> str:
        ...
    @url.setter
    def url(self, value: str) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for PluginInstance
        """
        ...


class PointCloudRenderer2D(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self, camName: str, arg1: PerCameraBlobs, arg2: OptiCalStagePlan) -> None:
        ...

    def render(self, iProj: int, widgetViewMat: Mat, imageScale: float, absPos: Vec2, blobSize: float, errorLimit: float, iMode: int) -> None:
        ...


class PongMessage(Message):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def timestamp(self) -> float:
        ...
    @timestamp.setter
    def timestamp(self, value: float) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: PongMessage) -> None:
        """
        Copy constructor for PongMessage
        """
        ...


class PongModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TennisModule'

    @property
    def Output(self) -> LogicalAudioOutDevice:
        """
        Logical audio device that the audio will play from
        
        Category: Audio
        """
        ...
    @Output.setter
    def Output(self, value: LogicalAudioOutDevice) -> None:
        ...

    @property
    def argh(self) -> AudioFile:
        """
        Category: Audio
        UserName: Argh sound
        """
        ...
    @argh.setter
    def argh(self, value: AudioFile) -> None:
        ...

    @property
    def ballSpeed(self) -> float:
        """
        Category: Options
        UserName: Ball speed
        """
        ...
    @ballSpeed.setter
    def ballSpeed(self, value: float) -> None:
        ...

    @property
    def batPadding(self) -> float:
        """
        Category: Options
        UserName: Bat padding
        """
        ...
    @batPadding.setter
    def batPadding(self, value: float) -> None:
        ...

    @property
    def batSize(self) -> float:
        """
        Category: Options
        UserName: Bat size
        """
        ...
    @batSize.setter
    def batSize(self, value: float) -> None:
        ...

    @property
    def batSpeed(self) -> float:
        """
        Category: Options
        UserName: Bat speed
        """
        ...
    @batSpeed.setter
    def batSpeed(self, value: float) -> None:
        ...

    @property
    def bounce(self) -> AudioFile:
        """
        Category: Audio
        UserName: Bounce sound
        """
        ...
    @bounce.setter
    def bounce(self, value: AudioFile) -> None:
        ...

    @property
    def hit(self) -> AudioFile:
        """
        Category: Audio
        UserName: Hit sound
        """
        ...
    @hit.setter
    def hit(self, value: AudioFile) -> None:
        ...

    @property
    def leftBatAI(self) -> bool:
        """
        Category: Control
        UserName: Left bat AI
        """
        ...
    @leftBatAI.setter
    def leftBatAI(self, value: bool) -> None:
        ...

    @property
    def left_bat_pos(self) -> float:
        """
        Category: Control
        UserName: Left bat position
        """
        ...
    @left_bat_pos.setter
    def left_bat_pos(self, value: float) -> None:
        ...

    @property
    def rightBatAI(self) -> bool:
        """
        Category: Control
        UserName: Right bat AI
        """
        ...
    @rightBatAI.setter
    def rightBatAI(self, value: bool) -> None:
        ...

    @property
    def right_bat_pos(self) -> float:
        """
        Category: Control
        UserName: Right bat position
        """
        ...
    @right_bat_pos.setter
    def right_bat_pos(self, value: float) -> None:
        ...

    @property
    def volume(self) -> float:
        """
        Category: Audio
        UserName: Volume
        """
        ...
    @volume.setter
    def volume(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class PosiStageNetDriver(UdpReceiverDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'PSNDriver'

    def __init__(self) -> None:
        ...


class Posital(ScreenPositionDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Posital'

    @property
    def bridgeIP(self) -> str:
        ...
    @bridgeIP.setter
    def bridgeIP(self, value: str) -> None:
        ...

    @property
    def ids(self) -> List[str]:
        ...
    @ids.setter
    def ids(self, value: List[str]) -> None:
        ...

    @property
    def ips(self) -> List[str]:
        ...
    @ips.setter
    def ips(self, value: List[str]) -> None:
        ...

    @property
    def pollIntervalMsec(self) -> int:
        ...
    @pollIntervalMsec.setter
    def pollIntervalMsec(self, value: int) -> None:
        ...

    @property
    def timestamps(self) -> int:
        """
        Options: {0: 'Time of Receipt', 1: 'Incoming Timestamp', 2: 'Time of Poll'}
        """
        ...
    @timestamps.setter
    def timestamps(self, value: int) -> None:
        ...

    @property
    def trace(self) -> int:
        """
        Options: {0: 'off', 1: 'on'}
        """
        ...
    @trace.setter
    def trace(self, value: int) -> None:
        ...

    def addEncoder(self) -> None:
        ...

    def removeEncoder(self, i: int) -> None:
        ...


class PreCompDisplay(Display):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'PreCompDisplay'

    @property
    def texture(self) -> PreCompTexture:
        """
        Preview of the final composition
        
        UserName: Preview
        """
        ...


class PreCompTexture(ProceduralTexture):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'PreCompTexture'

    @property
    def display(self) -> Display:
        ...
    @display.setter
    def display(self, value: Display) -> None:
        ...

    @property
    def size(self) -> Int2:
        """
        UserName: Size
        """
        ...
    @size.setter
    def size(self, value: Int2) -> None:
        ...


class PrecompExtent(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def readLayer(self) -> Layer:
        ...
    @readLayer.setter
    def readLayer(self, value: Layer) -> None:
        ...

    @property
    def tEnd(self) -> float:
        ...
    @tEnd.setter
    def tEnd(self, value: float) -> None:
        ...

    @property
    def tStart(self) -> float:
        ...
    @tStart.setter
    def tStart(self, value: float) -> None:
        ...

    @property
    def writeLayer(self) -> Layer:
        ...
    @writeLayer.setter
    def writeLayer(self, value: Layer) -> None:
        ...


class PrefetchLookaheads(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'PrefetchLookaheads'

    @property
    def Audio_high_priority(self) -> int:
        """
        UserName: Audio frames to prefetch while playing
        """
        ...
    @Audio_high_priority.setter
    def Audio_high_priority(self, value: int) -> None:
        ...

    @property
    def Audio_low_priority(self) -> int:
        """
        UserName: Audio frames to prefetch while scrubbing
        """
        ...
    @Audio_low_priority.setter
    def Audio_low_priority(self, value: int) -> None:
        ...

    @property
    def Video_high_priority(self) -> int:
        """
        UserName: Video frames to prefetch while playing
        """
        ...
    @Video_high_priority.setter
    def Video_high_priority(self, value: int) -> None:
        ...

    @property
    def Video_low_priority(self) -> int:
        """
        UserName: Video frames to prefetch while scrubbing
        """
        ...
    @Video_low_priority.setter
    def Video_low_priority(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class PrefetcherMetricMonitor(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    name: Final = 'prefetcher'


class PreviewApp(App):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'PreviewApp'


class PrgAxisState(TrackingScalarState):
    null: Self
    _classInfo: 'ClassInfo'


class PrgDriver(UdpReceiverDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'PrgDriver'

    def __init__(self) -> None:
        ...


class PrgStageCommandAxisState(TrackingScalarState):
    null: Self
    _classInfo: 'ClassInfo'


class PrgStageCommandDriver(PrgDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'PrgStageCommandDriver'

    def __init__(self) -> None:
        ...


class Primary(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Primary'

    @property
    def colour(self) -> Col:
        """
        UserName: Colour
        """
        ...
    @colour.setter
    def colour(self, value: Col) -> None:
        ...

    @property
    def name(self) -> str:
        """
        UserName: Name
        """
        ...
    @name.setter
    def name(self, value: str) -> None:
        ...

    @property
    def temp(self) -> int:
        """
        UserName: Temp
        """
        ...
    @temp.setter
    def temp(self, value: int) -> None:
        ...

    @property
    def value(self) -> int:
        """
        UserName: Value
        """
        ...
    @value.setter
    def value(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class PrivateState(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'PrivateState'
    EightBit: Final = 2
    Normalised: Final = 0
    Percentage: Final = 1
    canMakeLargeMovies: Callable
    getValueRange: Callable
    isOutputMovieResolutionSupported: Callable
    privateState: Callable

    @property
    def activeVisualiserCamera(self) -> Camera:
        ...
    @activeVisualiserCamera.setter
    def activeVisualiserCamera(self, value: Camera) -> None:
        ...

    @property
    def animationMovieType(self) -> int:
        """
        Options: {0: 'CSV', 1: 'FBX', 2: 'FBX ASCII', 3: 'Collada'}
        UserName: Animation movie format
        """
        ...
    @animationMovieType.setter
    def animationMovieType(self, value: int) -> None:
        ...

    @property
    def barWidgetInsertTime(self) -> float:
        ...
    @barWidgetInsertTime.setter
    def barWidgetInsertTime(self, time: float) -> None:
        ...

    @property
    def brightnessDisplay(self) -> int:
        """
        Set UI representation of brightness
        
        Options: {0: 'Normalised', 1: 'Percentage', 2: '8-Bit'}
        """
        ...
    @brightnessDisplay.setter
    def brightnessDisplay(self, value: int) -> None:
        ...

    @property
    def colourDisplay(self) -> int:
        """
        Set UI representation of colour
        
        Options: {0: 'Normalised', 1: 'Percentage', 2: '8-Bit'}
        """
        ...
    @colourDisplay.setter
    def colourDisplay(self, value: int) -> None:
        ...

    @property
    def disableKeyFrameEditorFilmStrip(self) -> bool:
        """
        Turn off key frame editor film strip for extra performance
        
        UserName: Disable key frame editor film strip
        """
        ...
    @disableKeyFrameEditorFilmStrip.setter
    def disableKeyFrameEditorFilmStrip(self, yesNo: bool) -> None:
        ...

    @property
    def disableUITransparency(self) -> bool:
        """
        Turn off transparency on UI windows for extra performance
        
        UserName: Disable UI transparency
        """
        ...
    @disableUITransparency.setter
    def disableUITransparency(self, yesNo: bool) -> None:
        ...

    @property
    def doNotConfirmLayerRenames(self) -> bool:
        ...
    @doNotConfirmLayerRenames.setter
    def doNotConfirmLayerRenames(self, value: bool) -> None:
        ...

    @property
    def feedViewSettings(self) -> FeedViewSettings:
        ...
    @feedViewSettings.setter
    def feedViewSettings(self, feedViewSettings: FeedViewSettings) -> None:
        ...

    @property
    def gizmoCoordinateSpace(self) -> int:
        ...
    @gizmoCoordinateSpace.setter
    def gizmoCoordinateSpace(self, coordinateSpace: int) -> None:
        ...

    @property
    def guiDpiScale(self) -> int:
        """
        DPI scale for the GUI.
        
        Options: {0: 'Default', 1: '100%', 2: '125%', 3: '150%', 4: '175%', 5: '200%', 6: '225%', 7: '250%'}
        UserName: DPI scale
        """
        ...
    @guiDpiScale.setter
    def guiDpiScale(self, value: int) -> None:
        ...

    @property
    def guiFramerateFraction(self) -> int:
        """
        The fraction of the framerate the GUI renders at. Can help performance at the expense of responsivity.
        Does not help when in low latency output modes.
        
        Options: {0: '1', 1: '1/2', 2: '1/3'}
        UserName: Framerate fraction
        """
        ...
    @guiFramerateFraction.setter
    def guiFramerateFraction(self, fraction: int) -> None:
        ...

    @property
    def isStageManipulationEnabled(self) -> bool:
        ...
    @isStageManipulationEnabled.setter
    def isStageManipulationEnabled(self, enabled: bool) -> None:
        ...

    @property
    def loudnessDisplay(self) -> int:
        """
        Set UI representation of volume
        
        Options: {0: 'Normalised', 1: 'Percentage', 2: '8-Bit'}
        """
        ...
    @loudnessDisplay.setter
    def loudnessDisplay(self, value: int) -> None:
        ...

    @property
    def manipulator3D(self) -> int:
        ...
    @manipulator3D.setter
    def manipulator3D(self, value: int) -> None:
        ...

    @property
    def manipulatorWidgetPos(self) -> Vec2:
        ...
    @manipulatorWidgetPos.setter
    def manipulatorWidgetPos(self, value: Vec2) -> None:
        ...

    @property
    def measurementUnit(self) -> int:
        """
        Options: {0: 'Metric', 1: 'Imperial'}
        UserName: Measurement unit
        """
        ...
    @measurementUnit.setter
    def measurementUnit(self, value: int) -> None:
        ...

    @property
    def networkWidgetPos(self) -> Vec2:
        ...
    @networkWidgetPos.setter
    def networkWidgetPos(self, value: Vec2) -> None:
        ...

    @property
    def outputMovieType(self) -> int:
        """
        Options: {0: 'Photo-JPEG (no audio)', 1: 'Animation (no audio)', 2: 'MPEG-4 (with audio)', 3: 'Photo-JPEG mov (OLD QuickTime players)', 4: 'HAP (no audio)', 5: 'DPX image sequence (no audio)', 6: 'WEBM vp9 (audio as Vorbis output)'}
        UserName: Output movie format
        """
        ...
    @outputMovieType.setter
    def outputMovieType(self, value: int) -> None:
        ...

    @property
    def output_movie_bitrate(self) -> int:
        """
        Set to 0 for d3 to use it's best guess per-codec
        
        UserName: Bitrate (Kb)
        """
        ...
    @output_movie_bitrate.setter
    def output_movie_bitrate(self, value: int) -> None:
        ...

    @property
    def output_movie_extra_time_head(self) -> float:
        """
        UserName: Add head to output movie (seconds)
        """
        ...
    @output_movie_extra_time_head.setter
    def output_movie_extra_time_head(self, value: float) -> None:
        ...

    @property
    def output_movie_extra_time_tail(self) -> float:
        """
        UserName: Add tail to output movie (seconds)
        """
        ...
    @output_movie_extra_time_tail.setter
    def output_movie_extra_time_tail(self, value: float) -> None:
        ...

    @property
    def output_movie_fps(self) -> float:
        """
        UserName: Output movie FPS
        """
        ...
    @output_movie_fps.setter
    def output_movie_fps(self, value: float) -> None:
        ...

    @property
    def output_movie_quality(self) -> int:
        """
        Only affects webm
        
        Options: {0: 'Balanced', 1: 'Best', 2: 'Fast'}
        UserName: Quality
        """
        ...
    @output_movie_quality.setter
    def output_movie_quality(self, value: int) -> None:
        ...

    @property
    def output_movie_size(self) -> Vec2:
        """
        UserName: Stage movie size
        """
        ...
    @output_movie_size.setter
    def output_movie_size(self, value: Vec2) -> None:
        ...

    @property
    def password(self) -> str:
        """
        UserName: Password
        """
        ...
    @password.setter
    def password(self, value: str) -> None:
        ...

    @property
    def persistentKeyWidgets(self) -> bool:
        """
        When enabled, key widgets will remain open on creation or selection of a new layer with the same property.
        When disabled, the open state of a key widget will be remembered per layer.
        
        UserName: Persistent key widgets
        """
        ...
    @persistentKeyWidgets.setter
    def persistentKeyWidgets(self, value: bool) -> None:
        ...

    @property
    def recentLayerRenames(self) -> List[str]:
        ...
    @recentLayerRenames.setter
    def recentLayerRenames(self, value: List[str]) -> None:
        ...

    @property
    def screenshot_format(self) -> int:
        """
        Options: {0: 'JPEG', 1: 'BMP', 2: 'PNG', 3: 'TIF', 4: 'DPX', 5: 'EXR'}
        UserName: Output format
        """
        ...
    @screenshot_format.setter
    def screenshot_format(self, value: int) -> None:
        ...

    @property
    def searchOrder(self) -> int:
        ...
    @searchOrder.setter
    def searchOrder(self, value: int) -> None:
        ...

    @property
    def stageSelection(self) -> List[int]:
        ...
    @stageSelection.setter
    def stageSelection(self, value: List[int]) -> None:
        ...

    @property
    def stickyState(self) -> str:
        ...
    @stickyState.setter
    def stickyState(self, value: str) -> None:
        ...

    @property
    def tooltipOption(self) -> int:
        """
        Options: {0: 'Only When F1 Pressed', 1: 'After 1 Second', 2: 'After 2 Seconds', 3: 'After 3 Seconds'}
        UserName: Tooltips
        """
        ...
    @tooltipOption.setter
    def tooltipOption(self, option: int) -> None:
        ...

    @property
    def waveformMode(self) -> int:
        ...
    @waveformMode.setter
    def waveformMode(self, value: int) -> None:
        ...

    def addRename(self, rename: str) -> None:
        ...

    def brightnessDisplayOption(self) -> int:
        ...

    def clearCurrentStageSelection(self) -> None:
        ...

    def colourDisplayOption(self) -> int:
        ...

    def expand(self, groupLayerID: int, expanded: bool) -> None:
        ...

    def getCurrentActiveVisualiserCamera(self) -> Camera:
        ...

    def getCurrentStageSelection(self) -> List[Object]:
        ...

    def isExpanded(self, groupLayerID: int) -> bool:
        ...

    def lastSeen(self, noteUid: int) -> DateStamp:
        ...

    def loudnessDisplayOption(self) -> int:
        ...

    def markSeen(self, noteUid: int, timestamp: DateStamp) -> None:
        ...

    def onObjectRemovedFromStage(self, removedObjects: List[Object]) -> None:
        ...

    def outputMovieExtension(self) -> str:
        ...

    def screenShotExtension(self) -> str:
        ...

    def screenShotTextureFormat(self) -> int:
        ...

    def setCurrentStageSelection(self, stageSelection: List[Object]) -> None:
        ...


class ProceduralTexture(DxTexture):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ProceduralTexture'

    def draw(self) -> None:
        ...


class ProcessMemoryMonitor(MetricMonitor):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ProcessMemoryMonitor'

    def __init__(self) -> None:
        """
        Default constructor for ProcessMemoryMonitor
        """
        ...


class Product(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Product'

    @property
    def manufacturer(self) -> str:
        """
        Short form name of the firm that makes the product, eg. 'Roe'
        
        UserName: Manufacturer
        """
        ...
    @manufacturer.setter
    def manufacturer(self, value: str) -> None:
        ...

    @property
    def productCode(self) -> str:
        """
        Long-form Product Code including model, revision, etc - for disambiguation, eg. 'BO3'
        
        UserName: Product code
        """
        ...
    @productCode.setter
    def productCode(self, value: str) -> None:
        ...

    @property
    def shortName(self) -> str:
        """
        Short name the product is commonly referred to by, eg. 'Black Onyx'
        
        UserName: Short name
        """
        ...
    @shortName.setter
    def shortName(self, value: str) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for Product
        """
        ...


class ProfilerCallNode(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def children(self) -> List[ProfilerCallNode]:
        ...
    @children.setter
    def children(self, value: List[ProfilerCallNode]) -> None:
        ...

    @property
    def name(self) -> str:
        ...
    @name.setter
    def name(self, value: str) -> None:
        ...

    @property
    def tAverage(self) -> float:
        ...
    @tAverage.setter
    def tAverage(self, value: float) -> None:
        ...

    @property
    def tMax(self) -> float:
        ...
    @tMax.setter
    def tMax(self, value: float) -> None:
        ...


class ProfilerHTTPSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...

    def captureSystem(self, filename: str, frames: int) -> None:
        ...


class ProfilerSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...

    def getMonitoringReport(self) -> str:
        ...

    def getNodes(self) -> ProfilerCallNode:
        ...

    def isGpuPoolRecording(self) -> bool:
        ...

    def isRecording(self) -> bool:
        ...

    def startGpuPoolRecording(self) -> None:
        ...

    def startMonitoring(self) -> None:
        ...

    def startRecording(self, filename: str) -> None:
        ...

    def stopGpuPoolRecording(self) -> None:
        ...

    def stopMonitoring(self) -> None:
        ...

    def stopRecording(self) -> None:
        ...


class ProjectData(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class ProjectPathsManager(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, arg0: ProjectPathsManager) -> None:
        ...

    @overload
    def __init__(self, name: str) -> None:
        ...

    @overload
    def __init__(self, folder: str, name: str) -> None:
        ...

    def dllsTxt(self) -> str:
        ...

    def edidFolder(self) -> str:
        ...

    def folderName(self) -> str:
        ...

    def internalLutFolder(self) -> str:
        ...

    def projectFile(self) -> str:
        ...

    def projectFileName(self) -> str:
        ...

    def projectFolder(self) -> str:
        ...

    def projectName(self) -> str:
        ...

    def projectSubFolder(self, subfolder: str) -> str:
        ...

    def sep(self) -> str:
        ...

    def setAbsolute(self) -> None:
        ...

    def setRelativeToProjectsFolder(self) -> None:
        ...


class ProjectSnapshots(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    archiveSnapshot: Callable
    clearSnapshotTakenDelegate: Callable
    generateSnapshotName: Callable
    getBackups: Callable
    getCurrentlyRestoredSnapshotName: Callable
    getSnapshotsFilePaths: Callable
    hoursSinceSnapshotTaken: Callable
    invalidSnapshotExtension: Final = '.d3starterss'
    recallSnapshot: Callable
    removeBackups: Callable
    renameSnapshot: Callable
    setSnapshotTakenDelegate: Callable
    snapshotExtension: Final = '.d3ss'
    takeSnapshot: Callable


class Projection(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Mapping'

    @property
    def clipOutsideRegion(self) -> bool:
        """
        Clips pixels outside of rendered region, preserving existing colour.
        
        UserName: Clip outside region
        """
        ...
    @clipOutsideRegion.setter
    def clipOutsideRegion(self, value: bool) -> None:
        ...

    @property
    def filtering(self) -> int:
        """
        Nearest & Bilinear are pixel perfect at 100% zoom, and fast
        Multi-sample fixes issues with downscaled content but causes very slight blurring
        
        Options: {0: 'Nearest', 1: 'Bilinear', 2: '2x Multi-Sample'}
        UserName: Filtering
        """
        ...
    @filtering.setter
    def filtering(self, value: int) -> None:
        ...

    @property
    def mask(self) -> DxTexture:
        """
        Optional bitmap to multiply with all content passing through the mapping
        
        UserName: Mask
        """
        ...
    @mask.setter
    def mask(self, value: DxTexture) -> None:
        ...

    @property
    def mode(self) -> int:
        ...
    @mode.setter
    def mode(self, value: int) -> None:
        ...

    @property
    def nContentViewpoints(self) -> int:
        ...

    @property
    def projectionObject(self) -> ProjectionObject:
        ...
    @projectionObject.setter
    def projectionObject(self, value: ProjectionObject) -> None:
        ...

    @property
    def proxyCanvasResolution(self) -> Vec2:
        ...

    @property
    def resolution(self) -> Vec2:
        """
        Resolution of the canvas, in pixels. This is the resolution the module renders to
        
        UserName: Resolution
        """
        ...
    @resolution.setter
    def resolution(self, value: Vec2) -> None:
        ...

    @property
    def screens(self) -> List[Display]:
        """
        List of screens to receive module content
        
        UserName: Screens
        """
        ...
    @screens.setter
    def screens(self, value: List[Display]) -> None:
        ...

    @property
    def setScreenSize(self) -> Vec2:
        ...
    @setScreenSize.setter
    def setScreenSize(self, value: Vec2) -> None:
        ...

    def getContentViewpoints(self, latency: float, fraction: FrameRateFraction) -> List[ContentViewPoint]:
        ...

    def setBorderColour(self, c: Colour) -> None:
        ...

    def startEditing(self) -> None:
        ...

    def stopEditing(self) -> None:
        ...


class ProjectionAwareModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ProjectionAwareModule'


class ProjectionMaterial(DxMaterial):
    null: Self
    _classInfo: 'ClassInfo'


class ProjectionObject(Object):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ProjectionObject'

    @property
    def hidden(self) -> bool:
        ...
    @hidden.setter
    def hidden(self, on: bool) -> None:
        ...

    @property
    def projection(self) -> Projection:
        ...
    @projection.setter
    def projection(self, proj: Projection) -> None:
        ...


class Projector(SlcAwareDisplay):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Projector'
    FixedModeNone: Final = 0
    FixedModePosition: Final = 1
    FixedModePositionAndRotation: Final = 3
    FixedModeRotation: Final = 2
    getSupportedOutputModeNames: Callable
    getSupportedOutputModes: Callable
    getSupportedRenderModeNames: Callable

    @property
    def _drawReferencePoints(self) -> bool:
        ...
    @_drawReferencePoints.setter
    def _drawReferencePoints(self, value: bool) -> None:
        ...

    @property
    def _guiState(self) -> ProjectorGuiState:
        ...
    @_guiState.setter
    def _guiState(self, value: ProjectorGuiState) -> None:
        ...

    @property
    def _preferredOutputMode(self) -> int:
        ...
    @_preferredOutputMode.setter
    def _preferredOutputMode(self, value: int) -> None:
        ...

    @property
    def activeOutputMode(self) -> int:
        ...

    @property
    def antiAlias(self) -> int:
        """
        Anti-aliasing technique - makes edges smoother, but reduces performance
        
        Options: {0: 'None', 1: 'FXAA', 2: '2x MSAA', 3: '4x MSAA', 4: '8x MSAA'}
        UserName: Anti-aliasing
        """
        ...
    @antiAlias.setter
    def antiAlias(self, value: int) -> None:
        ...

    @property
    def autoSoftEdge(self) -> int:
        """
        Allows you to turn off Dynamic Blend on individual projectors
        """
        ...
    @autoSoftEdge.setter
    def autoSoftEdge(self, value: int) -> None:
        ...

    @property
    def autoSoftEdgeMembershipFunction(self) -> int:
        """
        Dynamic Blend Membership Algorithm
        
        Options: {0: 'Linear', 1: 'Radial', 2: 'Linear To Radial'}
        """
        ...
    @autoSoftEdgeMembershipFunction.setter
    def autoSoftEdgeMembershipFunction(self, value: int) -> None:
        ...

    @property
    def autoSoftEdgeSnapshotted(self) -> int:
        """
        Lock Dynamic Blend snapshot
        """
        ...
    @autoSoftEdgeSnapshotted.setter
    def autoSoftEdgeSnapshotted(self, value: int) -> None:
        ...

    @property
    def barnDoorBottom(self) -> float:
        """
        Bottom edge of Dynamic Blend barndoor; increase this to move the edge upwards
        """
        ...
    @barnDoorBottom.setter
    def barnDoorBottom(self, value: float) -> None:
        ...

    @property
    def barnDoorLeft(self) -> float:
        """
        Left edge of Dynamic Blend barndoor; increase this to move the edge rightwards
        """
        ...
    @barnDoorLeft.setter
    def barnDoorLeft(self, value: float) -> None:
        ...

    @property
    def barnDoorRight(self) -> float:
        """
        Right edge of Dynamic Blend barndoor; increase this to move the edge leftwards
        """
        ...
    @barnDoorRight.setter
    def barnDoorRight(self, value: float) -> None:
        ...

    @property
    def barnDoorTop(self) -> float:
        """
        Top edge of Dynamic Blend barndoor; increase this to move the edge downwards
        """
        ...
    @barnDoorTop.setter
    def barnDoorTop(self, value: float) -> None:
        ...

    @property
    def blur_shadow(self) -> float:
        """
        Masked object blur amount
        """
        ...
    @blur_shadow.setter
    def blur_shadow(self, value: float) -> None:
        ...

    @property
    def colour(self) -> Colour:
        """
        The colour of the projector frustum in the visualiser
        
        UserName: Colour
        """
        ...
    @colour.setter
    def colour(self, value: Colour) -> None:
        ...

    @property
    def config(self) -> ProjectorConfig:
        """
        Open this to enter the quick-calibration interface
        
        UserName: Configuration
        """
        ...
    @config.setter
    def config(self, value: ProjectorConfig) -> None:
        ...

    @property
    def configAutoZClipping(self) -> bool:
        ...
    @configAutoZClipping.setter
    def configAutoZClipping(self, onOff: bool) -> None:
        ...

    @property
    def configLensShift(self) -> Vec2:
        ...
    @configLensShift.setter
    def configLensShift(self, s: Vec2) -> None:
        ...

    @property
    def configLensShiftInv(self) -> Vec2:
        ...
    @configLensShiftInv.setter
    def configLensShiftInv(self, s: Vec2) -> None:
        ...

    @property
    def configLookAt(self) -> Vec:
        ...
    @configLookAt.setter
    def configLookAt(self, l: Vec) -> None:
        ...

    @property
    def configLookDistance(self) -> float:
        ...
    @configLookDistance.setter
    def configLookDistance(self, d: float) -> None:
        ...

    @property
    def configManualZFar(self) -> float:
        ...
    @configManualZFar.setter
    def configManualZFar(self, zfar: float) -> None:
        ...

    @property
    def configManualZNear(self) -> float:
        ...
    @configManualZNear.setter
    def configManualZNear(self, znear: float) -> None:
        ...

    @property
    def configPosition(self) -> Vec:
        ...
    @configPosition.setter
    def configPosition(self, p: Vec) -> None:
        ...

    @property
    def configRadialDistortion(self) -> Vec:
        ...
    @configRadialDistortion.setter
    def configRadialDistortion(self, rad: Vec) -> None:
        ...

    @property
    def configRotation(self) -> Vec:
        ...
    @configRotation.setter
    def configRotation(self, r: Vec) -> None:
        ...

    @property
    def configSkew(self) -> float:
        ...
    @configSkew.setter
    def configSkew(self, s: float) -> None:
        ...

    @property
    def configTangentialDistortion(self) -> Vec2:
        ...
    @configTangentialDistortion.setter
    def configTangentialDistortion(self, tang: Vec2) -> None:
        ...

    @property
    def configThrowRatio(self) -> float:
        ...
    @configThrowRatio.setter
    def configThrowRatio(self, t: float) -> None:
        ...

    @property
    def configWarpGridSize(self) -> Int2:
        ...
    @configWarpGridSize.setter
    def configWarpGridSize(self, gridSize: Int2) -> None:
        ...

    @property
    def deformStack(self) -> DeformStack:
        ...
    @deformStack.setter
    def deformStack(self, value: DeformStack) -> None:
        ...

    @property
    def disableAutoCalViewUpdate(self) -> bool:
        ...
    @disableAutoCalViewUpdate.setter
    def disableAutoCalViewUpdate(self, value: bool) -> None:
        ...

    @property
    def dseCutoffAngle(self) -> float:
        """
        Dynamic Blend cutoff angle in degrees. It's a threshold for the angle between the projector's incidence ray and the normal vector at a pixel.
        Any angle equal or larger than this will lead to zero contribution from this projector for a given pixel.
        Default is 90 degrees.
        """
        ...
    @dseCutoffAngle.setter
    def dseCutoffAngle(self, value: float) -> None:
        ...

    @property
    def dseExclude(self) -> List[Projector]:
        """
        Specifies which projectors are included or excluded from this projector's Dynamic Blend
        """
        ...
    @dseExclude.setter
    def dseExclude(self, value: List[Projector]) -> None:
        ...

    @property
    def dseExcludeList(self) -> List[Projector]:
        ...
    @dseExcludeList.setter
    def dseExcludeList(self, value: List[Projector]) -> None:
        ...

    @property
    def dseResolutionFactor(self) -> int:
        """
        Resolution for calculating Dynamic Blend projector contributions.
        Higher resolutions improve the resulting blend mask, reducing some visual artifcats such as overspill.
        But this also increases the cost of calculating the blend.
        Projectors should use reduced resolutions if they are affected by frequent Dynamic Blend recalculations e.g. if they target moving surfaces.
        Default: 1/16th.
        
        Options: {0: '1/16', 1: '1/8', 2: '1/4', 3: '1/2', 4: 'Full'}
        """
        ...
    @dseResolutionFactor.setter
    def dseResolutionFactor(self, value: int) -> None:
        ...

    @property
    def faceCullMode(self) -> int:
        """
        Can optionally skip rendering faces with normals pointing away (back) or toward (front) the projector.
        
        Options: {0: 'None', 1: 'Front', 2: 'Back'}
        UserName: Face Cull Mode
        """
        ...
    @faceCullMode.setter
    def faceCullMode(self, value: int) -> None:
        ...

    @property
    def feather(self) -> float:
        """
        Shrinks or grows screens in the projector's view, to fix over-projection
        
        UserName: Feather
        """
        ...
    @feather.setter
    def feather(self, value: float) -> None:
        ...

    @property
    def fieldOfView(self) -> float:
        ...

    @property
    def gammaBias(self) -> float:
        """
        Adjusts the estimate of this projector's gamma relative to the Stage's global Blend gamma
        """
        ...
    @gammaBias.setter
    def gammaBias(self, value: float) -> None:
        ...

    @property
    def gridSize(self) -> float:
        """
        Controls the spacing of grid lines in Grid output mode
        """
        ...
    @gridSize.setter
    def gridSize(self, value: float) -> None:
        ...

    @property
    def gridThickness(self) -> float:
        """
        Controls the thickness of grid lines in Grid output mode
        """
        ...
    @gridThickness.setter
    def gridThickness(self, value: float) -> None:
        ...

    @property
    def guiState(self) -> ProjectorGuiState:
        ...

    @property
    def includeOrExclude(self) -> int:
        """
        lets you either remove projectors from Dynamic Blend consideration, or forces Blend to use only a specific list of projectors
        """
        ...
    @includeOrExclude.setter
    def includeOrExclude(self, value: int) -> None:
        ...

    @property
    def isActiveOutputModeNone(self) -> bool:
        ...

    @property
    def isAutoCalIntrinsicsUserEditable(self) -> bool:
        ...

    @property
    def isOutputNeededByGui(self) -> bool:
        ...
    @isOutputNeededByGui.setter
    def isOutputNeededByGui(self, value: bool) -> None:
        ...

    @property
    def lensDistortionMode(self) -> int:
        ...
    @lensDistortionMode.setter
    def lensDistortionMode(self, value: int) -> None:
        ...

    @property
    def lightScattering(self) -> int:
        """
        enables light scattering for this projector
        
        UserName: Light Scattering
        """
        ...
    @lightScattering.setter
    def lightScattering(self, value: int) -> None:
        ...

    @property
    def lightScatteringshadows(self) -> int:
        """
        enables light scattering shadows for this projector
        
        UserName: Light Scattering shadows
        """
        ...
    @lightScatteringshadows.setter
    def lightScatteringshadows(self, value: int) -> None:
        ...

    @property
    def lineupBitmap(self) -> DxTexture:
        """
        Bitmap used as quickcal lineup cursor
        
        UserName: QuickCal reticle
        """
        ...
    @lineupBitmap.setter
    def lineupBitmap(self, value: DxTexture) -> None:
        ...

    @property
    def lumens(self) -> float:
        """
        Projector brightness, in ANSI Lumens. Affects visualiser only
        
        UserName: Brightness (Lumens)
        """
        ...
    @lumens.setter
    def lumens(self, lum: float) -> None:
        ...

    @property
    def mask_objects(self) -> List[Object]:
        """
        List of objects that this projector should render as black
        """
        ...
    @mask_objects.setter
    def mask_objects(self, value: List[Object]) -> None:
        ...

    @property
    def mask_resolution(self) -> int:
        """
        Set shadow mask resolution
        
        Options: {0: 'Full', 1: '1/2', 2: '1/4'}
        UserName: Resolution
        """
        ...
    @mask_resolution.setter
    def mask_resolution(self, value: int) -> None:
        ...

    @property
    def masking_scale(self) -> float:
        """
        Shrinks or grows the mask objects in the projector's view
        """
        ...
    @masking_scale.setter
    def masking_scale(self, value: float) -> None:
        ...

    @property
    def outputBrightness(self) -> float:
        """
        output brightness (lumens)
        
        UserName: output brightness (lumens)
        """
        ...
    @outputBrightness.setter
    def outputBrightness(self, value: float) -> None:
        ...

    @property
    def projectionMatrix(self) -> Mat:
        ...

    @property
    def render_mode(self) -> int:
        """
        Switches the projector's output for easier identification or testing
        
        Options: {0: 'Invisible', 1: 'Beam', 2: 'Wire', 3: 'Beam And Wire'}
        UserName: Render mode
        """
        ...
    @render_mode.setter
    def render_mode(self, value: int) -> None:
        ...

    @property
    def screens(self) -> List[Screen2]:
        """
        List of screen surfaces that this projector should render. Other screens will not be visible in the projector.
        """
        ...
    @screens.setter
    def screens(self, value: List[Screen2]) -> None:
        ...

    @property
    def shadows(self) -> int:
        """
        enables shadows for this projector
        
        UserName: Shadows
        """
        ...
    @shadows.setter
    def shadows(self, value: int) -> None:
        ...

    @property
    def simulatedShutterOpen(self) -> bool:
        ...
    @simulatedShutterOpen.setter
    def simulatedShutterOpen(self, open: bool) -> None:
        ...

    @property
    def stackedProjectors(self) -> List[Projector]:
        ...
    @stackedProjectors.setter
    def stackedProjectors(self, value: List[Projector]) -> None:
        ...

    def addScreen(self, s: Screen2) -> None:
        ...

    def addStackedProjector(self, proj: Projector) -> None:
        ...

    def clearWarpsAndMasks(self) -> None:
        ...

    def configSetFixedMode(self, mode: int) -> None:
        ...

    def editingConfig(self, onOff: bool) -> None:
        ...

    def editingProjector(self, onOff: bool) -> None:
        ...

    def getSurfaceMask(self, screen: Screen2) -> DxTexture:
        ...

    def hasFeedAssigned(self) -> bool:
        ...

    def hasStackedProjectors(self) -> bool:
        ...

    def isStackedProjector(self) -> bool:
        ...

    def mainProjector(self) -> Projector:
        ...

    def nScreens(self) -> int:
        ...

    def onCloseConfigEditor(self) -> None:
        ...

    def onOpenConfigEditor(self) -> None:
        ...

    def onStackedProjectorsUpdated(self) -> None:
        ...

    def preferredOutputMode(self, mode: int) -> None:
        ...

    def removeScreen(self, s: Screen2) -> None:
        ...

    def renderMode(self, value: int) -> None:
        ...

    def renderStage(self, resolution: Int2, viewTarget: DxTexture) -> None:
        ...

    def setSurfaceMask(self, screen: Screen2, mask: DxTexture) -> None:
        ...

    def updateStackingWarp(self) -> None:
        ...


class ProjectorCalibrationSettings(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def bundleAdjustIterations(self) -> int:
        ...
    @bundleAdjustIterations.setter
    def bundleAdjustIterations(self, value: int) -> None:
        ...

    @property
    def inlierMaxReprojectionError(self) -> float:
        ...
    @inlierMaxReprojectionError.setter
    def inlierMaxReprojectionError(self, value: float) -> None:
        ...

    @property
    def inlierPercentage(self) -> float:
        """
        Estimated number of inliers as percentage of all point pairs [0..1]. Used in outlier handling algorithms. Default is 0.8 (=80%).
        """
        ...
    @inlierPercentage.setter
    def inlierPercentage(self, value: float) -> None:
        ...

    @property
    def outlierHandling(self) -> int:
        """
        How to detect outlier point pairs before Projector calibration.
        """
        ...
    @outlierHandling.setter
    def outlierHandling(self, value: int) -> None:
        ...

    @property
    def projectorCalibrationAlgorithm(self) -> int:
        ...
    @projectorCalibrationAlgorithm.setter
    def projectorCalibrationAlgorithm(self, value: int) -> None:
        ...

    @property
    def sampleSize(self) -> int:
        """
        Number of points pairs to group together in outlier handling step (e.g. RANSAC). Must be >=6, default is 7.
        """
        ...
    @sampleSize.setter
    def sampleSize(self, value: int) -> None:
        ...

    @property
    def useDistortion(self) -> int:
        ...
    @useDistortion.setter
    def useDistortion(self, value: int) -> None:
        ...

    @property
    def useLensShift(self) -> int:
        ...
    @useLensShift.setter
    def useLensShift(self, value: int) -> None:
        ...

    @property
    def useManualIntrinsicsAsEstimate(self) -> int:
        ...
    @useManualIntrinsicsAsEstimate.setter
    def useManualIntrinsicsAsEstimate(self, value: int) -> None:
        ...

    @overload
    def __init__(self) -> None:
        """
        Default constructor for ProjectorCalibrationSettings
        """
        ...

    @overload
    def __init__(self, other: ProjectorCalibrationSettings) -> None:
        """
        Copy constructor for ProjectorCalibrationSettings
        """
        ...


class ProjectorCalibratorDevice(Device):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ProjectorCalibratorDevice'

    @property
    def currentRefPoint(self) -> ReferencePoint:
        ...
    @currentRefPoint.setter
    def currentRefPoint(self, value: ReferencePoint) -> None:
        ...

    @property
    def currentRotationIndex(self) -> int:
        ...
    @currentRotationIndex.setter
    def currentRotationIndex(self, value: int) -> None:
        ...

    @property
    def cursors(self) -> List[Vec2]:
        ...
    @cursors.setter
    def cursors(self, value: List[Vec2]) -> None:
        ...

    @property
    def draw_test_lines(self) -> int:
        """
        Options: {0: 'No', 1: 'Yes'}
        UserName: Draw test lines
        """
        ...
    @draw_test_lines.setter
    def draw_test_lines(self, value: int) -> None:
        ...

    @property
    def iProjectorSelected(self) -> int:
        ...
    @iProjectorSelected.setter
    def iProjectorSelected(self, value: int) -> None:
        ...

    @property
    def isCapturing(self) -> bool:
        ...

    @property
    def isReceiving(self) -> bool:
        ...

    @property
    def mode(self) -> int:
        """
        Options: {0: 'Normal', 1: 'Place', 2: 'Lineup', 3: 'Test'}
        UserName: Mode
        """
        ...
    @mode.setter
    def mode(self, value: int) -> None:
        ...

    @property
    def osc(self) -> OscDevice:
        """
        UserName: OSC
        """
        ...
    @osc.setter
    def osc(self, value: OscDevice) -> None:
        ...

    @property
    def projectors(self) -> List[Projector]:
        """
        Category: Projectors
        UserName: Projectors
        """
        ...
    @projectors.setter
    def projectors(self, value: List[Projector]) -> None:
        ...

    @property
    def selectedProjectorCursor(self) -> Vec2:
        ...

    @property
    def test_blob_size(self) -> float:
        """
        UserName: Test blob size
        """
        ...
    @test_blob_size.setter
    def test_blob_size(self, value: float) -> None:
        ...

    @property
    def trackedPoint(self) -> TrackedPoint:
        """
        UserName: Tracked point
        """
        ...
    @trackedPoint.setter
    def trackedPoint(self, value: TrackedPoint) -> None:
        ...

    def forceOsc(self, oscMessage: str, buttonState: float) -> None:
        ...

    def onProjectorListChanged(self) -> None:
        ...


class ProjectorCaptureSettings(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def alignmentGuideLinesCol(self) -> Colour:
        ...
    @alignmentGuideLinesCol.setter
    def alignmentGuideLinesCol(self, value: Colour) -> None:
        ...

    @property
    def alignmentGuideLinesThickness(self) -> float:
        ...
    @alignmentGuideLinesThickness.setter
    def alignmentGuideLinesThickness(self, value: float) -> None:
        ...

    @property
    def alignmentGuideLinesXCount(self) -> int:
        ...
    @alignmentGuideLinesXCount.setter
    def alignmentGuideLinesXCount(self, value: int) -> None:
        ...

    @property
    def alignmentGuideLinesXOffset(self) -> float:
        ...
    @alignmentGuideLinesXOffset.setter
    def alignmentGuideLinesXOffset(self, value: float) -> None:
        ...

    @property
    def alignmentGuideLinesYCount(self) -> int:
        ...
    @alignmentGuideLinesYCount.setter
    def alignmentGuideLinesYCount(self, value: int) -> None:
        ...

    @property
    def alignmentGuideLinesYOffset(self) -> float:
        ...
    @alignmentGuideLinesYOffset.setter
    def alignmentGuideLinesYOffset(self, value: float) -> None:
        ...

    @property
    def alignmentWhiteLevel(self) -> int:
        ...
    @alignmentWhiteLevel.setter
    def alignmentWhiteLevel(self, value: int) -> None:
        ...

    @property
    def dotShape(self) -> int:
        ...
    @dotShape.setter
    def dotShape(self, value: int) -> None:
        ...

    @property
    def dotSize(self) -> int:
        ...
    @dotSize.setter
    def dotSize(self, value: int) -> None:
        ...

    @property
    def focusPattern(self) -> int:
        ...
    @focusPattern.setter
    def focusPattern(self, value: int) -> None:
        ...

    @property
    def focusPatternSpacing(self) -> int:
        ...
    @focusPatternSpacing.setter
    def focusPatternSpacing(self, value: int) -> None:
        ...

    @property
    def gridSize(self) -> int:
        ...
    @gridSize.setter
    def gridSize(self, value: int) -> None:
        ...

    @property
    def whiteLevel(self) -> int:
        ...
    @whiteLevel.setter
    def whiteLevel(self, value: int) -> None:
        ...


class ProjectorCaptureSettingsPair(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def projector(self) -> ProjectorReference:
        ...
    @projector.setter
    def projector(self, value: ProjectorReference) -> None:
        ...

    @property
    def settings(self) -> ProjectorCaptureSettings:
        ...
    @settings.setter
    def settings(self, value: ProjectorCaptureSettings) -> None:
        ...

    @overload
    def __init__(self) -> None:
        """
        Default constructor for ProjectorCaptureSettingsPair
        """
        ...

    @overload
    def __init__(self, other: ProjectorCaptureSettingsPair) -> None:
        """
        Copy constructor for ProjectorCaptureSettingsPair
        """
        ...

    def gridSize(self) -> Int2:
        ...


class ProjectorChangeDetectionSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        """
        Default constructor for ProjectorChangeDetectionSystem
        """
        ...


class ProjectorConfig(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ProjectorConfig'
    calcFlashFactor: Callable
    getSupportedCalibMethodNames: Callable
    getSupportedCursorTypeNames: Callable

    @property
    def _autoCalcZClipping(self) -> bool:
        """
        Turning this off lets you set near and far clip planes manually
        """
        ...
    @_autoCalcZClipping.setter
    def _autoCalcZClipping(self, value: bool) -> None:
        ...

    @property
    def _bFixThrowRatio(self) -> bool:
        ...
    @_bFixThrowRatio.setter
    def _bFixThrowRatio(self, value: bool) -> None:
        ...

    @property
    def _bFixThrowRatioOld(self) -> bool:
        ...
    @_bFixThrowRatioOld.setter
    def _bFixThrowRatioOld(self, value: bool) -> None:
        ...

    @property
    def _calibLastChange(self) -> int:
        ...
    @_calibLastChange.setter
    def _calibLastChange(self, value: int) -> None:
        ...

    @property
    def _calibMethod(self) -> int:
        """
        Lets you select a specific calibration algorithm
        """
        ...
    @_calibMethod.setter
    def _calibMethod(self, value: int) -> None:
        ...

    @property
    def _calibMethodOld(self) -> int:
        ...
    @_calibMethodOld.setter
    def _calibMethodOld(self, value: int) -> None:
        ...

    @property
    def _calibMethodUsed(self) -> int:
        """
        Which calibration algorithm is actually being used
        """
        ...
    @_calibMethodUsed.setter
    def _calibMethodUsed(self, value: int) -> None:
        ...

    @property
    def _calibrationErrors(self) -> Vec:
        """
        Shows the aggregate calibration error (in pixels)
        """
        ...
    @_calibrationErrors.setter
    def _calibrationErrors(self, value: Vec) -> None:
        ...

    @property
    def _followRefPointMoves(self) -> bool:
        """
        If set, moving a screen that was used for calibration will also move the projector
        """
        ...
    @_followRefPointMoves.setter
    def _followRefPointMoves(self, value: bool) -> None:
        ...

    @property
    def _iPointCursor(self) -> int:
        ...
    @_iPointCursor.setter
    def _iPointCursor(self, value: int) -> None:
        ...

    @property
    def _lensShiftOld(self) -> Vec2:
        ...
    @_lensShiftOld.setter
    def _lensShiftOld(self, value: Vec2) -> None:
        ...

    @property
    def _lens_shift(self) -> Vec2:
        """
        Projector lens shift; 0 is centered, +/-1 is shift to image border
        """
        ...
    @_lens_shift.setter
    def _lens_shift(self, value: Vec2) -> None:
        ...

    @property
    def _lookDistanceOld(self) -> float:
        ...
    @_lookDistanceOld.setter
    def _lookDistanceOld(self, value: float) -> None:
        ...

    @property
    def _look_distance(self) -> float:
        """
        Distance of lookAt point from world position, in meters.
        """
        ...
    @_look_distance.setter
    def _look_distance(self, value: float) -> None:
        ...

    @property
    def _matrix(self) -> Mat:
        ...
    @_matrix.setter
    def _matrix(self, value: Mat) -> None:
        ...

    @property
    def _points(self) -> List[CalibratedPoint]:
        ...
    @_points.setter
    def _points(self, value: List[CalibratedPoint]) -> None:
        ...

    @property
    def _position(self) -> Vec:
        """
        Position of projector lens centre, in meters; relative to parent object in the hierarchy.
        """
        ...
    @_position.setter
    def _position(self, value: Vec) -> None:
        ...

    @property
    def _positionOld(self) -> Vec:
        ...
    @_positionOld.setter
    def _positionOld(self, value: Vec) -> None:
        ...

    @property
    def _preferredOutputMode(self) -> int:
        """
        Controls the output of the projector during calibration
        """
        ...
    @_preferredOutputMode.setter
    def _preferredOutputMode(self, value: int) -> None:
        ...

    @property
    def _radial_distortion(self) -> Vec:
        """
        Radial lens distortion coefficients k1, k2, k3.
        """
        ...
    @_radial_distortion.setter
    def _radial_distortion(self, value: Vec) -> None:
        ...

    @property
    def _rotation(self) -> Vec:
        """
        Rotation around x, y and z axes, in degrees; relative to parent object in hierarchy.
        """
        ...
    @_rotation.setter
    def _rotation(self, value: Vec) -> None:
        ...

    @property
    def _rotationOld(self) -> Vec:
        ...
    @_rotationOld.setter
    def _rotationOld(self, value: Vec) -> None:
        ...

    @property
    def _skew(self) -> float:
        """
        Skew / keystone in solved calibration matrix (diagnostic only).
        """
        ...
    @_skew.setter
    def _skew(self, value: float) -> None:
        ...

    @property
    def _skewOld(self) -> float:
        ...
    @_skewOld.setter
    def _skewOld(self, value: float) -> None:
        ...

    @property
    def _tangential_distortion(self) -> Vec2:
        """
        Tangential lens distortion coefficients p1, p2.
        """
        ...
    @_tangential_distortion.setter
    def _tangential_distortion(self, value: Vec2) -> None:
        ...

    @property
    def _throwRatioOld(self) -> float:
        ...
    @_throwRatioOld.setter
    def _throwRatioOld(self, value: float) -> None:
        ...

    @property
    def _throw_ratio(self) -> float:
        """
        Projector lens throw ratio, as (distance from lens to screen) / (width of image).
        """
        ...
    @_throw_ratio.setter
    def _throw_ratio(self, value: float) -> None:
        ...

    @property
    def _zFarOverride(self) -> float:
        """
        Far clip plane, in meters
        """
        ...
    @_zFarOverride.setter
    def _zFarOverride(self, value: float) -> None:
        ...

    @property
    def _zNearOverride(self) -> float:
        """
        Near clip plane, in meters
        """
        ...
    @_zNearOverride.setter
    def _zNearOverride(self, value: float) -> None:
        ...

    @property
    def autoZClipping(self) -> bool:
        ...
    @autoZClipping.setter
    def autoZClipping(self, value: bool) -> None:
        ...

    @property
    def background(self) -> DxTexture:
        """
        Sets the projector background colour during calibration
        """
        ...
    @background.setter
    def background(self, value: DxTexture) -> None:
        ...

    @property
    def calcViewingDirection(self) -> Vec:
        ...

    @property
    def calibMethod(self) -> int:
        ...
    @calibMethod.setter
    def calibMethod(self, value: int) -> None:
        ...

    @property
    def calibMethodUsed(self) -> int:
        ...

    @property
    def calibrationErrorColour(self) -> Colour:
        ...

    @property
    def calibrationErrors(self) -> Vec:
        ...

    @property
    def calibrationSource(self) -> int:
        """
        Options: {0: 'QuickCal', 1: 'OmniCal'}
        """
        ...
    @calibrationSource.setter
    def calibrationSource(self, value: int) -> None:
        ...

    @property
    def controlRotation(self) -> int:
        """
        Rotate calibration controls to match projector angle
        """
        ...
    @controlRotation.setter
    def controlRotation(self, value: int) -> None:
        ...

    @property
    def cursorType(self) -> int:
        """
        Controls the form of the calibration cursor; select the one that works best for you
        """
        ...
    @cursorType.setter
    def cursorType(self, value: int) -> None:
        ...

    @property
    def disableReferencePointBounds(self) -> int:
        """
        Whether to allow reference point lineup to move the cursor beyond the bounds of the feed (i.e. outside of the projector image). Default: Off.
        
        UserName: Disable Reference Point Bounds
        """
        ...
    @disableReferencePointBounds.setter
    def disableReferencePointBounds(self, value: int) -> None:
        ...

    @property
    def displayCalibValues(self) -> bool:
        ...
    @displayCalibValues.setter
    def displayCalibValues(self, value: bool) -> None:
        ...

    @property
    def drawOccludedMarkers(self) -> int:
        """
        Whether to draw calibration markers for hidden Reference Points, i.e. on the back face of objects (vertex normals point away from projector).
        Not drawing hidden markers, or drawing them at lower opacity affects performance for large meshes. Default: Yes.
        
        Options: {0: 'No', 1: 'Yes', 2: 'Reduced Opacity'}
        UserName: Draw hidden markers
        """
        ...
    @drawOccludedMarkers.setter
    def drawOccludedMarkers(self, value: int) -> None:
        ...

    @property
    def fieldOfView(self) -> float:
        ...

    @property
    def finalAdjustPos(self) -> Vec:
        """
        Offset added to projector position, in meters; use this for last-minute micro-adjustments if necessary
        """
        ...
    @finalAdjustPos.setter
    def finalAdjustPos(self, value: Vec) -> None:
        ...

    @property
    def finalAdjustRotate(self) -> Vec:
        """
        Offset added to projector rotation, in degrees; use this for last-minute micro-adjustments if necessary
        """
        ...
    @finalAdjustRotate.setter
    def finalAdjustRotate(self, value: Vec) -> None:
        ...

    @property
    def fixThrowRatio(self) -> bool:
        ...
    @fixThrowRatio.setter
    def fixThrowRatio(self, value: bool) -> None:
        ...

    @property
    def followRefPointMoves(self) -> bool:
        ...
    @followRefPointMoves.setter
    def followRefPointMoves(self, bFollow: bool) -> None:
        ...

    @property
    def hideOtherReferencePoints(self) -> int:
        """
        Hides reference points that are not calibrated in this projector config. Default: Off.
        
        UserName: Hide other reference points
        """
        ...
    @hideOtherReferencePoints.setter
    def hideOtherReferencePoints(self, value: int) -> None:
        ...

    @property
    def isCalibMethodUsedExtrinsicOnly(self) -> bool:
        ...

    @property
    def isCalibMethodUsedSupportsDistortion(self) -> bool:
        ...

    @property
    def lensShift(self) -> Vec2:
        ...
    @lensShift.setter
    def lensShift(self, s: Vec2) -> None:
        ...

    @property
    def lookAt(self) -> Vec:
        ...
    @lookAt.setter
    def lookAt(self, l: Vec) -> None:
        ...

    @property
    def lookDistance(self) -> float:
        ...
    @lookDistance.setter
    def lookDistance(self, d: float) -> None:
        ...

    @property
    def markerSize(self) -> int:
        """
        Controls the size of the calibration markers in the output, in pixels
        """
        ...
    @markerSize.setter
    def markerSize(self, value: int) -> None:
        ...

    @property
    def nMinLineUps(self) -> int:
        ...

    @property
    def numModifiedRefPoints(self) -> int:
        ...

    @property
    def numReferencePoints(self) -> int:
        ...

    @property
    def numReferencePointsForCurrentPose(self) -> int:
        ...

    @property
    def position(self) -> Vec:
        ...
    @position.setter
    def position(self, p: Vec) -> None:
        ...

    @property
    def projector(self) -> Projector:
        ...

    @property
    def radialDistortion(self) -> Vec:
        ...
    @radialDistortion.setter
    def radialDistortion(self, rad: Vec) -> None:
        ...

    @property
    def refPointEditMode(self) -> int:
        ...
    @refPointEditMode.setter
    def refPointEditMode(self, value: int) -> None:
        ...

    @property
    def rotation(self) -> Vec:
        ...
    @rotation.setter
    def rotation(self, r: Vec) -> None:
        ...

    @property
    def skew(self) -> float:
        ...
    @skew.setter
    def skew(self, s: float) -> None:
        ...

    @property
    def tangentialDistortion(self) -> Vec2:
        ...
    @tangentialDistortion.setter
    def tangentialDistortion(self, tang: Vec2) -> None:
        ...

    @property
    def throwRatio(self) -> float:
        ...
    @throwRatio.setter
    def throwRatio(self, t: float) -> None:
        ...

    @property
    def warpGrid(self) -> Array2[Vec2]:
        ...
    @warpGrid.setter
    def warpGrid(self, value: Array2[Vec2]) -> None:
        ...

    @property
    def wireframeCleanup(self) -> float:
        """
        If the angle between two surfaces is less than this angle, the edge is not displayed. Useful for removing excessive edges from curved objects.
        
        UserName: Wireframe cleanup
        """
        ...
    @wireframeCleanup.setter
    def wireframeCleanup(self, value: float) -> None:
        ...

    @property
    def wireframeColour(self) -> Colour:
        ...
    @wireframeColour.setter
    def wireframeColour(self, value: Colour) -> None:
        ...

    @property
    def zFar(self) -> float:
        ...
    @zFar.setter
    def zFar(self, value: float) -> None:
        ...

    @property
    def zFarAuto(self) -> float:
        ...
    @zFarAuto.setter
    def zFarAuto(self, value: float) -> None:
        ...

    @property
    def zNear(self) -> float:
        ...
    @zNear.setter
    def zNear(self, value: float) -> None:
        ...

    @property
    def zNearAuto(self) -> float:
        ...
    @zNearAuto.setter
    def zNearAuto(self, value: float) -> None:
        ...

    def clearSelection(self) -> None:
        ...

    def debugAutoCal(self) -> None:
        ...

    def findCalibratedPoint(self, point: ReferencePoint) -> CalibratedPoint:
        ...

    def findModifiedPoints(self) -> List[CalibratedPoint]:
        ...

    def findReferencePoint(self, point: ReferencePoint) -> int:
        ...

    def getReferencePointStatus(self, p: ReferencePoint) -> int:
        ...

    def lineupReferencePoint2D(self, deltaPixels: Vec2) -> None:
        ...

    def lineupReferencePointEnd(self) -> None:
        ...

    def nLineUpsForStatus(self, status: int) -> int:
        ...

    def preferredOutputMode(self, mode: int) -> None:
        ...

    def recomputeMatrixOnUpdate(self) -> None:
        ...

    def removeAllReferencePoints(self) -> None:
        ...

    def removeAllReferencePointsCurrentPose(self) -> None:
        ...

    def removeReferencePoint(self, point: ReferencePoint) -> None:
        ...

    def selectReferencePoint(self) -> None:
        ...

    def setReferencePointColours(self) -> None:
        ...

    def setReferencePointStatus(self, p: ReferencePoint, s: int) -> None:
        ...

    def updateManualSettings(self) -> None:
        ...

    def updateModifiedPoints(self) -> None:
        ...

    def usingAutoCalibration(self) -> bool:
        ...

    def usingOpticalCalibration(self, onOff: bool) -> None:
        ...


class ProjectorControlCommand(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ProjectorControlCommand'

    @property
    def delay(self) -> float:
        """
        UserName: Start delay
        """
        ...
    @delay.setter
    def delay(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for ProjectorControlCommand
        """
        ...


class ProjectorControlCommands(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ProjectorControlCommands'

    @property
    def commands(self) -> List[ProjectorControlCommand]:
        """
        UserName: Recall
        """
        ...
    @commands.setter
    def commands(self, value: List[ProjectorControlCommand]) -> None:
        ...

    def __init__(self) -> None:
        ...


class ProjectorControlDevice(Device):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ProjectorControlDevice'

    @property
    def actualStatus(self) -> str:
        ...
    @actualStatus.setter
    def actualStatus(self, value: str) -> None:
        ...

    @property
    def commands(self) -> ProjectorControlCommands:
        """
        Category: Default Recall
        UserName: Recall
        """
        ...
    @commands.setter
    def commands(self, value: ProjectorControlCommands) -> None:
        ...

    @property
    def focus(self) -> float:
        """
        Category: Values
        UserName: Focus
        """
        ...
    @focus.setter
    def focus(self, value: float) -> None:
        ...

    @property
    def homeRotation(self) -> Vec:
        """
        Category: Simulation
        UserName: Home rotation
        """
        ...
    @homeRotation.setter
    def homeRotation(self, value: Vec) -> None:
        ...

    @property
    def intensity(self) -> float:
        """
        Category: Values
        UserName: Intensity
        """
        ...
    @intensity.setter
    def intensity(self, value: float) -> None:
        ...

    @property
    def lensShift(self) -> Vec2:
        """
        Category: Values
        UserName: Lens Shift (V/H)
        """
        ...
    @lensShift.setter
    def lensShift(self, value: Vec2) -> None:
        ...

    @property
    def panAxis(self) -> Vec:
        """
        Category: Simulation
        UserName: Pan Axis
        """
        ...
    @panAxis.setter
    def panAxis(self, value: Vec) -> None:
        ...

    @property
    def panTilt(self) -> Vec2:
        """
        Category: Values
        UserName: Pan/Tilt
        """
        ...
    @panTilt.setter
    def panTilt(self, value: Vec2) -> None:
        ...

    @property
    def projector(self) -> Projector:
        """
        UserName: Projector
        """
        ...
    @projector.setter
    def projector(self, value: Projector) -> None:
        ...

    @property
    def rotationSpeed(self) -> Vec2:
        """
        Category: Simulation
        UserName: Rotation speed (deg/s)
        """
        ...
    @rotationSpeed.setter
    def rotationSpeed(self, value: Vec2) -> None:
        ...

    @property
    def simulationConfig(self) -> ProjectorConfig:
        """
        Category: Simulation
        UserName: Simulation configuration
        """
        ...
    @simulationConfig.setter
    def simulationConfig(self, value: ProjectorConfig) -> None:
        ...

    @property
    def tiltAxis(self) -> Vec:
        """
        Category: Simulation
        UserName: Tilt Axis
        """
        ...
    @tiltAxis.setter
    def tiltAxis(self, value: Vec) -> None:
        ...

    @property
    def zoom(self) -> float:
        """
        Category: Values
        UserName: Zoom
        """
        ...
    @zoom.setter
    def zoom(self, value: float) -> None:
        ...

    def deviceStatus(self) -> str:
        ...


class ProjectorControlModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ProjectorControlModule'

    @property
    def presets(self) -> ProjectorPresets:
        """
        UserName: Presets
        """
        ...
    @presets.setter
    def presets(self, value: ProjectorPresets) -> None:
        ...

    def __init__(self) -> None:
        ...


class ProjectorControlPreset(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ProjectorControlPreset'

    def __init__(self) -> None:
        ...


class ProjectorDevice(Device):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ProjectorDevice'

    @property
    def IP_Address(self) -> str:
        """
        UserName: IP address
        """
        ...
    @IP_Address.setter
    def IP_Address(self, value: str) -> None:
        ...

    @property
    def cachedProjectorResolution(self) -> Vec2:
        ...

    @property
    def port(self) -> int:
        """
        UserName: Port
        """
        ...
    @port.setter
    def port(self, value: int) -> None:
        ...

    @property
    def projector(self) -> Projector:
        """
        UserName: Projector
        """
        ...
    @projector.setter
    def projector(self, projector: Projector) -> None:
        ...

    @property
    def projectorResolution(self) -> Vec2:
        """
        The projector's native resolution, in pixels, usually queried from projector if supported. Otherwise enabled for editing.
        
        UserName: Warp resolution
        """
        ...
    @projectorResolution.setter
    def projectorResolution(self, value: Vec2) -> None:
        ...

    @property
    def shutterDelay(self) -> int:
        """
        Delay in milliseconds for projector to reach full brightness after opening its shutter. This is used during OmniCal captures.
        
        UserName: Shutter delay
        """
        ...
    @shutterDelay.setter
    def shutterDelay(self, value: int) -> None:
        ...

    def cacheProperties(self) -> None:
        ...

    def exportWarpFile(self, filename: Path) -> None:
        ...

    def getShutterState(self) -> bool:
        ...

    def getShutterStateDescription(self) -> str:
        ...

    def getWarpEnabledState(self) -> bool:
        ...

    def getWarpEnabledStateDescription(self) -> str:
        ...

    def importWarpFile(self, filename: Path) -> None:
        ...

    def isActive(self) -> bool:
        ...

    def setShutter(self, open: bool) -> None:
        ...

    def setWarpEnabled(self, enable: bool) -> None:
        ...


class ProjectorDeviceSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class ProjectorGroup(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def projectors(self) -> List[ProjectorReference]:
        ...
    @projectors.setter
    def projectors(self, value: List[ProjectorReference]) -> None:
        ...


class ProjectorGuiState(Resource):
    """
    GUI state of the Projector
    
    Must be a separate Resource, so that it can be updated independently from
    the actual Projector and ProjectorConfig data.
    """

    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ProjectorGuiState'

    @property
    def _editMode(self) -> int:
        ...
    @_editMode.setter
    def _editMode(self, value: int) -> None:
        ...

    @property
    def editMode(self) -> int:
        ...
    @editMode.setter
    def editMode(self, mode: int) -> None:
        ...

    @property
    def isBeingEditedConfig(self) -> bool:
        ...

    @property
    def isBeingEditedConfigLocally(self) -> bool:
        ...

    @property
    def isBeingEditedLocally(self) -> bool:
        ...

    @property
    def isBeingEditedProjector(self) -> bool:
        ...


class ProjectorPreset(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ProjectorPreset'

    @property
    def config(self) -> ProjectorConfig:
        """
        UserName: Configuration
        """
        ...
    @config.setter
    def config(self, value: ProjectorConfig) -> None:
        ...

    @property
    def control(self) -> ProjectorControlPreset:
        """
        UserName: Control preset
        """
        ...
    @control.setter
    def control(self, value: ProjectorControlPreset) -> None:
        ...

    @property
    def projector(self) -> Projector:
        """
        UserName: Projector
        """
        ...
    @projector.setter
    def projector(self, value: Projector) -> None:
        ...

    def __init__(self) -> None:
        ...


class ProjectorPresets(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ProjectorPresets'

    @property
    def presets(self) -> List[ProjectorPreset]:
        ...
    @presets.setter
    def presets(self, value: List[ProjectorPreset]) -> None:
        ...

    def __init__(self) -> None:
        ...


class ProjectorReference(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def name(self) -> str:
        ...
    @name.setter
    def name(self, value: str) -> None:
        ...

    @property
    def resolution(self) -> Int2:
        ...
    @resolution.setter
    def resolution(self, value: Int2) -> None:
        ...

    @property
    def uid(self) -> int:
        ...
    @uid.setter
    def uid(self, value: int) -> None:
        ...


class ProjectorRestorer(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class ProjectorStudy(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def iFrameReady(self) -> int:
        ...

    def __init__(self, rootPath: str, projectName: str, stage: Stage, light: int) -> None:
        ...

    def exportCsv(self, revision: str) -> bool:
        ...

    def exportPdf(self, revision: str, comment: str) -> bool:
        ...

    def getPathPrefix(self) -> str:
        ...


class ProjectorViewMaterial(ScreenMaterial):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class ProjectorYokeControlPreset(ProjectorControlPreset):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ProjectorYokeControlPreset'

    @property
    def commands(self) -> ProjectorControlCommands:
        """
        UserName: Recall
        """
        ...
    @commands.setter
    def commands(self, value: ProjectorControlCommands) -> None:
        ...

    @property
    def focus(self) -> float:
        """
        UserName: Focus
        """
        ...
    @focus.setter
    def focus(self, value: float) -> None:
        ...

    @property
    def intensity(self) -> float:
        """
        UserName: Intensity
        """
        ...
    @intensity.setter
    def intensity(self, value: float) -> None:
        ...

    @property
    def lensShift(self) -> Vec2:
        """
        UserName: Lens shift (V/H)
        """
        ...
    @lensShift.setter
    def lensShift(self, value: Vec2) -> None:
        ...

    @property
    def panTilt(self) -> Vec2:
        """
        UserName: Pan/Tilt
        """
        ...
    @panTilt.setter
    def panTilt(self, value: Vec2) -> None:
        ...

    @property
    def zoom(self) -> float:
        """
        UserName: Zoom
        """
        ...
    @zoom.setter
    def zoom(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class Prop(Object):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Prop'

    @property
    def densityMap(self) -> DxTexture:
        """
        Object denisty map for Subsurface scattering approximation
        
        UserName: Density map
        """
        ...
    @densityMap.setter
    def densityMap(self, value: DxTexture) -> None:
        ...

    @property
    def densityScale(self) -> float:
        """
        Object denisty map for Subsurface scattering approximation
        
        UserName: Density scale
        """
        ...
    @densityScale.setter
    def densityScale(self, value: float) -> None:
        ...

    @property
    def luminosity(self) -> float:
        """
        Luminosity of the object
        
        UserName: Luminosity
        """
        ...
    @luminosity.setter
    def luminosity(self, value: float) -> None:
        ...

    @property
    def mesh(self) -> Mesh:
        """
        The mesh that defines the shape of the object
        
        UserName: Mesh
        """
        ...
    @mesh.setter
    def mesh(self, value: Mesh) -> None:
        ...

    @property
    def normalMap(self) -> DxTexture:
        """
        Image to be applied to the surface of the object as a normal map, if any. Note: the mesh must have texture coordinates for this to work properly
        
        UserName: Normal map
        """
        ...
    @normalMap.setter
    def normalMap(self, value: DxTexture) -> None:
        ...

    @property
    def normalMapScalar(self) -> Vec2:
        """
        Normal map UV scalar
        
        UserName: Normal Map Scale
        """
        ...
    @normalMapScalar.setter
    def normalMapScalar(self, value: Vec2) -> None:
        ...

    @property
    def renderSettings(self) -> PropRenderer:
        """
        Category: Appearance
        """
        ...
    @renderSettings.setter
    def renderSettings(self, value: PropRenderer) -> None:
        ...

    @property
    def scale(self) -> Vec:
        """
        Controls the size; this is a scale factor applied to mesh vertices
        
        UserName: Scale
        """
        ...
    @scale.setter
    def scale(self, value: Vec) -> None:
        ...

    def __init__(self) -> None:
        ...


class PropRenderer(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def blendMode(self) -> int:
        """
        Controls how the object composites with other objects in the scene
        
        Options: {0: 'Over', 1: 'Alpha', 2: 'Add'}
        UserName: Blend mode
        """
        ...
    @blendMode.setter
    def blendMode(self, value: int) -> None:
        ...

    @property
    def diffuseMap(self) -> DxTexture:
        """
        Image to be applied to the surface of the object, if any. Note: the mesh must have texture coordinates for this to work properly
        
        UserName: Diffuse map
        """
        ...
    @diffuseMap.setter
    def diffuseMap(self, value: DxTexture) -> None:
        ...

    @property
    def displayMode(self) -> int:
        """
        Controls the display of flat and/or wireframe
        
        Options: {0: 'Hidden', 1: 'Flat', 2: 'Wireframe', 3: 'Flat + wire'}
        UserName: Display mode
        """
        ...
    @displayMode.setter
    def displayMode(self, value: int) -> None:
        ...

    @property
    def dseExpandCM(self) -> float:
        """
        How much to expand shadows generated from this Prop while calculating dynamic blend.
        
        UserName: Dynamic blend shadow expansion (cm)
        """
        ...
    @dseExpandCM.setter
    def dseExpandCM(self, value: float) -> None:
        ...

    @property
    def flatCol(self) -> Colour:
        """
        Flat colour to apply to the object surface
        
        UserName: Flat colour
        """
        ...
    @flatCol.setter
    def flatCol(self, value: Colour) -> None:
        ...

    @property
    def isShadowCaster(self) -> int:
        """
        Does this object cast shadows in Lux. This does not affect dynamic blend.
        
        UserName: Casts shadows (Lux)
        """
        ...
    @isShadowCaster.setter
    def isShadowCaster(self, value: int) -> None:
        ...

    @property
    def reflectance(self) -> float:
        """
        UserName: Reflectance
        """
        ...
    @reflectance.setter
    def reflectance(self, value: float) -> None:
        ...

    @property
    def wireCol(self) -> Colour:
        """
        If the object is displayed with wireframe, this controls the colour of the wireframe lines
        
        UserName: Wire colour
        """
        ...
    @wireCol.setter
    def wireCol(self, value: Colour) -> None:
        ...

    @property
    def wireframeCleanup(self) -> float:
        """
        If the angle between two surfaces is less than this angle, the edge is not displayed. Useful for removing excessive edges from curved objects
        
        UserName: Wireframe cleanup
        """
        ...
    @wireframeCleanup.setter
    def wireframeCleanup(self, value: float) -> None:
        ...


class PropertyInfo(ReflectionAttributeContainer):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def getter(self) -> MethodInfo:
        ...

    @property
    def isRP(self) -> bool:
        ...

    @property
    def setter(self) -> MethodInfo:
        ...

    @property
    def type(self) -> Type:
        ...

    @property
    def writable(self) -> bool:
        ...

    def get(self, inst: ReflectionValue) -> ReflectionValue:
        ...

    def set(self, inst: ReflectionValue, v: ReflectionValue) -> None:
        ...


class PropertyProjectorControlCommand(ProjectorControlCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'PropertyProjectorControlCommand'

    @property
    def property_(self) -> int:
        """
        Options: {0: 'Pan', 1: 'Tilt', 2: 'Focus', 3: 'Zoom', 4: 'Lens Shift (V)', 5: 'Lens Shift (H)', 6: 'Intensity', 7: 'Projector Configuration'}
        UserName: Property
        """
        ...
    @property_.setter
    def property_(self, value: int) -> None:
        ...

    @property
    def value(self) -> float:
        """
        UserName: Value
        """
        ...
    @value.setter
    def value(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class PropertyProperty(ValueBoxProperty):
    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self, other: PropertyProperty) -> None:
        ...

    @overload
    def __init__(self, object: ReflectionValue, arg1: PropertyInfo) -> None:
        ...

    @overload
    def __init__(self, object: ReflectionValue, fieldName: str) -> None:
        ...


class ProxyFieldProperty(ValueBoxProperty):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self, other: ProxyFieldProperty) -> None:
        ...


class ProxyMakerSettings(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ProxyMakerSettings'

    @property
    def proxyScales(self) -> List[int]:
        ...
    @proxyScales.setter
    def proxyScales(self, value: List[int]) -> None:
        ...

    def toggleProxyScale(self, scale: int) -> None:
        ...


class ProxyMakerSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...

    def rescan(self) -> None:
        ...


class ProxySettings(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ProxySettings'

    @property
    def preferredNetwork(self) -> IPAddress:
        """
        UserName: Preferred network
        """
        ...
    @preferredNetwork.setter
    def preferredNetwork(self, value: IPAddress) -> None:
        ...

    @property
    def scaleFactor(self) -> float:
        """
        Scale factor for the proxy stream
        
        UserName: Scale factor
        """
        ...
    @scaleFactor.setter
    def scaleFactor(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for ProxySettings
        """
        ...


class PsnTrackerState(Tracking6DOFState):
    null: Self
    _classInfo: 'ClassInfo'


class Puck(Object):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Puck'

    @property
    def image_name(self) -> str:
        """
        UserName: Image name
        """
        ...
    @image_name.setter
    def image_name(self, value: str) -> None:
        ...

    @property
    def tint(self) -> Colour:
        """
        UserName: Tint
        """
        ...
    @tint.setter
    def tint(self, c: Colour) -> None:
        ...

    def __init__(self) -> None:
        ...


class PureLinkMatrix(DVIMatrix):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'PureLinkMatrix'

    @property
    def ipAddress(self) -> str:
        """
        UserName: IP address
        """
        ...
    @ipAddress.setter
    def ipAddress(self, value: str) -> None:
        ...

    @property
    def port(self) -> int:
        """
        UserName: Port
        """
        ...
    @port.setter
    def port(self, value: int) -> None:
        ...

    @property
    def routerId(self) -> int:
        """
        Router ID set on the matrix
        
        UserName: Router ID
        """
        ...
    @routerId.setter
    def routerId(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class PythonApp(App):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'PythonApp'

    @property
    def d3(self) -> App:
        ...


class PythonException(Exception):
    null: Self
    _classInfo: 'ClassInfo'


class PythonFile(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'PythonFile'

    def getAttr(self, name: str) -> PythonObject:
        ...


class PythonObject(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: PythonObject) -> None:
        ...


class PythonPluginSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        """
        Default constructor for PythonPluginSystem
        """
        ...


class PythonSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        """
        Default constructor for PythonSystem
        """
        ...


class QuantiserWaveform(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class Quaternion(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    fromEuler: Callable

    @property
    def q0(self) -> float:
        ...
    @q0.setter
    def q0(self, value: float) -> None:
        ...

    @property
    def q1(self) -> float:
        ...
    @q1.setter
    def q1(self, value: float) -> None:
        ...

    @property
    def q2(self) -> float:
        ...
    @q2.setter
    def q2(self, value: float) -> None:
        ...

    @property
    def q3(self) -> float:
        ...
    @q3.setter
    def q3(self, value: float) -> None:
        ...

    @overload
    def __init__(self, _w: float, _x: float, _y: float, _z: float) -> None:
        ...

    @overload
    def __init__(self, n: VecD, theta: float) -> None:
        ...

    def __div__(self, rhs: Quaternion) -> Quaternion:
        ...

    def __mul__(self, rhs: Quaternion) -> Quaternion:
        ...

    def inverse(self) -> Quaternion:
        ...

    def toAxisAndTheta(self, v: VecD, theta: float) -> None:
        ...

    def toEuler(self) -> VecD:
        ...


class QuickAlignViewSettings(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'QuickAlignViewSettings'

    @property
    def autoAlign(self) -> int:
        """
        Automatically Align to Alignment Points when clicking set min/ max
        
        Options: {0: 'Off', 1: 'On'}
        """
        ...
    @autoAlign.setter
    def autoAlign(self, value: int) -> None:
        ...

    @property
    def autoUpdateAlignment(self) -> bool:
        ...
    @autoUpdateAlignment.setter
    def autoUpdateAlignment(self, value: bool) -> None:
        ...

    @property
    def drawWireframe(self) -> int:
        ...
    @drawWireframe.setter
    def drawWireframe(self, value: int) -> None:
        ...

    @property
    def enableAddAlignmentPoints(self) -> bool:
        """
        Enables adding alignment points in camera view
        """
        ...
    @enableAddAlignmentPoints.setter
    def enableAddAlignmentPoints(self, value: bool) -> None:
        ...

    @property
    def enableDeformPoints(self) -> bool:
        ...
    @enableDeformPoints.setter
    def enableDeformPoints(self, value: bool) -> None:
        ...

    @property
    def guideLines(self) -> int:
        ...
    @guideLines.setter
    def guideLines(self, value: int) -> None:
        ...

    @property
    def iCam1(self) -> int:
        ...
    @iCam1.setter
    def iCam1(self, value: int) -> None:
        ...

    @property
    def iCam2(self) -> int:
        ...
    @iCam2.setter
    def iCam2(self, value: int) -> None:
        ...

    @property
    def iScreen(self) -> int:
        ...
    @iScreen.setter
    def iScreen(self, value: int) -> None:
        ...

    @property
    def imageScale(self) -> float:
        """
        Scale both images according to this factor.
        """
        ...
    @imageScale.setter
    def imageScale(self, value: float) -> None:
        ...

    @property
    def invertWireframeColour(self) -> int:
        ...
    @invertWireframeColour.setter
    def invertWireframeColour(self, value: int) -> None:
        ...

    @property
    def markerOpacity(self) -> float:
        """
        Opacity of drawn markers that represent the alignment points.
        """
        ...
    @markerOpacity.setter
    def markerOpacity(self, value: float) -> None:
        ...

    @property
    def markerSize(self) -> float:
        """
        Size of drawn markers that represent the alignment points.
        """
        ...
    @markerSize.setter
    def markerSize(self, value: float) -> None:
        ...

    @property
    def realtimeAlignment(self) -> int:
        """
        Options: {0: 'Off', 1: 'On'}
        """
        ...
    @realtimeAlignment.setter
    def realtimeAlignment(self, value: int) -> None:
        ...

    @property
    def setMinMaxForAllScreens(self) -> int:
        """
        Set min/ max for all screens with alignment data in the Current Pose
        
        Options: {0: 'Off', 1: 'On'}
        """
        ...
    @setMinMaxForAllScreens.setter
    def setMinMaxForAllScreens(self, value: int) -> None:
        ...

    @property
    def stageRenderOpacity(self) -> float:
        """
        Opacity of drawn stage render, from 0 to 255.
        """
        ...
    @stageRenderOpacity.setter
    def stageRenderOpacity(self, value: float) -> None:
        ...

    @property
    def undistortPoints(self) -> bool:
        ...
    @undistortPoints.setter
    def undistortPoints(self, value: bool) -> None:
        ...

    @property
    def wireframeCleanup(self) -> float:
        ...
    @wireframeCleanup.setter
    def wireframeCleanup(self, value: float) -> None:
        ...

    @property
    def wireframeOpacity(self) -> int:
        """
        Opacity of drawn wireframe meshes, from 0 to 255.
        """
        ...
    @wireframeOpacity.setter
    def wireframeOpacity(self, value: int) -> None:
        ...

    @property
    def wireframeRenderParams(self) -> WireframeRenderParams:
        ...

    @property
    def zoomScale(self) -> float:
        ...
    @zoomScale.setter
    def zoomScale(self, value: float) -> None:
        ...


class QuickProfiler(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...

    def captureSystem(self, filename: str, frames: int) -> None:
        ...


class QuickSelectSlots(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'QuickSelectSlots'

    @property
    def quickSelectSlots(self) -> List[Resource]:
        ...
    @quickSelectSlots.setter
    def quickSelectSlots(self, value: List[Resource]) -> None:
        ...

    def __init__(self) -> None:
        ...


class RGBColourModule(ProjectionAwareModule):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'RGBColourModule'

    @property
    def blue(self) -> float:
        """
        UserName: Blue
        """
        ...
    @blue.setter
    def blue(self, value: float) -> None:
        ...

    @property
    def green(self) -> float:
        """
        UserName: Green
        """
        ...
    @green.setter
    def green(self, value: float) -> None:
        ...

    @property
    def red(self) -> float:
        """
        UserName: Red
        """
        ...
    @red.setter
    def red(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class RGBColourModuleConfig(ModuleConfig):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'RGBColourModuleConfig'

    @property
    def acesTransform(self) -> AcesInputTransformParameters:
        """
        UserName: Input transform
        """
        ...
    @acesTransform.setter
    def acesTransform(self, value: AcesInputTransformParameters) -> None:
        ...

    @property
    def ocioTransform(self) -> OcioColourSpace:
        """
        UserName: Input transform
        """
        ...
    @ocioTransform.setter
    def ocioTransform(self, value: OcioColourSpace) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for RGBColourModuleConfig
        """
        ...


class RMAXSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class RMAXVideoIn(VideoIn):
    null: Self
    _classInfo: 'ClassInfo'


class RSCompressedVideoIn(VideoIn):
    null: Self
    _classInfo: 'ClassInfo'


class RSCompressedVideoInSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        """
        Default constructor for RSCompressedVideoInSystem
        """
        ...


class RSNode(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def machineName(self) -> str:
        ...
    @machineName.setter
    def machineName(self, value: str) -> None:
        ...

    @property
    def streamHandle(self) -> int:
        ...
    @streamHandle.setter
    def streamHandle(self, value: int) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: RSNode) -> None:
        """
        Copy constructor for RSNode
        """
        ...


class RTTrPMDriver(UdpReceiverDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'RTTrPMDriver'

    def __init__(self) -> None:
        ...


class RTTrPMModuleState(Tracking6DOFState):
    null: Self
    _classInfo: 'ClassInfo'


class RTTrPMTrackableState(TrackingState):
    null: Self
    _classInfo: 'ClassInfo'


class Radar(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Radar'

    @property
    def To_the_beat(self) -> bool:
        ...
    @To_the_beat.setter
    def To_the_beat(self, value: bool) -> None:
        ...

    @property
    def beamSize(self) -> float:
        ...
    @beamSize.setter
    def beamSize(self, value: float) -> None:
        ...

    @property
    def direction(self) -> int:
        """
        Options: {0: 'Horizontal', 1: 'Vertical'}
        """
        ...
    @direction.setter
    def direction(self, value: int) -> None:
        ...

    @property
    def offset(self) -> float:
        ...
    @offset.setter
    def offset(self, value: float) -> None:
        ...

    @property
    def speed(self) -> float:
        ...
    @speed.setter
    def speed(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class RadarModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'RadarModule'

    @property
    def beamSize(self) -> float:
        """
        UserName: Beam size
        """
        ...
    @beamSize.setter
    def beamSize(self, value: float) -> None:
        ...

    @property
    def direction(self) -> int:
        """
        Options: {0: 'Horizontal', 1: 'Vertical'}
        UserName: Direction
        """
        ...
    @direction.setter
    def direction(self, value: int) -> None:
        ...

    @property
    def pixelPerBeatOffset(self) -> float:
        """
        UserName: Pixel per beat offset
        """
        ...
    @pixelPerBeatOffset.setter
    def pixelPerBeatOffset(self, value: float) -> None:
        ...

    @property
    def speed(self) -> float:
        """
        UserName: Speed
        """
        ...
    @speed.setter
    def speed(self, value: float) -> None:
        ...

    @property
    def timing(self) -> int:
        """
        Options: {0: 'Per second', 1: 'Per beat', 2: 'Per frame'}
        UserName: Timing
        """
        ...
    @timing.setter
    def timing(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class Radial(Cylindrical):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Radial'

    def __init__(self) -> None:
        ...


class RadialProjectionObject(CylindricalProjectionObject):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'RadialProjectionObject'

    def __init__(self) -> None:
        """
        Default constructor for RadialProjectionObject
        """
        ...


class Rational(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def asDouble(self) -> float:
        """
        The value of the Rational as a double
        """
        ...

    @property
    def denominator(self) -> int:
        ...
    @denominator.setter
    def denominator(self, value: int) -> None:
        ...

    @property
    def isVideoOptimized(self) -> bool:
        ...

    @property
    def numerator(self) -> int:
        ...
    @numerator.setter
    def numerator(self, value: int) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: Rational) -> None:
        """
        Copy constructor for Rational
        """
        ...

    @overload
    def __init__(self, n: int, d: int) -> None:
        ...

    def __eq__(self, other: Rational) -> bool:
        ...

    def __ne__(self, other: Rational) -> bool:
        ...

    def __str__(self) -> str:
        ...


class RealCamera(PinholeCamera):
    """
    Real camera with external and internal parameters and lens distortion coefficients.
    
    NOTE: All angles in RealCamera are in [radians], not degrees!
    """

    null: Self
    _classInfo: 'ClassInfo'

    @property
    def distortion(self) -> LensDistortion:
        ...
    @distortion.setter
    def distortion(self, value: LensDistortion) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, _t: VecD, _R: Mat, _scale: VecD) -> None:
        ...


class ReceivedPacket(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class ReceivedTestData(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def image(self) -> DxTexture:
        ...
    @image.setter
    def image(self, value: DxTexture) -> None:
        ...

    @property
    def label(self) -> str:
        ...
    @label.setter
    def label(self, value: str) -> None:
        ...


class ReconstructionSettings(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def calibrateCameraPosition(self) -> int:
        ...
    @calibrateCameraPosition.setter
    def calibrateCameraPosition(self, value: int) -> None:
        ...

    @property
    def cameraGraphBAIterations(self) -> int:
        ...
    @cameraGraphBAIterations.setter
    def cameraGraphBAIterations(self, value: int) -> None:
        ...

    @property
    def cameraGraphOptimisation(self) -> bool:
        ...
    @cameraGraphOptimisation.setter
    def cameraGraphOptimisation(self, value: bool) -> None:
        ...

    @property
    def cameraGraphScoreMode(self) -> int:
        ...
    @cameraGraphScoreMode.setter
    def cameraGraphScoreMode(self, value: int) -> None:
        ...

    @property
    def cameraWeightFactor(self) -> float:
        ...
    @cameraWeightFactor.setter
    def cameraWeightFactor(self, value: float) -> None:
        ...

    @property
    def cameraWeightMode(self) -> int:
        ...
    @cameraWeightMode.setter
    def cameraWeightMode(self, value: int) -> None:
        ...

    @property
    def gridTolerance(self) -> float:
        ...
    @gridTolerance.setter
    def gridTolerance(self, value: float) -> None:
        ...

    @property
    def gridToleranceMethod(self) -> int:
        ...
    @gridToleranceMethod.setter
    def gridToleranceMethod(self, value: int) -> None:
        ...

    @property
    def intersectionHandling(self) -> int:
        ...
    @intersectionHandling.setter
    def intersectionHandling(self, value: int) -> None:
        ...

    @property
    def scaleCalcMethod(self) -> int:
        ...
    @scaleCalcMethod.setter
    def scaleCalcMethod(self, value: int) -> None:
        ...

    @property
    def scaleOutlierPercent(self) -> float:
        ...
    @scaleOutlierPercent.setter
    def scaleOutlierPercent(self, value: float) -> None:
        ...

    @overload
    def __init__(self) -> None:
        """
        Default constructor for ReconstructionSettings
        """
        ...

    @overload
    def __init__(self, other: ReconstructionSettings) -> None:
        """
        Copy constructor for ReconstructionSettings
        """
        ...


class Recorder(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    RcAudio_: Final = 0
    RcDmx: Final = 2
    RcMidi: Final = 3
    RcTracking: Final = 1
    RcVideo: Final = 5
    RmLive: Final = 0
    RmPlay: Final = 1
    RmRecord: Final = 2

    @property
    def active(self) -> bool:
        ...

    @property
    def category(self) -> int:
        ...

    @property
    def name(self) -> str:
        ...

    @property
    def playing(self) -> bool:
        ...

    @property
    def processing(self) -> bool:
        ...

    @property
    def receiving(self) -> bool:
        ...

    @property
    def recording(self) -> bool:
        ...

    @property
    def recordingMode(self) -> int:
        ...
    @recordingMode.setter
    def recordingMode(self, mode: int) -> None:
        ...

    def getRecordings(self, track: Track) -> List[RecordingTake]:
        ...

    def getStates(self) -> List[IDataState]:
        ...


class RecordingFile(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'RecordingFile'

    @property
    def actualEndTime(self) -> float:
        ...

    @property
    def endTime(self) -> float:
        ...

    @property
    def length(self) -> float:
        ...

    @property
    def recordingEndTime(self) -> float:
        ...

    @property
    def recordingLength(self) -> float:
        ...

    @property
    def recordingStartTime(self) -> float:
        ...

    @property
    def startTime(self) -> float:
        ...

    @property
    def track(self) -> Track:
        ...


class RecordingSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def hasRecordings(self) -> bool:
        ...

    @property
    def recorders(self) -> List[Recorder]:
        ...

    def __init__(self) -> None:
        ...

    def categoryDescription(self, category: int) -> str:
        ...

    def modeDescription(self, mode: int) -> str:
        ...

    def refresh(self) -> None:
        ...


class RecordingTake(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'RecordingTake'

    @property
    def enabled(self) -> int:
        """
        Enable recording
        
        Options: {0: 'No', 1: 'Yes'}
        """
        ...
    @enabled.setter
    def enabled(self, value: int) -> None:
        ...

    @property
    def recordingFile(self) -> RecordingFile:
        """
        Recording File
        """
        ...
    @recordingFile.setter
    def recordingFile(self, value: RecordingFile) -> None:
        ...

    @property
    def scalar(self) -> float:
        """
        Scalar
        """
        ...
    @scalar.setter
    def scalar(self, value: float) -> None:
        ...

    @property
    def tEnd(self) -> float:
        """
        End Time
        """
        ...
    @tEnd.setter
    def tEnd(self, t: float) -> None:
        ...

    @property
    def tOffset(self) -> float:
        """
        Offset time from start time
        """
        ...
    @tOffset.setter
    def tOffset(self, t: float) -> None:
        ...

    @property
    def tStart(self) -> float:
        """
        Start Time
        """
        ...
    @tStart.setter
    def tStart(self, t: float) -> None:
        ...


class Rect(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def bl(self) -> Vec2:
        ...

    @property
    def br(self) -> Vec2:
        ...

    @property
    def origin(self) -> Vec2:
        ...

    @property
    def ox(self) -> float:
        ...

    @property
    def oy(self) -> float:
        ...

    @property
    def pos(self) -> Vec2:
        ...
    @pos.setter
    def pos(self, p: Vec2) -> None:
        ...

    @property
    def size(self) -> Vec2:
        ...
    @size.setter
    def size(self, s: Vec2) -> None:
        ...

    @property
    def tl(self) -> Vec2:
        ...

    @property
    def tr(self) -> Vec2:
        ...

    @property
    def x0(self) -> float:
        ...
    @x0.setter
    def x0(self, x: float) -> None:
        ...

    @property
    def x1(self) -> float:
        ...
    @x1.setter
    def x1(self, x: float) -> None:
        ...

    @property
    def y0(self) -> float:
        ...
    @y0.setter
    def y0(self, y: float) -> None:
        ...

    @property
    def y1(self) -> float:
        ...
    @y1.setter
    def y1(self, y: float) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: Rect) -> None:
        """
        Copy constructor for Rect
        """
        ...

    @overload
    def __init__(self, pos: Vec2, size: Vec2) -> None:
        ...

    @overload
    def __init__(self, x: float, y: float, w: float, h: float) -> None:
        ...

    def __add__(self, v: Vec2) -> Rect:
        ...

    def __eq__(self, r: Rect) -> bool:
        ...

    def __ne__(self, r: Rect) -> bool:
        ...

    def __repr__(self) -> Any:
        """
        String representation of the Rect
        """
        ...

    def canonicalise(self) -> Rect:
        ...

    def container(self, r: Rect) -> Rect:
        ...

    def intersect(self, r: Rect) -> Rect:
        ...

    def intersects(self, r: Rect) -> bool:
        ...

    def pointInside(self, p: Vec2) -> bool:
        ...

    def rectInside(self, r: Rect) -> bool:
        ...


class ReferencePoint(Object):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ReferencePoint'
    clearSelection: Callable
    deselectPoint: Callable
    getLastSelectedPoint: Callable
    onCreated: Callable
    onMouseMove: Callable
    onSelected: Callable
    overrideKeyStroke: Callable
    overrideMouseMove: Callable
    requestDisplayManipulators: Callable
    requestShowOnlyPointsFor: Callable
    selectPoint: Callable
    showAllPoints: Callable

    @property
    def colour(self) -> Colour:
        ...
    @colour.setter
    def colour(self, value: Colour) -> None:
        ...

    @property
    def jointId(self) -> int:
        ...
    @jointId.setter
    def jointId(self, jointId: int) -> None:
        ...

    @property
    def muted(self) -> bool:
        ...
    @muted.setter
    def muted(self, onOff: bool) -> None:
        ...

    @property
    def pos(self) -> Vec:
        ...

    @property
    def trueParent(self) -> Object:
        ...
    @trueParent.setter
    def trueParent(self, value: Object) -> None:
        ...

    @property
    def worldPos(self) -> Vec:
        ...

    def isInUse(self) -> bool:
        ...

    def linedUpConfigCount(self) -> int:
        ...

    def linedUpConfigNames(self) -> List[str]:
        ...


class ReferencePointCameraCoordinates(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ReferencePointCameraCoordinates'

    def __init__(self) -> None:
        """
        Default constructor for ReferencePointCameraCoordinates
        """
        ...


class ReferencePointGizmo(Gizmo):
    null: Self
    _classInfo: 'ClassInfo'
    lineupReferencePointDown: Callable
    lineupReferencePointLeft: Callable
    lineupReferencePointRight: Callable
    lineupReferencePointUp: Callable


class ReferencePointSet(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ReferencePointSet'

    @property
    def points(self) -> List[ReferencePoint]:
        ...
    @points.setter
    def points(self, value: List[ReferencePoint]) -> None:
        ...

    def allPoints(self) -> List[ReferencePoint]:
        ...

    def append(self, point: ReferencePoint) -> None:
        ...

    def findActiveTracked(self) -> List[ReferencePoint]:
        ...

    def findInactiveTracked(self) -> List[ReferencePoint]:
        ...

    def findUnparented(self) -> List[ReferencePoint]:
        ...

    def findUnused(self) -> List[ReferencePoint]:
        ...

    def numReferencePointsLinedUp(self, muted: bool) -> int:
        ...

    def remove(self, point: ReferencePoint) -> None:
        ...


class ReflectionArray(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class ReflectionAttributeContainer(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def attrs(self) -> List[ReflectionAttributeT]:
        ...

    @property
    def name(self) -> str:
        ...

    def getAttr(self, type: str) -> ReflectionAttributeT:
        ...

    def isDerogated(self) -> bool:
        ...

    def isRestricted(self) -> bool:
        ...


class ReflectionAttributeT(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def typeName(self) -> str:
        ...


class ReflectionCallable(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def isValid(self) -> bool:
        ...

    @property
    def name(self) -> str:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: ReflectionCallable) -> None:
        """
        Copy constructor for ReflectionCallable
        """
        ...

    def __call__(self, args: TCallArgs[ReflectionValue]) -> ReflectionValue:
        ...

    def __nonzero__(self) -> Any:
        """
        Whether the callable is valid
        """
        ...


class ReflectionMap(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class ReflectionMessageHandler(IMessageHandler):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def onHandleMessage(self) -> Callable:
        ...
    @onHandleMessage.setter
    def onHandleMessage(self, value: Callable) -> None:
        ...

    @overload
    def __init__(self, messageType: Type) -> None:
        ...

    @overload
    def __init__(self, messageType: Type, onHandleMessage: Callable) -> None:
        ...


class ReflectionValue(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class ReflectionValueProperty(ValueBoxProperty):
    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self, other: ReflectionValueProperty) -> None:
        ...

    @overload
    def __init__(self, rv: ReflectionValue) -> None:
        ...


class RefpointsManipulator(Manipulator):
    null: Self
    _classInfo: 'ClassInfo'

    def manipulatorKeyDown(self) -> bool:
        ...

    def manipulatorKeyLeft(self) -> bool:
        ...

    def manipulatorKeyRight(self) -> bool:
        ...

    def manipulatorKeyUp(self) -> bool:
        ...

    def mouseClick(self) -> None:
        """
        Create or select a reference point under the cursor
        """
        ...

    def mouseDrag(self, state: int, startPos: Vec2, pos: Vec2) -> bool:
        """
        Move the reference point under the cursor
        """
        ...

    def openReferencePointEditor(self) -> bool:
        """
        Open an editor for the reference point under the cursor
        """
        ...

    def requestManageReferencePointsMode(self) -> None:
        ...


class ReleaseVersion(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    Bronze: Final = 3
    Gold: Final = 1
    Silver: Final = 2
    Unknown: Final = 0
    Uva: Final = 4
    asString: Callable
    branchName: Callable
    customReleaseName: Callable
    getBuildConfigurationString: Callable
    getBuildSystemString: Callable
    getCompilerString: Callable
    getPhaseString: Callable
    getPlatformString: Callable
    getReleaseString: Callable
    getTagsString: Callable
    hasLocalPatches: Callable
    hasTags: Callable
    isBetaRelease: Callable
    isCustomRelease: Callable
    isDebug: Callable
    isDebugMem: Callable
    isFull: Callable
    isReleaseCandidate: Callable
    isSpecialRelease: Callable
    isStarter: Callable
    major: Callable
    micro: Callable
    minor: Callable
    osImageVersion: Callable
    releaseStageCode: Callable
    renderStreamVersionString: Callable
    uniqueId: Callable
    versionName: Callable
    versionString: Callable


class Remora_RemoraClient(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class RemoteCommand(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    fromJson: Callable

    @property
    def command(self) -> str:
        ...
    @command.setter
    def command(self, value: str) -> None:
        ...

    @property
    def parameter(self) -> str:
        ...
    @parameter.setter
    def parameter(self, value: str) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, cmd: str, param: str) -> None:
        ...

    def toJson(self) -> str:
        ...


class RemoteCommandDispatcher(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class RemoteConsoleEndpoint(ConsoleEndpoint):
    null: Self
    _classInfo: 'ClassInfo'


class RemoteMonitor(MetricMonitor):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'RemoteMonitor'

    @property
    def nodeName(self) -> str:
        """
        UserName: Node name
        """
        ...
    @nodeName.setter
    def nodeName(self, value: str) -> None:
        ...


class RemoteNodeInfo(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def address(self) -> str:
        ...
    @address.setter
    def address(self, value: str) -> None:
        ...

    @property
    def description(self) -> str:
        ...
    @description.setter
    def description(self, value: str) -> None:
        ...

    @overload
    def __init__(self, other: RemoteNodeInfo) -> None:
        """
        Copy constructor for RemoteNodeInfo
        """
        ...

    @overload
    def __init__(self, address_: str, description_: str) -> None:
        ...


class RemoteParameter(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def defaultValue(self) -> ReflectionValue:
        ...

    @property
    def displayName(self) -> str:
        ...

    @property
    def group(self) -> str:
        ...

    @property
    def key(self) -> str:
        ...

    @property
    def max(self) -> float:
        ...

    @property
    def min(self) -> float:
        ...

    @property
    def noSequence(self) -> bool:
        ...

    @property
    def options(self) -> List[str]:
        ...

    @property
    def readOnly(self) -> bool:
        ...

    @property
    def step(self) -> float:
        ...

    @property
    def valueType(self) -> Type:
        ...


class RemoteParameterSchema(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def name(self) -> str:
        ...

    @property
    def parameters(self) -> List[RemoteParameter]:
        ...


class RemoteResourceAllocResponseInfo(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class RemoteStream(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'RemoteStream'

    @property
    def machineName(self) -> str:
        """
        UserName: Machine name
        """
        ...
    @machineName.setter
    def machineName(self, value: str) -> None:
        ...

    @property
    def streamName(self) -> str:
        """
        UserName: Stream name
        """
        ...
    @streamName.setter
    def streamName(self, value: str) -> None:
        ...

    @property
    def workloadId(self) -> int:
        """
        UserName: Workload ID
        """
        ...
    @workloadId.setter
    def workloadId(self, value: int) -> None:
        ...

    @property
    def workloadInstance(self) -> int:
        """
        UserName: Workload instance
        """
        ...
    @workloadInstance.setter
    def workloadInstance(self, value: int) -> None:
        ...


class RemoteStreamFrame(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def image(self) -> DxTexture:
        ...
    @image.setter
    def image(self, value: DxTexture) -> None:
        ...

    @property
    def latencySec(self) -> float:
        ...
    @latencySec.setter
    def latencySec(self, value: float) -> None:
        ...

    @property
    def pose(self) -> CameraPoseInfo:
        ...
    @pose.setter
    def pose(self, value: CameraPoseInfo) -> None:
        ...


class RemovedMediaMessage(Message):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def deletedPath(self) -> str:
        ...
    @deletedPath.setter
    def deletedPath(self, value: str) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: RemovedMediaMessage) -> None:
        """
        Copy constructor for RemovedMediaMessage
        """
        ...


class RenameTableSetting(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'RenameTableSetting'

    @property
    def iReplace(self) -> List[int]:
        ...
    @iReplace.setter
    def iReplace(self, value: List[int]) -> None:
        ...

    @property
    def replace_table(self) -> Table:
        ...
    @replace_table.setter
    def replace_table(self, value: Table) -> None:
        ...

    @property
    def search_table(self) -> Table:
        ...
    @search_table.setter
    def search_table(self, value: Table) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for RenameTableSetting
        """
        ...


class RenderArea(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def overlapBr(self) -> Vec2:
        ...
    @overlapBr.setter
    def overlapBr(self, value: Vec2) -> None:
        ...

    @property
    def overlapTl(self) -> Vec2:
        ...
    @overlapTl.setter
    def overlapTl(self, value: Vec2) -> None:
        ...

    @property
    def paddingPxBr(self) -> Int2:
        ...
    @paddingPxBr.setter
    def paddingPxBr(self, value: Int2) -> None:
        ...

    @property
    def paddingPxTl(self) -> Int2:
        ...
    @paddingPxTl.setter
    def paddingPxTl(self, value: Int2) -> None:
        ...

    @property
    def region(self) -> Rect:
        ...
    @region.setter
    def region(self, value: Rect) -> None:
        ...


class RenderStreamAsset(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'RenderStreamAsset'

    @property
    def acesExposure(self) -> float:
        """
        Input exposure transform (stops)
        
        UserName: Input exposure
        """
        ...
    @acesExposure.setter
    def acesExposure(self, value: float) -> None:
        ...

    @property
    def acesGamma(self) -> float:
        """
        Input gamma transform
        
        UserName: Input gamma
        """
        ...
    @acesGamma.setter
    def acesGamma(self, value: float) -> None:
        ...

    @property
    def acesTransform(self) -> AcesInputTransformParameters:
        """
        ACES Input Device Transform (IDT)
        
        UserName: Input transform
        """
        ...
    @acesTransform.setter
    def acesTransform(self, value: AcesInputTransformParameters) -> None:
        ...

    @property
    def assetInfo(self) -> AssetInfo:
        ...
    @assetInfo.setter
    def assetInfo(self, info: AssetInfo) -> None:
        ...

    @property
    def available(self) -> bool:
        """
        Is this asset available anywhere on the network, currently
        
        UserName: Available
        """
        ...

    @property
    def channels(self) -> List[str]:
        """
        Channels published by this asset
        
        UserName: Channels
        """
        ...
    @channels.setter
    def channels(self, value: List[str]) -> None:
        ...

    @property
    def colourShift(self) -> ColourShift:
        """
        This colourshift is always applied to received frames
        
        UserName: Colour shift
        """
        ...
    @colourShift.setter
    def colourShift(self, value: ColourShift) -> None:
        ...

    @property
    def contentSource(self) -> RenderStreamMachine:
        """
        The sync source for remote machines to obtain the asset from
        
        UserName: Content source machine
        """
        ...
    @contentSource.setter
    def contentSource(self, value: RenderStreamMachine) -> None:
        ...

    @property
    def engineName(self) -> str:
        """
        Engine name reported by this asset
        
        UserName: Engine name
        """
        ...
    @engineName.setter
    def engineName(self, value: str) -> None:
        ...

    @property
    def engineSettings(self) -> EngineSettingsResource:
        """
        Engine-specific settings used when starting this asset
        
        UserName: Engine settings
        """
        ...
    @engineSettings.setter
    def engineSettings(self, value: EngineSettingsResource) -> None:
        ...

    @property
    def engineVersion(self) -> str:
        """
        Engine version reported by this asset
        
        UserName: Engine version
        """
        ...
    @engineVersion.setter
    def engineVersion(self, value: str) -> None:
        ...

    @property
    def info(self) -> str:
        """
        Info reported by this asset
        
        UserName: Info
        """
        ...
    @info.setter
    def info(self, value: str) -> None:
        ...

    @property
    def ocioShaderProperties(self) -> OcioShaderProperties:
        """
        Available OCIO transform parameters for a given colour space.
        
        UserName: OCIO transform properties
        """
        ...
    @ocioShaderProperties.setter
    def ocioShaderProperties(self, value: OcioShaderProperties) -> None:
        ...

    @property
    def ocioTransform(self) -> OcioColourSpace:
        """
        OCIO colour space of the asset
        
        UserName: Input transform
        """
        ...
    @ocioTransform.setter
    def ocioTransform(self, value: OcioColourSpace) -> None:
        ...

    @property
    def pluginVersion(self) -> str:
        """
        Plugin version reported by this asset
        
        UserName: Plugin version
        """
        ...
    @pluginVersion.setter
    def pluginVersion(self, value: str) -> None:
        ...

    @property
    def schema(self) -> List[RemoteParameterSchema]:
        ...

    @property
    def workingColourSpace(self) -> int:
        """
        Working colour space of this asset
        
        Options: {0: 'RS_COLOUR_SPACE_UNKNOWN', 1: 'RS_COLOUR_SPACE_sRGBCurve', 2: 'RS_COLOUR_SPACE_sRGB', 3: 'RS_COLOUR_SPACE_Rec2020', 4: 'RS_COLOUR_SPACE_ACES2065', 5: 'RS_COLOUR_SPACE_ACEScg', 6: 'RS_COLOUR_SPACE_P3D65', 7: 'RS_COLOUR_SPACE_P3DCI'}
        UserName: Working colour space
        """
        ...
    @workingColourSpace.setter
    def workingColourSpace(self, value: int) -> None:
        ...

    def existOnRenderMachine(self, rsMachine: RenderStreamMachine) -> bool:
        ...


class RenderStreamCluster(RenderStreamClusterBase):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'RenderStreamCluster'


class RenderStreamClusterBase(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'RenderStreamClusterBase'

    @property
    def anyInstanceIsRunning(self) -> bool:
        ...

    @property
    def anyInstanceIsTransitioning(self) -> bool:
        ...

    @property
    def channelInstances(self) -> List[ChannelInstance]:
        """
        UserName: Channel instances
        """
        ...
    @channelInstances.setter
    def channelInstances(self, instances: List[ChannelInstance]) -> None:
        ...

    @property
    def controller(self) -> Machine:
        """
        The machine remotely controlling rendering
        
        UserName: Controller
        """
        ...
    @controller.setter
    def controller(self, controller: Machine) -> None:
        ...

    @property
    def nInstances(self) -> int:
        ...

    @property
    def workloadHealth(self) -> WorkloadHealth:
        ...

    @property
    def workloadIsStoppable(self) -> bool:
        ...

    def controllerActive(self) -> bool:
        ...

    def getAssignmentForecast(self, assigners: MultiChannelClusterAssignerBase, asset: RenderStreamAsset, clusterPool: ClusterPool) -> List[ChannelInstance]:
        ...

    def instanceHealth(self, iInstance: int) -> WorkloadHealth:
        ...

    def instanceMachine(self, iInstance: int) -> RenderStreamMachine:
        ...

    def reconfigureWorkload(self, asset: RenderStreamAsset, cluster: ClusterPool, assigner: MultiChannelClusterAssignerBase, framerateDivisor: int) -> None:
        ...

    def startWorkload(self, config: RenderStreamModuleConfigBase) -> None:
        ...

    def stopWorkload(self) -> None:
        ...


class RenderStreamLocalCluster(RenderStreamClusterBase):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'RenderStreamLocalCluster'


class RenderStreamLocalModule(RenderStreamModuleBase):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'RenderStreamLocalModule'


class RenderStreamLocalModuleConfig(RenderStreamModuleConfigBase):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'RenderStreamLocalModuleConfig'

    @property
    def areOutputMachinesValid(self) -> bool:
        ...

    @property
    def channelOutputValidityMap(self) -> map[int, bool]:
        ...

    @property
    def machines(self) -> MapTable[Projection, RenderStreamMachinesList]:
        ...
    @machines.setter
    def machines(self, value: MapTable[Projection, RenderStreamMachinesList]) -> None:
        ...

    def getClusterPool(self) -> ClusterPool:
        ...

    def getMachinesFromMapping(self, mapping: Projection) -> RenderStreamMachinesList:
        ...

    def startWorkload(self) -> None:
        """
        Start or restart the workload
        """
        ...

    def stopWorkload(self) -> None:
        """
        Stop the workload
        """
        ...

    def updateOutputMachines(self) -> None:
        ...

    def usesManualMachineSelection(self, mapping: Projection) -> bool:
        ...


class RenderStreamMachine(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'RenderStreamMachine'

    @property
    def adaptors(self) -> List[netsys_NetworkAdaptor]:
        ...

    @property
    def assets(self) -> List[RenderStreamAsset]:
        ...

    @property
    def assetsPath(self) -> str:
        ...
    @assetsPath.setter
    def assetsPath(self, path: str) -> None:
        ...

    @property
    def canFailover(self) -> optional[str]:
        ...

    @property
    def detailedStatusString(self) -> str:
        ...

    @property
    def ipAddress(self) -> str:
        ...

    @property
    def isOnline(self) -> bool:
        ...

    @property
    def loadFactor(self) -> float:
        """
        Load factor is a unitless number that describes an approximate capability of the machine in terms of how much load weight it can support relative to other machines in the pool, eg. if a machine in the pool is considered a 1, a machine in the pool half as powerful as that machine should be 0.5.
        Increase for higher spec machines. Decrease for lower spec machines. In each case this is relative to other machines in the pool.
        Note: This setting is not used by RenderStream Local workloads.
        
        UserName: Load factor
        """
        ...
    @loadFactor.setter
    def loadFactor(self, factor: float) -> None:
        ...

    @property
    def preferredAdaptor(self) -> int:
        ...
    @preferredAdaptor.setter
    def preferredAdaptor(self, idx: int) -> None:
        ...

    @property
    def preferredAdaptorName(self) -> str:
        ...

    @property
    def preferredAdaptorUid(self) -> str:
        ...
    @preferredAdaptorUid.setter
    def preferredAdaptorUid(self, value: str) -> None:
        ...

    @property
    def statusString(self) -> str:
        ...

    @property
    def streams(self) -> List[StreamObject]:
        ...

    def failover(self) -> List[FailoverData]:
        ...

    def getMachine(self) -> Machine:
        ...

    def setNewRemoteAssetsPath(self, path: str) -> None:
        ...


class RenderStreamMachinesList(Resource):
    """
    A data class allowing an array of renderstream machines to be edited in an object view or editor easily.
    """

    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'RenderStreamMachinesList'

    @property
    def machines(self) -> List[RenderStreamMachine]:
        """
        UserName: Render machines
        """
        ...
    @machines.setter
    def machines(self, value: List[RenderStreamMachine]) -> None:
        ...

    @property
    def manualMachineSelection(self) -> bool:
        ...
    @manualMachineSelection.setter
    def manualMachineSelection(self, value: bool) -> None:
        ...


class RenderStreamMetricMonitor(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    name: Final = 'renderstream'


class RenderStreamModule(RenderStreamModuleBase):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'RenderStreamModule'


class RenderStreamModuleBase(ProjectionAwareModule):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'RenderStreamModuleBase'

    @property
    def customEventTriggerMode(self) -> int:
        """
        Options: {0: 'On keyframe', 1: 'On reset', 2: 'On change'}
        Category: Custom Events
        UserName: Trigger Mode
        """
        ...
    @customEventTriggerMode.setter
    def customEventTriggerMode(self, value: int) -> None:
        ...

    @property
    def fields(self) -> List[RemoteParameterSchema]:
        ...

    @property
    def mode(self) -> int:
        """
        Options: {0: 'Locked', 1: 'Free-run', 2: 'Normal', 3: 'Paused'}
        Category: Default
        UserName: Mode
        """
        ...
    @mode.setter
    def mode(self, value: int) -> None:
        ...

    @property
    def sceneName(self) -> str:
        """
        The name of the current selected scene
        
        Category: Properties
        UserName: Scene
        """
        ...
    @sceneName.setter
    def sceneName(self, value: str) -> None:
        ...

    @property
    def schemaGeneration(self) -> int:
        ...

    def getContainerValue(self, key: str) -> ReflectionValue:
        ...

    def getValue(self, key: str) -> ReflectionValue:
        ...

    def setValue(self, key: str, value: ReflectionValue) -> None:
        ...


class RenderStreamModuleConfig(RenderStreamModuleConfigBase):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'RenderStreamModuleConfig'

    @property
    def canReconfigure(self) -> bool:
        ...

    @property
    def pool(self) -> ClusterPool:
        """
        UserName: Cluster pool
        """
        ...
    @pool.setter
    def pool(self, value: ClusterPool) -> None:
        ...

    def getBandwidthEstimates(self) -> List[BandwidthEstimationResult]:
        ...

    def reconfigureWorkload(self) -> None:
        """
        Apply updated workload settings directly to the running stream without requiring a full restart
        """
        ...

    def startWorkload(self) -> None:
        """
        Start or restart the workload
        """
        ...

    def stopWorkload(self) -> None:
        """
        Stop the workload
        """
        ...

    def syncEngine(self) -> None:
        ...

    def updateProxySettings(self) -> None:
        ...


class RenderStreamModuleConfigBase(ModuleConfig):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'RenderStreamModuleConfigBase'

    @property
    def asset(self) -> RenderStreamAsset:
        """
        UserName: Asset
        """
        ...
    @asset.setter
    def asset(self, value: RenderStreamAsset) -> None:
        ...

    @property
    def assigner(self) -> MultiChannelClusterAssignerBase:
        """
        UserName: Cluster assigner
        """
        ...
    @assigner.setter
    def assigner(self, value: MultiChannelClusterAssignerBase) -> None:
        ...

    @property
    def cluster(self) -> RenderStreamClusterBase:
        """
        UserName: Cluster assignment
        """
        ...
    @cluster.setter
    def cluster(self, value: RenderStreamClusterBase) -> None:
        ...

    @property
    def framerateFraction(self) -> int:
        """
        The fraction of the framerate this layer renders at. Can help performance with particularly heavy asset.
        Does not help when in low latency output modes.
        
        Options: {0: '1', 1: '1/2', 2: '1/3', 3: '1/4'}
        UserName: Framerate fraction
        """
        ...
    @framerateFraction.setter
    def framerateFraction(self, value: int) -> None:
        ...

    @property
    def sceneOptions(self) -> List[str]:
        ...
    @sceneOptions.setter
    def sceneOptions(self, value: List[str]) -> None:
        ...

    @property
    def workloadId(self) -> int:
        ...

    def syncContent(self) -> None:
        """
        Synchronise content from the asset content source to other nodes in the pool
        """
        ...


class RenderStreamSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'
    RS_AUTH_MODE_FULL: Final = 2

    @property
    def discovery(self) -> Discovery:
        ...

    def __init__(self) -> None:
        ...

    def activeLatency(self) -> float:
        ...

    def activeSyncOperationStatuses(self, forAsset: RenderStreamAsset) -> List[str]:
        ...

    def activeSyncOperationsFor(self, asset: RenderStreamAsset) -> int:
        ...

    def activeWorkload(self, id: int) -> ActiveWorkload:
        ...

    def availableAdaptors(self) -> List[netsys_NetworkAdaptor]:
        ...

    def getLicensingState(self) -> int:
        ...

    def getLogPathForWorkloadInstance(self, id: int, instance: int) -> str:
        ...

    def getStreamReceiveStatuses(self, workload: int, machineName: str) -> List[SubscribedStreamStatus]:
        ...

    def getWorkloadInstance(self, workload: int, instanceIdx: int) -> WorkloadInstance:
        ...

    def getWorkloadInstances(self, workload: int) -> List[WorkloadInstance]:
        ...

    def getWorkloadLayers(self) -> map[int, Layer]:
        ...

    def getWorkloadReceiveStatuses(self, workload: int) -> List[SubscribedStreamStatus]:
        ...

    def isProxy(self, id: StreamIdentifier) -> bool:
        ...

    def isRenderStreamMachineInUse(self, rsMachine: RenderStreamMachine) -> bool:
        ...

    def stream(self, id: StreamIdentifier) -> StreamObject:
        ...

    def streamStatus(self) -> StreamStatusManager:
        ...


class ReportTasksMessage(Message):
    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: ReportTasksMessage) -> None:
        """
        Copy constructor for ReportTasksMessage
        """
        ...


class RequestHandlerData(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class ResolutionInfo(MediaInfo):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def height(self) -> int:
        ...
    @height.setter
    def height(self, value: int) -> None:
        ...

    @property
    def width(self) -> int:
        ...
    @width.setter
    def width(self, value: int) -> None:
        ...


class Resource(_BlipValue):
    """
    The base class for resources managed across Disguise sessions.
    
    Resources are synchronised between machines in a session, and saved and loaded as part of a .d3 project file.
    """

    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Resource'
    duplicateName: Callable
    duplicatePath: Callable

    @property
    def description(self) -> str:
        """
        A string describing the resource. This is the filename from the path, if it is not empty, otherwise the type name of the class. Derived resource classes can override the behaviour to return more appropriate information.
        """
        ...

    @property
    def descriptionExtended(self) -> str:
        """
        A more detailed description of the Resource, including its status.
        """
        ...

    @property
    def extFileSize(self) -> int:
        """
        The size of the external file in bytes.
        """
        ...

    @property
    def isBad(self) -> bool:
        """
        Whether the resource is bad. This can be for various reasons, such as the resource not existing or failing to activate.
        """
        ...

    @property
    def isBeingEdited(self) -> bool:
        """
        Whether the resource is currently being edited.
        """
        ...
    @isBeingEdited.setter
    def isBeingEdited(self, onOff: bool) -> None:
        ...

    @property
    def isDirty(self) -> bool:
        """
        Whether the resource has been modified since it was last saved.
        """
        ...

    @property
    def isInError(self) -> bool:
        """
        Whether the resource is in error. Resources which are bad, incomplete or not found locally are considered "in error".
        """
        ...

    @property
    def isIncomplete(self) -> bool:
        """
        Whether the resource is incomplete. This could happen if a resource is only partially loaded, for example.
        """
        ...

    @property
    def isNotFoundLocal(self) -> bool:
        """
        Whether the resource is not found on the local machine.
        """
        ...

    @property
    def locked(self) -> bool:
        """
        Whether the resource is currently locked.
        """
        ...

    @property
    def path(self) -> Path:
        """
        The path of the resource.
        
        This may be a relative path to a file which exists on-disk in the project folder, or a path to an internal resource within the project.
        Paths to internal resources are generally of the form `objects/[class]/[name].apx`, e.g. `objects/camera/cam1.apx`.
        """
        ...
    @path.setter
    def path(self, p: Path) -> None:
        ...

    @property
    def tags(self) -> List[ResourceTag]:
        ...

    @property
    def uid(self) -> int:
        """
        The unique identifier for the resource.
        """
        ...

    @property
    def userInfoPath(self) -> str:
        """
        The relative path of this resource, suitable for displaying to the user.
        """
        ...

    @property
    def writeDateStamp(self) -> DateStamp:
        """
        The date stamp of when the resource was last written to.
        """
        ...

    def __init__(self) -> None:
        ...

    def activate(self) -> bool:
        """
        Activates the resource.
        
        This method performs any initialisation required for a resource.
        It is called when the resource first loads, and when its values are updated across a session via Resource Transport.
        """
        ...

    def addTag(self, tag: ResourceTag) -> None:
        """
        Adds a tag to the resource.
        
        :param tag: The tag to add.
        """
        ...

    def copy(self) -> Resource:
        """
        Deep copy the resource.
        
        Creates a resource of the same type, copies into it, and returns the copy.
        Note that this does not set the path of the new Resource - in general the "duplicate" function is a safer way to copy resources.
        
        :return A new resource instance with the same data as this one.
        """
        ...

    def duplicate(self, p: Path) -> Resource:
        """
        Duplicates the resource.
        
        Performs a deep copy of the original resource and returns a new resource with the same data  as the original, at the given path.
        
        :param p: The path of the duplicated resource. If this parameter is empty or already exists in the resource manager, an exception is thrown.
        
        :return A new instance of the resource with the same properties as the original and path p.
        """
        ...

    def findResourcesPointingToThis(self, type: Type) -> List[Resource]:
        """
        Finds resources that point to this resource.
        
        This method finds all resources of a particular type that have a reference to this resource.
        
        :param type: The type of resources to find.
        
        :return A vector of the found resources which reference this resource.
        """
        ...

    def hasTag(self, name: str) -> bool:
        """
        Checks whether the resource has a specific tag.
        
        :param name: The name of the tag to check for.
        
        :return True if the resource has the specified tag, false otherwise.
        """
        ...

    def lock(self) -> None:
        """
        Locks the resource.
        
        This method locks the resource, preventing users from editing its properties.
        """
        ...

    def moveToTrash(self) -> None:
        """
        Move the resource to the trash.
        """
        ...

    def notifyChange(self, field) -> Any:
        """
        Notify the resource that a property has changed.
        
        This method is called when a property has changed that might require some further computation.
        
        :param field: The info of the field for the property which has changed.
        """
        ...

    def notifyCreate(self) -> None:
        """
        Notify creation of a resource.
        
        This method runs when the resource is first created, but not when it is loaded from disk subsequently.
        """
        ...

    def reloadExternal(self) -> None:
        """
        Reload the external resource metadata and data from disk.
        """
        ...

    def removeTag(self, tag: ResourceTag) -> None:
        """
        Remove a tag from the resource.
        
        :param tag: The tag to remove.
        """
        ...

    def rename(self, p: Path) -> None:
        """
        Renames the resource.
        
        :param p: The new path for the resource.
        """
        ...

    def save(self) -> None:
        """
        Save the resource to disk immediately.
        """
        ...

    def saveOnDelete(self) -> None:
        """
        Mark the resource to save to disk on deletion of the resource.
        """
        ...

    def saveOnDeleteLocal(self, onOff: bool) -> None:
        """
        Sets whether this resource is saved locally to disk on deletion.
        
        :param onOff: Whether this resource should save to disk when it is deleted.
        """
        ...

    def setLock(self, locked: bool) -> None:
        """
        Set the lock state of the resource.
        
        :param locked: The new lock state of the resource. If `true`, the resource will be locked, otherwise it will be unlocked.
        """
        ...

    def status(self) -> str:
        """
        The current status of the resource.
        """
        ...

    def unlock(self) -> None:
        """
        Unlocks the resource.
        
        This method unlocks the resource, allowing users to edit its properties.
        """
        ...


class ResourceAddChange(Change):
    null: Self
    _classInfo: 'ClassInfo'


class ResourceCache(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class ResourceLinks(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        """
        Default constructor for ResourceLinks
        """
        ...


class ResourceLoadChange(Change):
    null: Self
    _classInfo: 'ClassInfo'


class ResourceLockChange(Change):
    null: Self
    _classInfo: 'ClassInfo'


class ResourceManager(_BlipValue):
    """
    A singleton used to manage Resources
    """

    null: Self
    _classInfo: 'ClassInfo'
    get: Callable

    @property
    def isSaveAllAllowed(self) -> bool:
        ...
    @isSaveAllAllowed.setter
    def isSaveAllAllowed(self, value: bool) -> None:
        ...

    @property
    def package(self) -> IFilesystem:
        ...

    def allResources(self, type: type[resourceT]) -> List[resourceT]:
        ...

    def checkForCorruption(self) -> None:
        ...

    def emptyTrash(self, trashedResources: List[Resource]) -> None:
        ...

    def exists(self, path: Path) -> bool:
        ...

    def getMostRecentUserVisibleResourceOfType(self, type: type[resourceT]) -> resourceT:
        ...

    def load(self, path: Path, expectedType: type[resourceT] = Resource) -> resourceT:
        ...

    def loadOrCreate(self, pathNeeded: Path, expectedType: type[resourceT]) -> resourceT:
        """
        Load an existing Resource, or create a new Resource
        
        :param pathNeeded: A string containing the path for the Resource, formatted as follows 'objects/{type}/{name}.apx'
        :param expectedType: The type of the Resource being created, written in PascalCase and passed as a raw Type, NOT as a String, e.g. ResourceManager
        
        :return resource: The Resource loaded or created by the function
        """
        ...

    def remove(self, path: Path) -> None:
        ...

    def saveAll(self) -> int:
        ...

    def search(self, match: str) -> List[str]:
        ...


class ResourceReference(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def name(self) -> str:
        ...
    @name.setter
    def name(self, value: str) -> None:
        ...

    @property
    def uid(self) -> int:
        ...
    @uid.setter
    def uid(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class ResourceRemoveChange(Change):
    null: Self
    _classInfo: 'ClassInfo'


class ResourceRenameChange(Change):
    null: Self
    _classInfo: 'ClassInfo'


class ResourceRenameParams(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def newPath(self) -> Path:
        ...

    @property
    def oldPath(self) -> Path:
        ...

    @property
    def resource(self) -> Resource:
        ...


class ResourceReport(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def message(self) -> str:
        ...

    @property
    def seriousness(self) -> int:
        ...

    @property
    def t0(self) -> float:
        ...

    @property
    def t1(self) -> float:
        ...


class ResourceSequence(KeySequence):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ResourceSequence'

    @property
    def expectedClass(self) -> ClassNode:
        ...
    @expectedClass.setter
    def expectedClass(self, value: ClassNode) -> None:
        ...

    @property
    def expectedType(self) -> Type:
        ...

    def evalResource(self, t: float) -> Resource:
        ...

    def setResource(self, t: float, arg1: Resource) -> None:
        ...


class ResourceSetColourParams(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def colour(self) -> Colour:
        ...

    @property
    def resource(self) -> Resource:
        ...


class ResourceState(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class ResourceStatusChange(Change):
    null: Self
    _classInfo: 'ClassInfo'


class ResourceTag(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def name(self) -> str:
        ...
    @name.setter
    def name(self, value: str) -> None:
        ...

    def __init__(self, name: str) -> None:
        ...


class ResourceTransport(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'
    InSync: Final = 1
    NeverSynced: Final = 0

    def __init__(self) -> None:
        ...

    def getClientSyncStatus(self, nodeId: int) -> int:
        ...


class ResourceTransportMechanism(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class ResourceUpdateChange(Change):
    null: Self
    _classInfo: 'ClassInfo'


class ResourceViewSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class ResourceViewSystemUpdateMessage(Message):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def data(self) -> str:
        ...
    @data.setter
    def data(self, value: str) -> None:
        ...

    @property
    def viewName(self) -> str:
        ...
    @viewName.setter
    def viewName(self, value: str) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: ResourceViewSystemUpdateMessage) -> None:
        """
        Copy constructor for ResourceViewSystemUpdateMessage
        """
        ...


class RgbEasyIn(BufferedVideoIn):
    """
    Video capture channel for Datapath Vision devices, e.g. the VisionAV-HD, VisionRGB-E2S, VisionDVI-DL
    """

    null: Self
    _classInfo: 'ClassInfo'


class RgbEasySystem(Subsystem):
    """
    Subsystem to manage Datapath Vision RGBEasy devices.
    """

    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class RigidBodyTrackingSource(ObjectTrackingSource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'RigidBodyTrackingSource'

    @property
    def actionOnTrackingLost(self) -> int:
        """
        Action to carry out if tracking is lost for any reason
        
        Options: {0: 'Maintain Last Known Values', 1: 'Reset', 2: 'Follow Sequencing'}
        UserName: On Tracking Lost
        """
        ...
    @actionOnTrackingLost.setter
    def actionOnTrackingLost(self, value: int) -> None:
        ...

    @property
    def calibrated(self) -> int:
        """
        Options: {0: 'NotCalibrated', 1: 'Calibrated'}
        UserName: Status
        """
        ...
    @calibrated.setter
    def calibrated(self, value: int) -> None:
        ...

    @property
    def constrainXYZEnabled(self) -> Vec:
        """
        Limiting motion in XYZ dimensions (0 = off, 1 = on)
        
        UserName: Constrain XYZ
        """
        ...
    @constrainXYZEnabled.setter
    def constrainXYZEnabled(self, value: Vec) -> None:
        ...

    @property
    def constrainXYZRotEnabled(self) -> Vec:
        """
        Limiting motion in XYZ orientations (0 = off, 1 = on)
        
        UserName: Constrain XYZ Rot
        """
        ...
    @constrainXYZRotEnabled.setter
    def constrainXYZRotEnabled(self, value: Vec) -> None:
        ...

    @property
    def constraintXYZMax(self) -> Vec:
        """
        Limit in the +XYZ Axes (m)
        
        UserName: Constraint XYZ (Max)
        """
        ...
    @constraintXYZMax.setter
    def constraintXYZMax(self, value: Vec) -> None:
        ...

    @property
    def constraintXYZMin(self) -> Vec:
        """
        Limit in the -XYZ Axes (m)
        
        UserName: Constraint XYZ (Min)
        """
        ...
    @constraintXYZMin.setter
    def constraintXYZMin(self, value: Vec) -> None:
        ...

    @property
    def constraintXYZRotMax(self) -> Vec:
        """
        Limit the +XYZ Rotation (deg)
        
        UserName: Constraint Rot XYZ (Max)
        """
        ...
    @constraintXYZRotMax.setter
    def constraintXYZRotMax(self, value: Vec) -> None:
        ...

    @property
    def constraintXYZRotMin(self) -> Vec:
        """
        Limit the -XYZ Rotation (deg)
        
        UserName: Constraint Rot XYZ (Min)
        """
        ...
    @constraintXYZRotMin.setter
    def constraintXYZRotMin(self, value: Vec) -> None:
        ...

    @property
    def engaged(self) -> int:
        """
        Options: {0: 'No', 1: 'Yes'}
        """
        ...
    @engaged.setter
    def engaged(self, value: int) -> None:
        ...

    @property
    def fixed(self) -> List[ReferencePoint]:
        ...
    @fixed.setter
    def fixed(self, value: List[ReferencePoint]) -> None:
        ...

    @property
    def isPositionApproximationEnabled(self) -> int:
        """
        With this option enabled the RigidBody solver will attempt to track position (excluding any rotation) if there are 1 or 2 points visible. Note: only valid for the RigidBody solver, which requires 3 visible tracked points for a full solve of position and rotation.
        
        Options: {0: 'Off', 1: 'On'}
        UserName: Position Approximation
        """
        ...
    @isPositionApproximationEnabled.setter
    def isPositionApproximationEnabled(self, value: int) -> None:
        ...

    @property
    def nSolverIterations(self) -> int:
        """
        Number of iterations to improve base solved pose.
        
        UserName: Solver iterations
        """
        ...
    @nSolverIterations.setter
    def nSolverIterations(self, value: int) -> None:
        ...

    @property
    def offset(self) -> Vec:
        """
        Set a tweak offset. Only active when receiving tracking data
        """
        ...
    @offset.setter
    def offset(self, value: Vec) -> None:
        ...

    @property
    def offsets(self) -> List[Vec]:
        ...
    @offsets.setter
    def offsets(self, value: List[Vec]) -> None:
        ...

    @property
    def posThreshold(self) -> float:
        """
        Set this to a value greater than zero to prevent Dynamic Blend from recomputing because of static oscillation
        
        UserName: Dynamic Blend Movement threshold (mm)
        """
        ...
    @posThreshold.setter
    def posThreshold(self, value: float) -> None:
        ...

    @property
    def resetPosition(self) -> Vec:
        """
        Stage position to return to in 'Reset' mode
        
        UserName: Reset Position
        """
        ...
    @resetPosition.setter
    def resetPosition(self, value: Vec) -> None:
        ...

    @property
    def resetRotation(self) -> Vec:
        """
        Stage Orientation to return to in 'Reset' mode
        
        UserName: Reset Rotation
        """
        ...
    @resetRotation.setter
    def resetRotation(self, value: Vec) -> None:
        ...

    @property
    def rotation(self) -> Vec:
        """
        Set a tweak rotation. Only active when receiving tracking data
        """
        ...
    @rotation.setter
    def rotation(self, value: Vec) -> None:
        ...

    @property
    def rotationThreshold(self) -> float:
        """
        Set this to a value greater than zero to prevent Dynamic Blend from recomputing because of static oscillation
        
        UserName: Dynamic Blend Rotation threshold (deg)
        """
        ...
    @rotationThreshold.setter
    def rotationThreshold(self, value: float) -> None:
        ...

    @property
    def samplingSnapFixedPoints(self) -> bool:
        ...

    @property
    def smoothingFactorSolvedOffset(self) -> float:
        ...
    @smoothingFactorSolvedOffset.setter
    def smoothingFactorSolvedOffset(self, value: float) -> None:
        ...

    @property
    def solverMode(self) -> int:
        """
        The RigidBody solver requires 3 visible tracked points for a full solve of position and rotation. The Actor solver will only solve for position and requires at least 1 visible tracked point.
        
        Options: {0: 'RigidBody', 1: 'Actor'}
        """
        ...
    @solverMode.setter
    def solverMode(self, value: int) -> None:
        ...

    @property
    def tpReceiveTimeoutSecs(self) -> float:
        """
        Tracked point receive timeout after N seconds. Applies to all tracked points for rigid body.
        
        UserName: Receive Timeout (sec)
        """
        ...
    @tpReceiveTimeoutSecs.setter
    def tpReceiveTimeoutSecs(self, value: float) -> None:
        ...

    @property
    def tpReceivingForThresholdSecs(self) -> float:
        """
        Tracked point receiving with confidence threshold after N seconds. Applies to all tracked points for rigid body.
        
        UserName: Confidence Threshold (sec)
        """
        ...
    @tpReceivingForThresholdSecs.setter
    def tpReceivingForThresholdSecs(self, value: float) -> None:
        ...

    @property
    def tpStoppedReceivingForThresholdSecs(self) -> float:
        """
        Tracked point remove from stage after N seconds. Applies to all tracked points for rigid body.
        
        UserName: Remove from Stage Timeout (sec)
        """
        ...
    @tpStoppedReceivingForThresholdSecs.setter
    def tpStoppedReceivingForThresholdSecs(self, value: float) -> None:
        ...

    @property
    def tracked(self) -> List[TrackedPoint]:
        ...
    @tracked.setter
    def tracked(self, value: List[TrackedPoint]) -> None:
        ...

    @property
    def trackingLostTimeout(self) -> float:
        """
        How long to wait after tracking loss before executing the action
        
        UserName: On Tracking Lost Timeout (sec)
        """
        ...
    @trackingLostTimeout.setter
    def trackingLostTimeout(self, value: float) -> None:
        ...

    @property
    def trackingRegainedAnimationDuration(self) -> float:
        """
        Duration of animating position to tracked position when tracking is regained
        
        UserName: On Tracking Regained Animation Duration (sec)
        """
        ...
    @trackingRegainedAnimationDuration.setter
    def trackingRegainedAnimationDuration(self, value: float) -> None:
        ...

    def addPair(self) -> None:
        ...

    def removePair(self) -> None:
        ...

    def showBtMarkers(self, onOff: bool) -> None:
        ...

    def snapFixedPoints(self) -> None:
        ...


class RotatedBlobRect(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def angle(self) -> float:
        ...

    @property
    def cx(self) -> float:
        ...

    @property
    def cy(self) -> float:
        ...

    @property
    def height(self) -> float:
        ...

    @property
    def width(self) -> float:
        ...


class RotationGizmo(Gizmo3D):
    null: Self
    _classInfo: 'ClassInfo'


class RotationManipulator(Manipulator3D):
    null: Self
    _classInfo: 'ClassInfo'

    def mouseDrag(self, arg0: int, arg1: Vec2, arg2: Vec2) -> bool:
        """
        Move the object controlled by the gizmo
        """
        ...


class RoundedQuad(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class RoundedShadowQuad(RoundedQuad):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class RsyncDiscovery(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class RunningInstancesOnNode(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class SACNDmxUniverseState(IDataState):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def universe(self) -> int:
        ...

    def copyDmxData(self) -> List[int]:
        ...


class SKMCAxisState(TrackingScalarState):
    null: Self
    _classInfo: 'ClassInfo'


class SKVDriver(ScreenPositionDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SKVDriver'

    @property
    def Interface(self) -> int:
        """
        Options: {0: 'Perle RS232->UDP'}
        Category: Interface
        """
        ...
    @Interface.setter
    def Interface(self, value: int) -> None:
        ...

    @property
    def Jump_Threshold(self) -> float:
        """
        Category: Smoothing
        UserName: Jump threshold
        """
        ...
    @Jump_Threshold.setter
    def Jump_Threshold(self, value: float) -> None:
        ...

    @property
    def Motors_Recvd(self) -> int:
        """
        Category: Status
        UserName: Motors received
        """
        ...
    @Motors_Recvd.setter
    def Motors_Recvd(self, value: int) -> None:
        ...

    @property
    def Status(self) -> int:
        """
        Options: {0: 'Not receiving', 1: 'Receiving'}
        Category: Status
        UserName: Status
        """
        ...
    @Status.setter
    def Status(self, value: int) -> None:
        ...

    @property
    def UDP_Listen_Port(self) -> int:
        """
        Category: Interface
        UserName: UDP listen port
        """
        ...
    @UDP_Listen_Port.setter
    def UDP_Listen_Port(self, value: int) -> None:
        ...

    @property
    def Use_Smoothing(self) -> int:
        """
        Options: {0: 'No', 1: 'Yes'}
        Category: Smoothing
        UserName: Use smoothing
        """
        ...
    @Use_Smoothing.setter
    def Use_Smoothing(self, value: int) -> None:
        ...

    @property
    def kD(self) -> float:
        """
        Category: Smoothing
        """
        ...
    @kD.setter
    def kD(self, value: float) -> None:
        ...

    @property
    def kF(self) -> float:
        """
        Category: Smoothing
        """
        ...
    @kF.setter
    def kF(self, value: float) -> None:
        ...

    @property
    def kI(self) -> float:
        """
        Category: Smoothing
        """
        ...
    @kI.setter
    def kI(self, value: float) -> None:
        ...

    @property
    def kP(self) -> float:
        """
        Category: Smoothing
        """
        ...
    @kP.setter
    def kP(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class SMPTE(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def dualLink(self) -> bool:
        ...

    @property
    def interlaced(self) -> bool:
        ...

    @property
    def interleavedDivision(self) -> bool:
        ...

    @property
    def type(self) -> int:
        ...
    @type.setter
    def type(self, value: int) -> None:
        ...


class ST2110Details(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def bitdepth(self) -> int:
        """
        The bit depth of the ST2110 stream
        
        Options: {0: 'B8', 1: 'B10', 2: 'B12', 3: 'B16', 4: 'B16f'}
        UserName: Bit depth
        """
        ...
    @bitdepth.setter
    def bitdepth(self, value: int) -> None:
        ...

    @property
    def framerateDenominator(self) -> int:
        ...
    @framerateDenominator.setter
    def framerateDenominator(self, value: int) -> None:
        ...

    @property
    def framerateNumerator(self) -> int:
        ...
    @framerateNumerator.setter
    def framerateNumerator(self, value: int) -> None:
        ...

    @property
    def multicastDst(self) -> IPAddress:
        """
        The multicast IP address of the destination receiving the ST2110 stream
        
        UserName: Multicast Address
        """
        ...
    @multicastDst.setter
    def multicastDst(self, value: IPAddress) -> None:
        ...

    @property
    def multicastSrc(self) -> IPAddress:
        """
        The multicast IP address filter for the source of the ST2110 stream
        
        UserName: Source Address Filter
        """
        ...
    @multicastSrc.setter
    def multicastSrc(self, value: IPAddress) -> None:
        ...

    @property
    def port(self) -> int:
        """
        The port the ST2110 stream is being received at
        
        UserName: Port
        """
        ...
    @port.setter
    def port(self, value: int) -> None:
        ...

    @property
    def subsample(self) -> int:
        """
        Chroma subsampling scheme for the ST2110 stream
        
        Options: {0: 'S422', 1: 'S444', 2: 'S420', 3: 'RGB', 4: 'RGBA', 5: 'S422_A'}
        UserName: Sub-sample
        """
        ...
    @subsample.setter
    def subsample(self, value: int) -> None:
        ...


class SaveFrameSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...

    def deferSaveScreenFrame(self, display: Display, iTarget: int, directory: str) -> None:
        ...


class ScaleGizmo(Gizmo3D):
    null: Self
    _classInfo: 'ClassInfo'


class ScaleManipulator(Manipulator3D):
    null: Self
    _classInfo: 'ClassInfo'

    def mouseDrag(self, arg0: int, arg1: Vec2, arg2: Vec2) -> bool:
        """
        Move the object controlled by the gizmo
        """
        ...


class ScanModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ScanModule'

    @property
    def draw(self) -> int:
        """
        Options: {0: 'Lines', 1: 'Dot'}
        UserName: Draw
        """
        ...
    @draw.setter
    def draw(self, value: int) -> None:
        ...

    @property
    def step(self) -> int:
        """
        UserName: Step
        """
        ...
    @step.setter
    def step(self, value: int) -> None:
        ...

    @property
    def timing(self) -> int:
        """
        Options: {0: 'Pixels', 1: 'Time'}
        UserName: Timing
        """
        ...
    @timing.setter
    def timing(self, value: int) -> None:
        ...

    @property
    def x(self) -> int:
        """
        UserName: X
        """
        ...
    @x.setter
    def x(self, value: int) -> None:
        ...

    @property
    def y(self) -> int:
        """
        UserName: Y
        """
        ...
    @y.setter
    def y(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class SceneOrigin(Object):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SceneOrigin'

    @property
    def initOrigin(self) -> Vec:
        """
        Position of origin in engine-space before it is transformed to d3-space
        
        Category: Engine Origin
        UserName: Engine offset
        """
        ...
    @initOrigin.setter
    def initOrigin(self, p: Vec) -> None:
        ...

    @property
    def initRotation(self) -> Vec:
        """
        Orientation of origin in engine-space before it is transformed to d3-space
        
        Category: Engine Origin
        UserName: Engine rotation
        """
        ...
    @initRotation.setter
    def initRotation(self, v: Vec) -> None:
        ...

    @property
    def poseMode(self) -> int:
        """
        Method used to place the camera into the 3D scene.
        Scene global: place the origin of the 3D scene within d3's stage, rotating around the scene origin
        Scene local: place the origin of the 3D scene within d3's stage, rotating around the chosen location
        Camera parent: place a virtual parent transform of the camera. d3 stage position has no meaning in this mode.
        
        Options: {0: 'Scene global', 1: 'Scene local', 2: 'Camera parent'}
        UserName: Pose mode
        """
        ...
    @poseMode.setter
    def poseMode(self, m: int) -> None:
        ...

    def startEditing(self) -> None:
        ...

    def stopEditing(self) -> None:
        ...


class Schedule(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Schedule'

    @property
    def events(self) -> List[ScheduleItem]:
        """
        UserName: Events
        """
        ...
    @events.setter
    def events(self, value: List[ScheduleItem]) -> None:
        ...

    @property
    def on_start(self) -> int:
        """
        Playmode to set on project start
        
        Options: {0: 'Stop', 1: 'Play', 2: 'Play to end section', 3: 'Loop section'}
        UserName: On startup
        """
        ...
    @on_start.setter
    def on_start(self, value: int) -> None:
        ...

    @property
    def transition(self) -> int:
        """
        Options: {0: 'Cut', 1: 'Fade'}
        UserName: Transition
        """
        ...
    @transition.setter
    def transition(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class ScheduleItem(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ScheduleItem'

    @property
    def days_of_week(self) -> int:
        """
        Options: {0: 'All', 1: 'Monday to Friday', 2: 'Weekends', 3: 'Sunday', 4: 'Monday', 5: 'Tuesday', 6: 'Wednesday', 7: 'Thursday', 8: 'Friday', 9: 'Saturday'}
        UserName: Days of week
        """
        ...
    @days_of_week.setter
    def days_of_week(self, value: int) -> None:
        ...

    @property
    def duration(self) -> str:
        """
        UserName: Duration
        """
        ...
    @duration.setter
    def duration(self, value: str) -> None:
        ...

    @property
    def end_date(self) -> str:
        """
        UserName: End date
        """
        ...
    @end_date.setter
    def end_date(self, value: str) -> None:
        ...

    @property
    def end_time(self) -> str:
        """
        UserName: End time
        """
        ...
    @end_time.setter
    def end_time(self, value: str) -> None:
        ...

    @property
    def every(self) -> str:
        """
        UserName: Every
        """
        ...
    @every.setter
    def every(self, value: str) -> None:
        ...

    @property
    def start_date(self) -> str:
        """
        UserName: Start date
        """
        ...
    @start_date.setter
    def start_date(self, value: str) -> None:
        ...

    @property
    def start_time(self) -> str:
        """
        UserName: Start time
        """
        ...
    @start_time.setter
    def start_time(self, value: str) -> None:
        ...

    @property
    def track(self) -> Track:
        """
        UserName: Track
        """
        ...
    @track.setter
    def track(self, value: Track) -> None:
        ...

    def __init__(self) -> None:
        ...


class ScheduleLink(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ScheduleLink'

    @property
    def iProperty(self) -> int:
        ...
    @iProperty.setter
    def iProperty(self, value: int) -> None:
        ...

    @property
    def operator(self) -> int:
        ...
    @operator.setter
    def operator(self, value: int) -> None:
        ...

    @property
    def uid(self) -> int:
        ...
    @uid.setter
    def uid(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class Screen2(Display):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Surface'

    @property
    def colourMap(self) -> DxTexture:
        """
        Image to be applied to the surface of the object as a colour map, if any. Note: the mesh must have texture coordinates for this to work properly
        
        Category: Appearance
        UserName: Diffuse map
        """
        ...
    @colourMap.setter
    def colourMap(self, value: DxTexture) -> None:
        ...

    @property
    def densityMap(self) -> DxTexture:
        """
        Object denisty map for Subsurface scattering approximation
        
        UserName: Density map
        """
        ...
    @densityMap.setter
    def densityMap(self, value: DxTexture) -> None:
        ...

    @property
    def densityScale(self) -> float:
        """
        Object denisty map for Subsurface scattering approximation
        
        UserName: Density scale
        """
        ...
    @densityScale.setter
    def densityScale(self, value: float) -> None:
        ...

    @property
    def luminosity(self) -> float:
        """
        Luminosity of the object
        
        UserName: Luminosity
        """
        ...
    @luminosity.setter
    def luminosity(self, value: float) -> None:
        ...

    @property
    def normalMap(self) -> DxTexture:
        """
        Image to be applied to the surface of the object as a normal map, if any. Note: the mesh must have texture coordinates for this to work properly
        
        UserName: Normal map
        """
        ...
    @normalMap.setter
    def normalMap(self, value: DxTexture) -> None:
        ...

    @property
    def normalMapScalar(self) -> Vec2:
        """
        Normal map UV scalar
        
        UserName: Normal map scale
        """
        ...
    @normalMapScalar.setter
    def normalMapScalar(self, value: Vec2) -> None:
        ...

    @property
    def projectorViewBlending(self) -> int:
        """
        Options: {0: 'Off', 1: 'On'}
        Category: Output
        UserName: Projector view blending
        """
        ...
    @projectorViewBlending.setter
    def projectorViewBlending(self, value: int) -> None:
        ...

    @property
    def projectors(self) -> List[Projector]:
        ...
    @projectors.setter
    def projectors(self, projectors: List[Projector]) -> None:
        ...

    @property
    def reflectivity(self) -> float:
        """
        Proportion of incident light returned by the screen surface
        
        Category: Appearance
        UserName: Reflectivity
        """
        ...
    @reflectivity.setter
    def reflectivity(self, value: float) -> None:
        ...

    @property
    def screenBackground(self) -> int:
        """
        Options: {0: 'Black', 1: 'Transparent'}
        Category: Appearance
        UserName: Screen background
        """
        ...
    @screenBackground.setter
    def screenBackground(self, value: int) -> None:
        ...


class ScreenAxisExpression(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AxisExpression'

    @property
    def expression(self) -> Expression:
        ...

    @property
    def expressionStr(self) -> str:
        """
        Arithmetic expression, containing axis id in lowercase, constants and symbols. E.g. axis_1 + 5 or pow(axis_1, 2)
        
        UserName: Expression
        """
        ...
    @expressionStr.setter
    def expressionStr(self, value: str) -> None:
        ...

    @property
    def max_input(self) -> float:
        """
        UserName: Maximum input
        """
        ...
    @max_input.setter
    def max_input(self, value: float) -> None:
        ...

    @property
    def max_output(self) -> float:
        """
        UserName: Maximum output
        """
        ...
    @max_output.setter
    def max_output(self, value: float) -> None:
        ...

    @property
    def min_input(self) -> float:
        """
        UserName: Minimum input
        """
        ...
    @min_input.setter
    def min_input(self, value: float) -> None:
        ...

    @property
    def min_output(self) -> float:
        """
        UserName: Minimum output
        """
        ...
    @min_output.setter
    def min_output(self, value: float) -> None:
        ...

    @property
    def object(self) -> Object:
        """
        Stage object to output the resulting value to
        
        UserName: Object
        """
        ...
    @object.setter
    def object(self, value: Object) -> None:
        ...

    @property
    def output(self) -> float:
        """
        UserName: Output
        """
        ...
    @output.setter
    def output(self, value: float) -> None:
        ...

    @property
    def propertyValid(self) -> bool:
        ...

    @property
    def property_(self) -> str:
        """
        Property of the object to receive the value.
        For position, use offset.x, offset.y or offset.z; for rotation, use rotation.x, rotation.y or rotation.z
        
        UserName: Property
        """
        ...
    @property_.setter
    def property_(self, value: str) -> None:
        ...


class ScreenConfiguration(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ScreenConfiguration'

    @property
    def animates(self) -> List[float]:
        ...
    @animates.setter
    def animates(self, value: List[float]) -> None:
        ...

    @property
    def lock_axes(self) -> List[int]:
        ...
    @lock_axes.setter
    def lock_axes(self, value: List[int]) -> None:
        ...

    @property
    def objects(self) -> List[Object]:
        ...
    @objects.setter
    def objects(self, value: List[Object]) -> None:
        ...

    @property
    def positions(self) -> List[Vec]:
        ...
    @positions.setter
    def positions(self, value: List[Vec]) -> None:
        ...

    @property
    def rotations(self) -> List[Vec]:
        ...
    @rotations.setter
    def rotations(self, value: List[Vec]) -> None:
        ...

    @property
    def sizes(self) -> List[Vec]:
        ...
    @sizes.setter
    def sizes(self, value: List[Vec]) -> None:
        ...

    def addObject(self, s: Object) -> None:
        ...

    def containsObject(self, s: Object) -> bool:
        ...

    def removeObject(self, s: Object) -> None:
        ...

    def updateConfigFromObject(self, object: Object, i: int) -> None:
        ...


class ScreenMaterial(DxMaterial):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class ScreenPositionAxis(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'PositionAxis'
    axisDirectionToString: Callable

    @property
    def acceleration(self) -> float:
        ...
    @acceleration.setter
    def acceleration(self, value: float) -> None:
        ...

    @property
    def delta(self) -> float:
        ...
    @delta.setter
    def delta(self, value: float) -> None:
        ...

    @property
    def destValid(self) -> bool:
        ...

    @property
    def devicePredictionEnabled(self) -> bool:
        ...

    @property
    def filterOverrideEnabled(self) -> int:
        """
        When switched on, filter parameters override the parent device's parameters.
        
        Options: {0: 'Off', 1: 'On'}
        Category: Output
        UserName: Filter Override Enabled
        """
        ...
    @filterOverrideEnabled.setter
    def filterOverrideEnabled(self, value: int) -> None:
        ...

    @property
    def frequency(self) -> float:
        ...
    @frequency.setter
    def frequency(self, value: float) -> None:
        ...

    @property
    def frequencyMax(self) -> float:
        ...
    @frequencyMax.setter
    def frequencyMax(self, value: float) -> None:
        ...

    @property
    def frequencyMin(self) -> float:
        ...
    @frequencyMin.setter
    def frequencyMin(self, value: float) -> None:
        ...

    @property
    def graph(self) -> int:
        """
        Create a monitor in the monitoring manager for incoming packet and filter data
        
        Options: {0: 'No', 1: 'Yes'}
        Category: Output
        UserName: Graph Data
        """
        ...
    @graph.setter
    def graph(self, value: int) -> None:
        ...

    @property
    def id(self) -> str:
        """
        Set this to match an ID provided by an active Screen Position Driver
        
        Category: Configuration
        UserName: ID
        """
        ...
    @id.setter
    def id(self, value: str) -> None:
        ...

    @property
    def input(self) -> float:
        ...
    @input.setter
    def input(self, value: float) -> None:
        ...

    @property
    def max_input(self) -> float:
        """
        These values scale an input range (values in the device's world) to an output range (values in d3 stage world).
        Move the physical value to its minimum position, copy the current input into 'minimum input'; then repeat for the maximum.
        Then fill in the corresponding d3 stage values (whether in meters or degrees) to the min and max outputs
        
        Category: Range
        UserName: Maximum input
        """
        ...
    @max_input.setter
    def max_input(self, value: float) -> None:
        ...

    @property
    def max_output(self) -> float:
        """
        These values scale an input range (values in the device's world) to an output range (values in d3 stage world).
        Move the physical value to its minimum position, copy the current input into 'minimum input'; then repeat for the maximum.
        Then fill in the corresponding d3 stage values (whether in meters or degrees) to the min and max outputs
        
        Category: Range
        UserName: Maximum output
        """
        ...
    @max_output.setter
    def max_output(self, value: float) -> None:
        ...

    @property
    def min_input(self) -> float:
        """
        These values scale an input range (values in the device's world) to an output range (values in d3 stage world).
        Move the physical value to its minimum position, copy the current input into 'minimum input'; then repeat for the maximum.
        Then fill in the corresponding d3 stage values (whether in meters or degrees) to the min and max outputs
        
        Category: Range
        UserName: Minimum input
        """
        ...
    @min_input.setter
    def min_input(self, value: float) -> None:
        ...

    @property
    def min_output(self) -> float:
        """
        These values scale an input range (values in the device's world) to an output range (values in d3 stage world).
        Move the physical value to its minimum position, copy the current input into 'minimum input'; then repeat for the maximum.
        Then fill in the corresponding d3 stage values (whether in meters or degrees) to the min and max outputs
        
        Category: Range
        UserName: Minimum output
        """
        ...
    @min_output.setter
    def min_output(self, value: float) -> None:
        ...

    @property
    def movementThreshold(self) -> float:
        """
        Minimum change needed before updating output value. Helps when data has unwanted movement when intended to be static. 0 means no threshold (disabled)
        
        Category: Output
        UserName: Movement threshold
        """
        ...
    @movementThreshold.setter
    def movementThreshold(self, value: float) -> None:
        ...

    @property
    def object(self) -> Object:
        """
        Set this to the object that will receive the value (position or angle)
        
        Category: Configuration
        UserName: Object
        """
        ...
    @object.setter
    def object(self, obj: Object) -> None:
        ...

    @property
    def offset(self) -> float:
        """
        Offset the final output value.
        
        Category: Range
        UserName: Offset
        """
        ...
    @offset.setter
    def offset(self, value: float) -> None:
        ...

    @property
    def output(self) -> float:
        """
        The output value (specified units).
        
        Category: Output
        UserName: Output value
        """
        ...
    @output.setter
    def output(self, value: float) -> None:
        ...

    @property
    def outputRaw(self) -> float:
        ...
    @outputRaw.setter
    def outputRaw(self, value: float) -> None:
        ...

    @property
    def outputScaled(self) -> float:
        ...
    @outputScaled.setter
    def outputScaled(self, value: float) -> None:
        ...

    @property
    def positionSamples(self) -> int:
        """
        Number of position samples to filter. Use 0 to disable. More samples will introduce higher latency with more smoothing effect. Fewer samples will introduce less latency with less smoothing effect.
        
        Category: Output
        UserName: Number of Position Samples
        """
        ...
    @positionSamples.setter
    def positionSamples(self, value: int) -> None:
        ...

    @property
    def prediction(self) -> float:
        """
        Compensate for time latency between received data and projector output. Use 0 to disable.
        
        Category: Output
        UserName: Bias/ Prediction (ms)
        """
        ...
    @prediction.setter
    def prediction(self, value: float) -> None:
        ...

    @property
    def predictionEnabled(self) -> int:
        """
        When switched on, prediction uses the 'bias' property to predict tracked positions at a future time
        
        Options: {0: 'Off', 1: 'On'}
        Category: Output
        UserName: Prediction Override Enabled
        """
        ...
    @predictionEnabled.setter
    def predictionEnabled(self, value: int) -> None:
        ...

    @property
    def property_(self) -> str:
        """
        Category: Configuration
        UserName: Property
        """
        ...
    @property_.setter
    def property_(self, value: str) -> None:
        ...

    @property
    def smoothingFactor(self) -> float:
        """
        Smoothing Factor (%). Higher values will smooth the data more but will increase latency and therefore the need for prediction. Conversely, for lower values.
        
        Category: Output
        UserName: Smoothing Factor
        """
        ...
    @smoothingFactor.setter
    def smoothingFactor(self, value: float) -> None:
        ...

    @property
    def status(self) -> int:
        """
        Options: {0: 'Disengaged', 1: 'Engaged'}
        Category: Output
        UserName: Status
        """
        ...
    @status.setter
    def status(self, value: int) -> None:
        ...

    @property
    def timeSamples(self) -> int:
        """
        Number of time samples to filter. Use 0 to disable. More samples will introduce higher latency with more smoothing effect. Fewer samples will introduce less latency with less smoothing effect.
        
        Category: Output
        UserName: Number of Time Samples
        """
        ...
    @timeSamples.setter
    def timeSamples(self, value: int) -> None:
        ...

    @property
    def velocity(self) -> float:
        ...
    @velocity.setter
    def velocity(self, value: float) -> None:
        ...

    @property
    def velocityCalcMode(self) -> int:
        """
        If set to Calculate the system will attempt to calculate velocity data otherwise this will use velocity values from incoming packets.
        
        Options: {0: 'Calculate', 1: 'From Packet', 2: 'Disabled'}
        Category: Velocity
        UserName: Velocity Mode
        """
        ...
    @velocityCalcMode.setter
    def velocityCalcMode(self, value: int) -> None:
        ...

    @property
    def wrapInput(self) -> int:
        """
        Input values wrap, jumping from Minimum input to Maximum input or vice versa
        
        Options: {0: 'No', 1: 'Yes'}
        Category: Range
        UserName: Wrap input
        """
        ...
    @wrapInput.setter
    def wrapInput(self, value: int) -> None:
        ...


class ScreenPositionDriver(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'PositionDriver'

    def generatedTrackingSources(self) -> List[ObjectTrackingSource]:
        ...


class ScreenPositionDriverDistributor(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ScreenPositionDriverDistributor'

    @property
    def sender(self) -> Machine:
        """
        d3 machine connected to the driver
        
        UserName: Sender
        """
        ...
    @sender.setter
    def sender(self, value: Machine) -> None:
        ...

    def __init__(self) -> None:
        ...


class ScreenPositionModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'AnimateObjectPresetModule'

    @property
    def axes(self) -> int:
        """
        Options: {0: 'All', 1: 'Position only', 2: 'Rotation only', 3: 'Animate only', 4: 'Position and rotation'}
        UserName: Axes
        """
        ...
    @axes.setter
    def axes(self, value: int) -> None:
        ...

    @property
    def config(self) -> ScreenConfiguration:
        """
        UserName: Config
        """
        ...
    @config.setter
    def config(self, value: ScreenConfiguration) -> None:
        ...

    @property
    def configsTablePath(self) -> Path:
        ...

    @property
    def cuesTablePath(self) -> Path:
        ...

    @property
    def master(self) -> float:
        """
        UserName: Master
        """
        ...
    @master.setter
    def master(self, value: float) -> None:
        ...

    @property
    def positionsTablePath(self) -> Path:
        ...

    def exportConfigs(self) -> None:
        ...

    def exportCues(self) -> None:
        ...

    def exportPositions(self) -> None:
        ...

    def importPositions(self) -> None:
        ...


class ScreenPositionReceiver(Device):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'PositionReceiver'

    @property
    def axes(self) -> List[ScreenPositionAxis]:
        """
        Category: Axes
        UserName: Axes
        """
        ...
    @axes.setter
    def axes(self, value: List[ScreenPositionAxis]) -> None:
        ...

    @property
    def drivers(self) -> List[ScreenPositionDriver]:
        """
        Category: Drivers
        UserName: Drivers
        """
        ...
    @drivers.setter
    def drivers(self, value: List[ScreenPositionDriver]) -> None:
        ...

    @property
    def engaged(self) -> bool:
        ...
    @engaged.setter
    def engaged(self, on: bool) -> None:
        ...

    @property
    def expressions(self) -> List[ScreenAxisExpression]:
        """
        Category: Expressions
        UserName: Expressions
        """
        ...
    @expressions.setter
    def expressions(self, value: List[ScreenAxisExpression]) -> None:
        ...

    @property
    def frameOfReference(self) -> AnimationAxisSettings:
        """
        UserName: Stage Geometry
        """
        ...
    @frameOfReference.setter
    def frameOfReference(self, value: AnimationAxisSettings) -> None:
        ...

    @property
    def movementThreshold(self) -> float:
        """
        Minimum change needed before updating output value. Helps when data has unwanted movement when intended to be static. 0 means no threshold (disabled)
        
        Category: Prediction
        UserName: Movement threshold
        """
        ...
    @movementThreshold.setter
    def movementThreshold(self, value: float) -> None:
        ...

    @property
    def positionSamples(self) -> int:
        """
        Number of position samples to filter. Use 0 to disable. More samples will introduce higher latency with more smoothing effect. Fewer samples will introduce less latency with less smoothing effect.
        
        Category: Filter
        UserName: Number of Position Samples
        """
        ...
    @positionSamples.setter
    def positionSamples(self, value: int) -> None:
        ...

    @property
    def prediction(self) -> float:
        """
        Compensate for time latency between received data and projector output. Use 0 to disable.
        
        Category: Filter
        UserName: Bias/ Prediction (ms)
        """
        ...
    @prediction.setter
    def prediction(self, value: float) -> None:
        ...

    @property
    def predictionEnabled(self) -> int:
        """
        When switched on, prediction uses the 'bias' property to predict tracked positions at a future time
        
        Options: {0: 'Off', 1: 'On'}
        Category: Prediction
        UserName: Prediction Override Enabled
        """
        ...
    @predictionEnabled.setter
    def predictionEnabled(self, value: int) -> None:
        ...

    @property
    def smoothingFactor(self) -> float:
        """
        Smoothing Factor (%). Higher values will smooth the data more but will increase latency and therefore the need for prediction. Conversely, for lower values.
        
        Category: Prediction
        UserName: Smoothing Factor
        """
        ...
    @smoothingFactor.setter
    def smoothingFactor(self, value: float) -> None:
        ...

    @property
    def status(self) -> int:
        """
        Controls all show machines' status
        Independent editors are always disengaged
        Director-locked editors follow this setting
        
        Options: {0: 'Disengaged', 1: 'Engaged'}
        UserName: Director status
        """
        ...
    @status.setter
    def status(self, value: int) -> None:
        ...

    @property
    def timeSamples(self) -> int:
        """
        Number of time samples to filter. Use 0 to disable. More samples will introduce higher latency with more smoothing effect. Fewer samples will introduce less latency with less smoothing effect.
        
        Category: Filter
        UserName: Number of Time Samples
        """
        ...
    @timeSamples.setter
    def timeSamples(self, value: int) -> None:
        ...

    def canCreateAxes(self) -> bool:
        ...

    def clearAxes(self) -> None:
        ...

    def createAxes(self) -> None:
        ...


class ScrollModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ScrollModule'

    @property
    def border(self) -> float:
        """
        UserName: Border
        """
        ...
    @border.setter
    def border(self, value: float) -> None:
        ...

    @property
    def offset(self) -> float:
        """
        Horizontal offset for start of scroll as a percentage of the canvas
        
        UserName: Offset
        """
        ...
    @offset.setter
    def offset(self, value: float) -> None:
        ...

    @property
    def source(self) -> ContentSource:
        """
        UserName: Source
        """
        ...
    @source.setter
    def source(self, value: ContentSource) -> None:
        ...

    @property
    def speed(self) -> float:
        """
        UserName: Speed
        """
        ...
    @speed.setter
    def speed(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class SelectionData(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def selection(self) -> List[ReflectionValue]:
        ...
    @selection.setter
    def selection(self, value: List[ReflectionValue]) -> None:
        ...


class SelectionManipulator(Manipulator):
    null: Self
    _classInfo: 'ClassInfo'

    def addOrRemoveObjectInSelection(self) -> bool:
        """
        select an object
        """
        ...

    def marqueeSelect(self, state: int, startPos: Vec2, pos: Vec2) -> bool:
        """
        Select all objects in Marquee
        """
        ...

    def selectObjectSolo(self) -> bool:
        """
        select an object
        """
        ...


class SequenceGroup(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SequenceGroup'

    def __init__(self) -> None:
        """
        Default constructor for SequenceGroup
        """
        ...


class SequencedIndirectionController(IndirectionController):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SequencedIndirectionController'

    @property
    def selection(self) -> Resource:
        """
        Add an IndirectionControl layer to sequence this indirection in the timeline
        
        UserName: Selection
        """
        ...
    @selection.setter
    def selection(self, value: Resource) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for SequencedIndirectionController
        """
        ...


class SequencedValue(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def nextKey(self) -> Key:
        ...
    @nextKey.setter
    def nextKey(self, value: Key) -> None:
        ...

    @property
    def prevKey(self) -> Key:
        ...
    @prevKey.setter
    def prevKey(self, value: Key) -> None:
        ...

    @property
    def value(self) -> ReflectionValue:
        ...
    @value.setter
    def value(self, value: ReflectionValue) -> None:
        ...

    @overload
    def __init__(self) -> None:
        """
        Default constructor for SequencedValue
        """
        ...

    @overload
    def __init__(self, other: SequencedValue) -> None:
        """
        Copy constructor for SequencedValue
        """
        ...


class SerialCommand(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SerialCommand'

    @property
    def string(self) -> str:
        ...
    @string.setter
    def string(self, value: str) -> None:
        ...

    def __init__(self) -> None:
        ...


class SerialDevice(ControlDevice):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SerialDevice'

    @property
    def baud_rate(self) -> int:
        """
        Options: {0: '2400', 1: '4800', 2: '9600', 3: '19200', 4: '38400', 5: '57600', 6: '115200'}
        UserName: Baud rate
        """
        ...
    @baud_rate.setter
    def baud_rate(self, value: int) -> None:
        ...

    @property
    def data(self) -> int:
        """
        Options: {0: '7 bits', 1: '8 bits'}
        UserName: Data
        """
        ...
    @data.setter
    def data(self, value: int) -> None:
        ...

    @property
    def parity(self) -> int:
        """
        Options: {0: 'None', 1: 'Odd', 2: 'Even'}
        UserName: Parity
        """
        ...
    @parity.setter
    def parity(self, value: int) -> None:
        ...

    @property
    def port(self) -> int:
        """
        Options: {0: 'COM1', 1: 'COM2', 2: 'COM3', 3: 'COM4', 4: 'COM5', 5: 'COM6', 6: 'COM7', 7: 'COM8', 8: 'COM9', 9: 'COM10', 10: 'COM11', 11: 'COM12', 12: 'COM13', 13: 'COM14', 14: 'COM15', 15: 'COM16', 16: 'COM17', 17: 'COM18', 18: 'COM19', 19: 'COM20'}
        UserName: Port
        """
        ...
    @port.setter
    def port(self, value: int) -> None:
        ...

    @property
    def stop_bits(self) -> int:
        """
        UserName: Stop bits
        """
        ...
    @stop_bits.setter
    def stop_bits(self, value: int) -> None:
        ...

    def reopen(self) -> None:
        ...


class SerialModule(ControlModule):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SerialModule'

    def __init__(self) -> None:
        ...


class SerializableAttribute(ReflectionAttributeT):
    null: Self
    _classInfo: 'ClassInfo'


class Server(NetworkBase):
    null: Self
    _classInfo: 'ClassInfo'


class Session(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class SessionDiscovery(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def getSessionAPIEndpoint(self, sessionName: str) -> str:
        ...


class SessionDiscoverySystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        """
        Default constructor for SessionDiscoverySystem
        """
        ...

    def getSessionAPIEndpoint(self, sessionName: str) -> str:
        ...


class SessionSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def sessionName(self) -> str:
        ...

    def __init__(self) -> None:
        ...

    def getIsNodeInSession(self, nodeId: int) -> bool:
        ...


class SetList(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SetList'

    @property
    def tracks(self) -> List[Track]:
        ...

    def containsTrack(self, track: Track) -> bool:
        ...


class ShaderMaterial(DxMaterial):
    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, shaderFragmentNames: int) -> None:
        ...

    @overload
    def __init__(self, other: ShaderMaterial) -> None:
        """
        Copy constructor for ShaderMaterial
        """
        ...

    def getParameter(self, name: str) -> ReflectionValue:
        ...

    def setParameter(self, name: str, value: ReflectionValue) -> None:
        ...


class ShadowRP(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: ShadowRP) -> None:
        """
        Copy constructor for ShadowRP
        """
        ...


class ShadowResource(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self, other: ShadowResource) -> None:
        ...


class ShadowResourceDomain(Domain):
    null: Self
    _classInfo: 'ClassInfo'


class ShadowResourceDomainConnection(DomainConnection):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class ShadowResourceHTTPSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class SharedVideoIn(VideoIn):
    null: Self
    _classInfo: 'ClassInfo'


class SharedVideoInVideoInSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        """
        Default constructor for SharedVideoInVideoInSystem
        """
        ...


class ShotRecorder(Device):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ShotRecorder'
    changeSlateForTake: Callable
    deleteTake: Callable
    exportComparisonTableForSlate: Callable
    exportComparisonTableToCsv: Callable
    renameSlate: Callable
    renameTake: Callable
    slateOrTakeExists: Callable
    slates: Callable
    takesforSlate: Callable

    @property
    def engaged(self) -> bool:
        """
        Click to engage/disengage recording
        
        UserName: Engaged
        """
        ...
    @engaged.setter
    def engaged(self, engage: bool) -> None:
        ...

    @property
    def exportSettings(self) -> ShotRecorderExportSettings:
        ...
    @exportSettings.setter
    def exportSettings(self, value: ShotRecorderExportSettings) -> None:
        ...

    @property
    def parameters(self) -> ParameterCollection:
        """
        The parameter collection to record when the system is engaged
        
        UserName: Parameters
        """
        ...
    @parameters.setter
    def parameters(self, value: ParameterCollection) -> None:
        ...

    @property
    def recording(self) -> bool:
        ...

    @property
    def slate(self) -> str:
        """
        The name of the slate for the current shot
        
        UserName: Slate
        """
        ...
    @slate.setter
    def slate(self, slate: str) -> None:
        ...

    @property
    def take(self) -> int:
        """
        The number of the take for the current shot
        
        UserName: Take
        """
        ...
    @take.setter
    def take(self, take: int) -> None:
        ...

    @property
    def takeScreenshot(self) -> bool:
        """
        Take a screenshot at the end of each recording
        
        UserName: Take screenshot
        """
        ...
    @takeScreenshot.setter
    def takeScreenshot(self, value: bool) -> None:
        ...

    @property
    def takeSnapshot(self) -> bool:
        """
        Take a project snapshot at the end of each recording
        
        UserName: Take snapshot
        """
        ...
    @takeSnapshot.setter
    def takeSnapshot(self, value: bool) -> None:
        ...

    @property
    def timecode(self) -> TimecodeTransport:
        """
        The timecode to record alongside parameters. Must be selected in a transport manager.
        
        UserName: Timecode
        """
        ...
    @timecode.setter
    def timecode(self, value: TimecodeTransport) -> None:
        ...

    def exportAllRecordings(self) -> bool:
        ...

    def exportSlate(self, slatePath: Path) -> bool:
        ...

    def exportTake(self, takePath: Path) -> bool:
        ...

    def resetTake(self) -> None:
        ...


class ShotRecorderExportSettings(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def animationAlignment(self) -> int:
        """
        Whether exported animations start at zero time for each shot, or align with the recorded timecode
        
        Options: {0: 'Start at zero', 1: 'Align with timecode'}
        UserName: Animation alignment
        """
        ...
    @animationAlignment.setter
    def animationAlignment(self, value: int) -> None:
        ...

    @property
    def autoExport(self) -> bool:
        """
        Automatically export shots in the chosen formats when recording stops
        
        UserName: Auto export
        """
        ...
    @autoExport.setter
    def autoExport(self, value: bool) -> None:
        ...

    @property
    def exportCsv(self) -> bool:
        """
        Export shot recording in CSV format, removing duplicated values for compactness
        
        UserName: CSV (compact)
        """
        ...
    @exportCsv.setter
    def exportCsv(self, value: bool) -> None:
        ...

    @property
    def exportCsvDense(self) -> bool:
        """
        Export shot recording in CSV format, retaining all values for each frame
        
        UserName: CSV (dense)
        """
        ...
    @exportCsvDense.setter
    def exportCsvDense(self, value: bool) -> None:
        ...

    @property
    def exportFbx(self) -> bool:
        """
        Export shot recording in FBX format
        
        UserName: FBX
        """
        ...
    @exportFbx.setter
    def exportFbx(self, value: bool) -> None:
        ...

    @property
    def exportFbxAscii(self) -> bool:
        """
        Export shot recording in FBX ASCII format
        
        UserName: FBX (ASCII)
        """
        ...
    @exportFbxAscii.setter
    def exportFbxAscii(self, value: bool) -> None:
        ...

    @property
    def exportJson(self) -> bool:
        """
        Export shot recording in JSON format
        
        UserName: JSON
        """
        ...
    @exportJson.setter
    def exportJson(self, value: bool) -> None:
        ...


class Simotion(UdpReceiverDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SimotionDriver'

    @property
    def Prefix(self) -> str:
        """
        If set, this string is added to the start of the received axis ID
        
        UserName: ID prefix
        """
        ...
    @Prefix.setter
    def Prefix(self, value: str) -> None:
        ...

    def __init__(self) -> None:
        ...


class SimotionAxisState(TrackingScalarState):
    null: Self
    _classInfo: 'ClassInfo'


class SimpleGraph(MetricMonitor):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SimpleGraph'
    graph: Callable

    def push(self, value: float) -> None:
        ...

    def series(self, seriesName: str, col: Colour, mode: int) -> SimpleGraph:
        ...


class SinglePoseCalibratedPoint(Resource):
    """
    Represents a 2D-3D correspondence for a particular pose, by storing the 3D transformation matrix
    
    See CalibratedPoint for more info.
    """

    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SinglePoseCalibratedPoint'

    @property
    def localToWorld(self) -> Mat:
        ...
    @localToWorld.setter
    def localToWorld(self, value: Mat) -> None:
        ...

    @property
    def rasterPos(self) -> Vec2:
        ...
    @rasterPos.setter
    def rasterPos(self, pix: Vec2) -> None:
        ...

    @property
    def status(self) -> int:
        """
        Options: {0: 'Not set', 1: 'Set', 2: 'Set in place', 3: 'Fine tuned'}
        UserName: Calibration status
        """
        ...
    @status.setter
    def status(self, value: int) -> None:
        ...


class SizeMetadata(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def isResizeable(self) -> bool:
        ...

    @property
    def minSize(self) -> Int2:
        ...

    @property
    def size(self) -> Int2:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, _size: Int2, _minSize: Int2, _isResizeable: bool) -> None:
        ...


class SkeletalJointLayout(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def name(self) -> str:
        ...
    @name.setter
    def name(self, value: str) -> None:
        ...

    @property
    def offset(self) -> Vec:
        ...
    @offset.setter
    def offset(self, value: Vec) -> None:
        ...

    @property
    def parentId(self) -> int:
        ...
    @parentId.setter
    def parentId(self, value: int) -> None:
        ...

    @property
    def retargetingId(self) -> int:
        ...
    @retargetingId.setter
    def retargetingId(self, value: int) -> None:
        ...


class SkeletalJointPose(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def offset(self) -> Vec:
        ...
    @offset.setter
    def offset(self, value: Vec) -> None:
        ...

    @property
    def rotation(self) -> Vec:
        ...
    @rotation.setter
    def rotation(self, value: Vec) -> None:
        ...


class SkeletalPointGroup(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def name(self) -> str:
        ...
    @name.setter
    def name(self, value: str) -> None:
        ...

    @property
    def points(self) -> List[TrackedFixedPoint]:
        ...
    @points.setter
    def points(self, value: List[TrackedFixedPoint]) -> None:
        ...

    def addPair(self) -> None:
        ...

    def removePair(self) -> None:
        ...


class SkeletalPointTrackingSource(SkeletalTrackingSource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SkeletalPointTrackingSource'

    @property
    def engaged(self) -> int:
        """
        Options: {0: 'No', 1: 'Yes'}
        """
        ...
    @engaged.setter
    def engaged(self, value: int) -> None:
        ...

    @property
    def groups(self) -> List[SkeletalPointGroup]:
        ...
    @groups.setter
    def groups(self, value: List[SkeletalPointGroup]) -> None:
        ...

    @property
    def maxPointLocation(self) -> Vec:
        """
        Maximum world-space coordinates, above which tracking data will be ignored
        Bounds ignored when min and max values are equal
        
        UserName: Max point location
        """
        ...
    @maxPointLocation.setter
    def maxPointLocation(self, value: Vec) -> None:
        ...

    @property
    def minPointLocation(self) -> Vec:
        """
        Minimum world-space coordinates, below which tracking data will be ignored
        Bounds ignored when min and max values are equal
        
        UserName: Min point location
        """
        ...
    @minPointLocation.setter
    def minPointLocation(self, value: Vec) -> None:
        ...

    @property
    def rejoinVelocityLimit(self) -> float:
        """
        Velocity limit in m/s to avoid points jumping when they start receiving after being lost
        
        UserName: Rejoin velocity limit
        """
        ...
    @rejoinVelocityLimit.setter
    def rejoinVelocityLimit(self, value: float) -> None:
        ...

    @property
    def solverMode(self) -> int:
        """
        Solver used to calculate joint positions from tracked points.
        Direct: Directly manipulate the positions of the tracked joints.
        IK: Update joint positions using Inverse Kinematics.
        """
        ...
    @solverMode.setter
    def solverMode(self, value: int) -> None:
        ...

    def addGroup(self, name: str) -> None:
        ...


class SkeletalTrackingSource(ObjectTrackingSource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SkeletalTrackingSource'

    def __init__(self) -> None:
        """
        Default constructor for SkeletalTrackingSource
        """
        ...


class Skeleton(Object):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Skeleton'
    JOINT_ID_INVALID: Final = 18446744073709551615

    @property
    def boundingBoxOffset(self) -> Vec:
        """
        Offset of the skeleton's bounding box centre relative to the root joint
        """
        ...

    @property
    def boundingBoxScale(self) -> Vec:
        """
        Scale of the skeleton's bounding box
        """
        ...

    @property
    def colour(self) -> Colour:
        """
        Category: Appearance
        UserName: Bone colour
        """
        ...
    @colour.setter
    def colour(self, value: Colour) -> None:
        ...

    @property
    def displayJointLabels(self) -> bool:
        """
        Category: Appearance
        UserName: Display joint labels
        """
        ...
    @displayJointLabels.setter
    def displayJointLabels(self, value: bool) -> None:
        ...

    @property
    def drawBones(self) -> bool:
        """
        Category: Appearance
        UserName: Draw bones
        """
        ...
    @drawBones.setter
    def drawBones(self, b: bool) -> None:
        ...

    @property
    def drawNodes(self) -> bool:
        """
        Category: Appearance
        UserName: Draw nodes
        """
        ...
    @drawNodes.setter
    def drawNodes(self, b: bool) -> None:
        ...

    @property
    def joints(self) -> SkeletonJoints:
        ...
    @joints.setter
    def joints(self, value: SkeletonJoints) -> None:
        ...

    @property
    def mesh(self) -> Mesh:
        """
        The mesh that defines the shape of the object
        
        UserName: Mesh
        """
        ...
    @mesh.setter
    def mesh(self, value: Mesh) -> None:
        ...

    @property
    def renderSettings(self) -> PropRenderer:
        """
        Category: Appearance
        """
        ...
    @renderSettings.setter
    def renderSettings(self, value: PropRenderer) -> None:
        ...

    @property
    def skinnedMesh(self) -> SkinnedMesh2:
        ...
    @skinnedMesh.setter
    def skinnedMesh(self, value: SkinnedMesh2) -> None:
        ...

    @property
    def trackingJoints(self) -> SkeletonJoints:
        ...
    @trackingJoints.setter
    def trackingJoints(self, value: SkeletonJoints) -> None:
        ...

    def clearReferencePoints(self) -> None:
        ...

    def createReferencePoints(self) -> None:
        ...

    def getJointRetargeting(self, trackingId: int) -> int:
        ...

    def resetToDefault(self) -> None:
        ...

    def setJointRetargeting(self, trackingId: int, meshId: int) -> None:
        ...

    def zeroPose(self) -> None:
        ...


class SkeletonJoint(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def layout(self) -> SkeletalJointLayout:
        ...
    @layout.setter
    def layout(self, value: SkeletalJointLayout) -> None:
        ...

    @property
    def pose(self) -> SkeletalJointPose:
        ...
    @pose.setter
    def pose(self, value: SkeletalJointPose) -> None:
        ...


class SkeletonJoints(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def joints(self) -> unordered_map[int, SkeletonJoint]:
        ...
    @joints.setter
    def joints(self, value: unordered_map[int, SkeletonJoint]) -> None:
        ...

    def __getitem__(self, jointId: int) -> SkeletonJoint:
        ...

    def __len__(self) -> int:
        ...

    def empty(self) -> bool:
        ...

    def getJoint(self, jointId: int) -> SkeletonJoint:
        ...

    def onJointPoseChanged(self, jointId: int) -> None:
        ...


class SkeletonTrackerTester(ScreenPositionDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SkeletonTrackerTester'

    @property
    def originOffset(self) -> Vec:
        """
        Offset to apply to source camera position
        
        UserName: Origin offset
        """
        ...
    @originOffset.setter
    def originOffset(self, value: Vec) -> None:
        ...

    @property
    def originRotation(self) -> Vec:
        """
        Rotation to apply to source camera rotation
        
        UserName: Origin rotation
        """
        ...
    @originRotation.setter
    def originRotation(self, value: Vec) -> None:
        ...

    @property
    def sourceSkeleton(self) -> Skeleton:
        """
        Skeleton to use a source of tracking data
        
        UserName: Source skeleton
        """
        ...
    @sourceSkeleton.setter
    def sourceSkeleton(self, value: Skeleton) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for SkeletonTrackerTester
        """
        ...


class SkinVert(Vert):
    null: Self
    _classInfo: 'ClassInfo'


class SkinnedMesh2(Mesh):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SkinnedMesh'


class SkinnedMeshComputeMaterial(DxMaterial):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class SlcAwareDisplay(Display):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SlcAwareDisplay'

    def __init__(self) -> None:
        ...


class SlcConfig(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SlcConfig'
    LATENCY_NEXTFRAME: Final = 1
    LATENCY_NOW: Final = 0
    LATENCY_ONCOMPLETED: Final = 2

    @property
    def intersectionExpansion(self) -> float:
        """
        Amount of pixels the region will be expanded by for intersection testing.
        Useful for consolidating adjacent regions into fewer regions without affecting isolated regions
        
        UserName: Intersection expansion (pixels)
        """
        ...
    @intersectionExpansion.setter
    def intersectionExpansion(self, value: float) -> None:
        ...

    @property
    def latency(self) -> int:
        """
        Latency for view calculation solver
        
        Options: {0: 'Now', 1: 'Next Frame', 2: 'On Completed'}
        UserName: Latency
        """
        ...
    @latency.setter
    def latency(self, value: int) -> None:
        ...

    @property
    def maxRegionResolution(self) -> Int2:
        """
        Resolution regions will split into
        
        UserName: Region resolution (maximum)
        """
        ...
    @maxRegionResolution.setter
    def maxRegionResolution(self, value: Int2) -> None:
        ...

    @property
    def maxRegionsPerView(self) -> int:
        """
        A hard limit on the number of regions per view
        
        UserName: Maximum regions per view
        """
        ...
    @maxRegionsPerView.setter
    def maxRegionsPerView(self, value: int) -> None:
        ...

    @property
    def minRegionResolution(self) -> Int2:
        """
        Resolution regions will be rounded up to
        
        UserName: Region resolution (minimum)
        """
        ...
    @minRegionResolution.setter
    def minRegionResolution(self, value: Int2) -> None:
        ...

    @property
    def minimumResolution(self) -> Int2:
        """
        Threshold for enabling SLC view calculations
        
        UserName: Resolution threshold
        """
        ...
    @minimumResolution.setter
    def minimumResolution(self, value: Int2) -> None:
        ...

    @property
    def offsetThreshold(self) -> float:
        """
        Movement threshold for forced recalculation of a view.
        Increase if tracking jitter is causing high load due to SLC recalculations.
        
        UserName: Movement threshold (m)
        """
        ...
    @offsetThreshold.setter
    def offsetThreshold(self, value: float) -> None:
        ...

    @property
    def overscan(self) -> float:
        """
        Ratio to expand projection area by, to account for distortion or other clipping.
        1 means 100%, 2 means 200%
        
        UserName: Overscan
        """
        ...
    @overscan.setter
    def overscan(self, value: float) -> None:
        ...

    @property
    def regionExpansion(self) -> float:
        """
        Amount of pixels the region will be expanded by.
        Can be used alongside overscan to expand regions to account for movement
        
        UserName: Region expansion (pixels)
        """
        ...
    @regionExpansion.setter
    def regionExpansion(self, value: float) -> None:
        ...


class SlcRegionManagement(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def config(self) -> SlcConfig:
        ...
    @config.setter
    def config(self, value: SlcConfig) -> None:
        ...


class SlcRegionUpdate(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class SlideShow(ResourceSequence):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SlideShow'

    @property
    def imageLength(self) -> float:
        ...
    @imageLength.setter
    def imageLength(self, value: float) -> None:
        ...

    @property
    def slides(self) -> List[VideoClip]:
        """
        UserName: Slides
        """
        ...
    @slides.setter
    def slides(self, value: List[VideoClip]) -> None:
        ...

    @property
    def sorted(self) -> int:
        """
        Options: {0: 'Off', 1: 'On'}
        """
        ...
    @sorted.setter
    def sorted(self, value: int) -> None:
        ...

    def refreshClips(self) -> None:
        ...

    def unlockClips(self) -> None:
        ...

    def unlocked(self) -> bool:
        ...


class SlugFont(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    AlignBottom: Final = 2
    AlignCenter: Final = 1
    AlignLeft: Final = 0
    AlignMiddle: Final = 1
    AlignRight: Final = 2
    AlignTop: Final = 0

    @property
    def alignH(self) -> int:
        ...
    @alignH.setter
    def alignH(self, alignH: int) -> None:
        ...

    @property
    def alignV(self) -> int:
        ...
    @alignV.setter
    def alignV(self, alignV: int) -> None:
        ...

    @property
    def bold(self) -> bool:
        ...

    @property
    def fontSize(self) -> float:
        ...
    @fontSize.setter
    def fontSize(self, pixelSize: float) -> None:
        ...

    @property
    def height(self) -> float:
        ...

    @property
    def italic(self) -> bool:
        ...

    @property
    def leadedLineHeight(self) -> float:
        ...

    @property
    def leading(self) -> float:
        ...
    @leading.setter
    def leading(self, leading: float) -> None:
        ...

    @property
    def lineHeight(self) -> float:
        ...

    @property
    def maxHeightInPixels(self) -> float:
        ...

    @property
    def maxWidthInPixels(self) -> float:
        ...

    @property
    def tracking(self) -> float:
        ...
    @tracking.setter
    def tracking(self, tracking: float) -> None:
        ...

    def extent(self, s: str, fontSize: float = 0) -> Vec2:
        ...

    def extentHeight(self, nLines: int) -> float:
        ...

    def printAndRender(self, text: str, pos: Vec, colour: Colour = Colour.white, debugBounds: int = 0, useCache: bool = True) -> None:
        ...

    def printDynamic(self, text: str, pos: Vec, pixelSize: float, colour: Colour = Colour.white, alignH: int = 0, alignV: int = 0, tracking: float = 0.0, leading: float = 1.2) -> None:
        ...

    def truncateMiddle(self, inputString: str, targetWidth: float, endChars: int, minTruncChars: int) -> str:
        ...

    def truncateToWidth(self, inputString: str, targetWidth: float) -> str:
        ...


class SmartGroupLayer(GroupLayer):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SmartGroupLayer'

    def set(self, layers: List[SuperLayer]) -> GroupLayer:
        ...


class SockPuppetChevronModule(ChevronModule):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SockPuppetChevronModule'

    @property
    def bright2(self) -> float:
        """
        UserName: Second Brightness
        """
        ...
    @bright2.setter
    def bright2(self, value: float) -> None:
        ...

    @property
    def col2(self) -> Colour:
        """
        UserName: Second Colour
        """
        ...
    @col2.setter
    def col2(self, value: Colour) -> None:
        ...

    def __init__(self) -> None:
        ...


class SockPuppetGradientModule(GradientModule):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SockPuppetGradientModule'

    @property
    def bright2(self) -> float:
        """
        UserName: Second Brightness
        """
        ...
    @bright2.setter
    def bright2(self, value: float) -> None:
        ...

    @property
    def col2(self) -> Colour:
        """
        UserName: Second Colour
        """
        ...
    @col2.setter
    def col2(self, value: Colour) -> None:
        ...

    def __init__(self) -> None:
        ...


class SockPuppetNotchModule(NotchModule):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SockPuppetNotchModule'

    @property
    def frames(self) -> int:
        """
        Category: Timecode
        UserName: Frames
        """
        ...
    @frames.setter
    def frames(self, value: int) -> None:
        ...

    @property
    def hours(self) -> int:
        """
        Category: Timecode
        UserName: Hours
        """
        ...
    @hours.setter
    def hours(self, value: int) -> None:
        ...

    @property
    def minutes(self) -> int:
        """
        Category: Timecode
        UserName: Minutes
        """
        ...
    @minutes.setter
    def minutes(self, value: int) -> None:
        ...

    @property
    def on_clock_lost(self) -> int:
        """
        Options: {0: 'Default', 1: 'Stop', 2: 'Play'}
        Category: Timecode
        UserName: On clock lost
        """
        ...
    @on_clock_lost.setter
    def on_clock_lost(self, value: int) -> None:
        ...

    @property
    def play_mode(self) -> int:
        """
        Options: {0: 'Locked', 1: 'Free-run', 2: 'Normal', 3: 'Timecode', 4: 'Paused'}
        UserName: Mode
        """
        ...
    @play_mode.setter
    def play_mode(self, value: int) -> None:
        ...

    @property
    def seconds(self) -> int:
        """
        Category: Timecode
        UserName: Seconds
        """
        ...
    @seconds.setter
    def seconds(self, value: int) -> None:
        ...


class SockPuppetSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'
    deletePatch: Callable
    repatchAllLayers: Callable

    @property
    def library(self) -> DmxLibrary:
        ...

    @property
    def registry(self) -> SockpuppetPersonalityRegistry:
        ...

    def __init__(self) -> None:
        ...


class SockPuppetVideoModule(ProjectionAwareModule):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SockPuppetVideoModule'

    @property
    def acesExposure(self) -> float:
        """
        Input exposure transform (stops)
        
        Category: Colour
        UserName: Exposure
        """
        ...
    @acesExposure.setter
    def acesExposure(self, value: float) -> None:
        ...

    @property
    def acesGamma(self) -> float:
        """
        Input gamma transform
        
        Category: Colour
        UserName: Gamma
        """
        ...
    @acesGamma.setter
    def acesGamma(self, value: float) -> None:
        ...

    @property
    def at_end_point(self) -> int:
        """
        Options: {0: 'Loop', 1: 'Ping-pong', 2: 'Pause'}
        Category: Media
        UserName: At end point
        """
        ...
    @at_end_point.setter
    def at_end_point(self, value: int) -> None:
        ...

    @property
    def bottom(self) -> float:
        """
        Category: Crop
        UserName: Bottom
        """
        ...
    @bottom.setter
    def bottom(self, value: float) -> None:
        ...

    @property
    def cdl(self) -> CDL:
        """
        ASC CDL format colour grading in Slope, Offset, Power and Saturation controls. (Only in ACES)
        
        Category: Colour
        UserName: CDL
        """
        ...
    @cdl.setter
    def cdl(self, value: CDL) -> None:
        ...

    @property
    def clipEndFrame(self) -> int:
        ...

    @property
    def clipLoopEndFrame(self) -> int:
        ...

    @property
    def clipLoopStartFrame(self) -> int:
        ...

    @property
    def clipNFrames(self) -> int:
        ...

    @property
    def clipStartFrame(self) -> int:
        ...

    @property
    def clip_type(self) -> int:
        """
        Options: {0: 'Clip To Canvas', 1: 'Fit Into Canvas', 2: 'Stretch To Canvas', 3: 'Pixel-perfect', 4: 'Use Clip Default'}
        Category: Move
        UserName: Clip type
        """
        ...
    @clip_type.setter
    def clip_type(self, value: int) -> None:
        ...

    @property
    def colour_shift(self) -> ColourShift:
        """
        Category: Audio
        UserName: Colour Shift
        """
        ...
    @colour_shift.setter
    def colour_shift(self, value: ColourShift) -> None:
        ...

    @property
    def cropSoftness(self) -> float:
        """
        Enables a vignette effect by softening the edges of the crop
        
        Category: Crop
        UserName: Vignette
        """
        ...
    @cropSoftness.setter
    def cropSoftness(self, value: float) -> None:
        ...

    @property
    def frameNumberDisplay(self) -> int:
        ...

    @property
    def frame_index(self) -> int:
        """
        Category: Media
        UserName: Frame index
        """
        ...
    @frame_index.setter
    def frame_index(self, value: int) -> None:
        ...

    @property
    def frames(self) -> int:
        """
        Category: Timecode
        UserName: Frames
        """
        ...
    @frames.setter
    def frames(self, value: int) -> None:
        ...

    @property
    def hours(self) -> int:
        """
        Category: Timecode
        UserName: Hours
        """
        ...
    @hours.setter
    def hours(self, value: int) -> None:
        ...

    @property
    def left(self) -> float:
        """
        Category: Crop
        UserName: Left
        """
        ...
    @left.setter
    def left(self, value: float) -> None:
        ...

    @property
    def loop_inFrame(self) -> int:
        """
        Category: Media
        UserName: Loop Inframe
        """
        ...
    @loop_inFrame.setter
    def loop_inFrame(self, value: int) -> None:
        ...

    @property
    def loop_outFrame(self) -> int:
        """
        Category: Media
        UserName: Loop Outframe
        """
        ...
    @loop_outFrame.setter
    def loop_outFrame(self, value: int) -> None:
        ...

    @property
    def minutes(self) -> int:
        """
        Category: Timecode
        UserName: Minutes
        """
        ...
    @minutes.setter
    def minutes(self, value: int) -> None:
        ...

    @property
    def mode(self) -> int:
        """
        Options: {0: 'Locked', 1: 'Normal', 2: 'Reset', 3: 'Pause', 4: 'Inframe', 5: 'Reverse', 6: 'Outframe', 7: 'Timecode', 8: 'LoopInFrame', 9: 'LoopOutFrame'}
        Category: Media
        UserName: Mode
        """
        ...
    @mode.setter
    def mode(self, value: int) -> None:
        ...

    @property
    def ocioContrast(self) -> float:
        """
        Input contrast transform
        
        Category: Colour
        UserName: Contrast
        """
        ...
    @ocioContrast.setter
    def ocioContrast(self, value: float) -> None:
        ...

    @property
    def ocioExposure(self) -> float:
        """
        Input exposure transform (stops).
        
        Category: Colour
        UserName: Exposure
        """
        ...
    @ocioExposure.setter
    def ocioExposure(self, value: float) -> None:
        ...

    @property
    def ocioGamma(self) -> float:
        """
        Imput gamma transform
        
        Category: Colour
        UserName: Gamma
        """
        ...
    @ocioGamma.setter
    def ocioGamma(self, value: float) -> None:
        ...

    @property
    def ocioShaderProperties(self) -> OcioShaderProperties:
        ...
    @ocioShaderProperties.setter
    def ocioShaderProperties(self, value: OcioShaderProperties) -> None:
        ...

    @property
    def on_clock_lost(self) -> int:
        """
        Options: {0: 'Default', 1: 'Stop', 2: 'Play'}
        Category: Timecode
        UserName: On clock lost
        """
        ...
    @on_clock_lost.setter
    def on_clock_lost(self, value: int) -> None:
        ...

    @property
    def output(self) -> LogicalAudioOutDevice:
        """
        Category: Audio
        UserName: Output
        """
        ...
    @output.setter
    def output(self, value: LogicalAudioOutDevice) -> None:
        ...

    @property
    def pos(self) -> Vec2:
        """
        Category: Move
        UserName: Pos
        """
        ...
    @pos.setter
    def pos(self, value: Vec2) -> None:
        ...

    @property
    def right(self) -> float:
        """
        Category: Crop
        UserName: Right
        """
        ...
    @right.setter
    def right(self, value: float) -> None:
        ...

    @property
    def rotation(self) -> float:
        """
        Category: Move
        UserName: Rotation
        """
        ...
    @rotation.setter
    def rotation(self, value: float) -> None:
        ...

    @property
    def scale(self) -> Vec2:
        """
        Category: Move
        UserName: Scale
        """
        ...
    @scale.setter
    def scale(self, value: Vec2) -> None:
        ...

    @property
    def seconds(self) -> int:
        """
        Category: Timecode
        UserName: Seconds
        """
        ...
    @seconds.setter
    def seconds(self, value: int) -> None:
        ...

    @property
    def size(self) -> float:
        """
        Category: Move
        UserName: Size
        """
        ...
    @size.setter
    def size(self, value: float) -> None:
        ...

    @property
    def speed(self) -> float:
        """
        Category: Media
        UserName: Speed
        """
        ...
    @speed.setter
    def speed(self, value: float) -> None:
        ...

    @property
    def top(self) -> float:
        """
        Category: Crop
        UserName: Top
        """
        ...
    @top.setter
    def top(self, value: float) -> None:
        ...

    @property
    def transition_time(self) -> float:
        """
        Category: Media
        UserName: Transition time
        """
        ...
    @transition_time.setter
    def transition_time(self, value: float) -> None:
        ...

    @property
    def trim_frames(self) -> int:
        """
        Category: Media
        UserName: Trim frames
        """
        ...
    @trim_frames.setter
    def trim_frames(self, value: int) -> None:
        ...

    @property
    def video(self) -> VideoClip:
        """
        Category: Media
        UserName: Video
        """
        ...
    @video.setter
    def video(self, value: VideoClip) -> None:
        ...

    @property
    def volume(self) -> float:
        """
        Category: Audio
        UserName: Volume
        """
        ...
    @volume.setter
    def volume(self, value: float) -> None:
        ...


class SocketSystem(Subsystem):
    """
    Subsystem to initialise socket communication
    """

    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class SockpuppetPersonality(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SockpuppetPersonality'

    @property
    def className(self) -> str:
        ...

    @property
    def classUserName(self) -> str:
        ...

    @property
    def cls(self) -> Type:
        ...

    @property
    def nProperties(self) -> int:
        ...

    @property
    def properties(self) -> List[SockpuppetProperty]:
        ...
    @properties.setter
    def properties(self, value: List[SockpuppetProperty]) -> None:
        ...

    @property
    def variantName(self) -> str:
        ...
    @variantName.setter
    def variantName(self, value: str) -> None:
        ...

    @property
    def vmapVersion(self) -> int:
        ...
    @vmapVersion.setter
    def vmapVersion(self, v: int) -> None:
        ...

    def addProperty(self, fieldName: str, displayName: str, group: str) -> SockpuppetProperty:
        ...

    def isSameAs(self, p: SockpuppetPersonality) -> bool:
        ...


class SockpuppetPersonalityRegistry(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SockpuppetPersonalityRegistry'
    supportedModules: Callable

    @property
    def sets(self) -> List[SockpuppetPersonalitySet]:
        ...
    @sets.setter
    def sets(self, value: List[SockpuppetPersonalitySet]) -> None:
        ...

    def classes(self) -> List[Type]:
        ...

    def getPersonality(self, className: str) -> SockpuppetPersonality:
        ...

    def iVersionSelected(self, className: str) -> int:
        ...

    def nVersions(self, className: str) -> int:
        ...

    def personalityVersion(self, className: str, iVersion: int) -> SockpuppetPersonality:
        ...

    def selectVersion(self, className: str, iVersion: int) -> None:
        ...


class SockpuppetPersonalitySet(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SockpuppetPersonalitySet'

    @property
    def className(self) -> str:
        ...
    @className.setter
    def className(self, value: str) -> None:
        ...

    @property
    def iVersion(self) -> int:
        ...
    @iVersion.setter
    def iVersion(self, value: int) -> None:
        ...

    @property
    def versions(self) -> List[SockpuppetPersonality]:
        ...
    @versions.setter
    def versions(self, value: List[SockpuppetPersonality]) -> None:
        ...

    def __init__(self) -> None:
        ...


class SockpuppetProperty(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SockpuppetProperty'
    Number: Final = 0
    Number_HighPrecision: Final = 2
    Resource: Final = 1
    RgbColour: Final = 3
    String: Final = 4

    @property
    def address(self) -> str:
        """
        Name of the property if patched using an address scheme
        
        UserName: Address
        """
        ...
    @address.setter
    def address(self, addr: str) -> None:
        ...

    @property
    def default(self) -> float:
        """
        UserName: Default value
        """
        ...
    @default.setter
    def default(self, value: float) -> None:
        ...

    @property
    def defaultString(self) -> str:
        """
        UserName: Default value
        """
        ...
    @defaultString.setter
    def defaultString(self, value: str) -> None:
        ...

    @property
    def displayName(self) -> str:
        """
        UserName: Display name
        """
        ...
    @displayName.setter
    def displayName(self, value: str) -> None:
        ...

    @property
    def dmxChannelOffset(self) -> int:
        """
        Number of DMX channels to leave empty before this property, if patched to DMX.
        
        UserName: DMX channel offset
        """
        ...
    @dmxChannelOffset.setter
    def dmxChannelOffset(self, offset: int) -> None:
        ...

    @property
    def enabled(self) -> bool:
        """
        Globally enabled when patched
        
        UserName: Enabled
        """
        ...
    @enabled.setter
    def enabled(self, on: bool) -> None:
        ...

    @property
    def fieldName(self) -> str:
        """
        UserName: Field name
        """
        ...
    @fieldName.setter
    def fieldName(self, value: str) -> None:
        ...

    @property
    def group(self) -> str:
        """
        UserName: Group name
        """
        ...
    @group.setter
    def group(self, value: str) -> None:
        ...

    @property
    def max(self) -> float:
        """
        UserName: Maximum
        """
        ...
    @max.setter
    def max(self, val: float) -> None:
        ...

    @property
    def min(self) -> float:
        """
        UserName: Minimum
        """
        ...
    @min.setter
    def min(self, val: float) -> None:
        ...

    @property
    def options(self) -> List[SockpuppetPropertyOption]:
        """
        UserName: Options
        """
        ...
    @options.setter
    def options(self, options: List[SockpuppetPropertyOption]) -> None:
        ...

    @property
    def resourceType(self) -> Type:
        """
        UserName: Resource type
        """
        ...
    @resourceType.setter
    def resourceType(self, type: Type) -> None:
        ...

    @property
    def step(self) -> float:
        """
        UserName: Step
        """
        ...
    @step.setter
    def step(self, val: float) -> None:
        ...

    @property
    def type(self) -> int:
        """
        Options: {0: '8-bit', 1: 'bank/slot', 2: '16-bit', 3: 'RGB-colour', 4: 'string'}
        UserName: Type
        """
        ...
    @type.setter
    def type(self, type: int) -> None:
        ...


class SockpuppetPropertyOption(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SockpuppetPropertyOption'

    @property
    def max(self) -> int:
        """
        Maximum value used to select the option (inclusive)
        
        UserName: Max
        """
        ...
    @max.setter
    def max(self, value: int) -> None:
        ...

    @property
    def min(self) -> int:
        """
        Minimum value used to select the option (inclusive)
        
        UserName: Min
        """
        ...
    @min.setter
    def min(self, value: int) -> None:
        ...

    @property
    def name(self) -> str:
        """
        Human readable name of the option
        
        UserName: Name
        """
        ...
    @name.setter
    def name(self, value: str) -> None:
        ...


class SoftEdgePoint(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SoftEdgePoint'

    @property
    def pos(self) -> Vec2:
        ...
    @pos.setter
    def pos(self, value: Vec2) -> None:
        ...

    @property
    def unused(self) -> int:
        ...
    @unused.setter
    def unused(self, value: int) -> None:
        ...


class SoftEdgeTexture(ProceduralTexture):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SoftEdgeTexture'

    @property
    def alphaMode(self) -> int:
        """
        Allow generation of RGB or Alpha gradients
        
        Options: {0: 'Colour gradient', 1: 'Alpha gradient', 2: '4-channel gradient'}
        UserName: Alpha mode
        """
        ...
    @alphaMode.setter
    def alphaMode(self, value: int) -> None:
        ...

    @property
    def draw_control_points_on_output(self) -> int:
        """
        Options: {0: 'Off', 1: 'On'}
        UserName: Draw control points on output
        """
        ...
    @draw_control_points_on_output.setter
    def draw_control_points_on_output(self, value: int) -> None:
        ...

    @property
    def gamma(self) -> float:
        """
        UserName: Gamma
        """
        ...
    @gamma.setter
    def gamma(self, value: float) -> None:
        ...

    @property
    def lookup(self) -> LookupTexture:
        """
        UserName: Lookup
        """
        ...
    @lookup.setter
    def lookup(self, value: LookupTexture) -> None:
        ...

    @property
    def points(self) -> List[SoftEdgePoint]:
        ...
    @points.setter
    def points(self, value: List[SoftEdgePoint]) -> None:
        ...

    @property
    def size(self) -> Int2:
        """
        UserName: Size
        """
        ...
    @size.setter
    def size(self, value: Int2) -> None:
        ...

    @property
    def smoothstep(self) -> bool:
        """
        UserName: Smoothstep interpolation
        """
        ...
    @smoothstep.setter
    def smoothstep(self, value: bool) -> None:
        ...

    def insertPointAfter(self, iPoint: int) -> None:
        ...

    def removePoint(self, iPoint: int) -> bool:
        ...

    def renderPointsToFeed(self, localMat: Mat, feedRect: Rect, screenRect: Rect, rotation: float) -> None:
        ...

    def setPoints(self, indices: List[int], points: List[Vec2]) -> None:
        ...


class SoftEdgeUpdateSystem(Subsystem):
    """
    Subsystem to manage updates for soft edge textures when any lookup textures change across machines.
    """

    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class SolidTexture(ProceduralTexture):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SolidTexture'

    @property
    def colour(self) -> Colour:
        """
        UserName: Colour
        """
        ...
    @colour.setter
    def colour(self, value: Colour) -> None:
        ...

    def __init__(self) -> None:
        ...


class SortedRenderList(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def add(self, obj: SortedRenderObject) -> None:
        ...

    def render(self) -> None:
        ...


class SortedRenderObject(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class Space(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Space'

    def setAmbientOcclusionMode(self, mode: int) -> None:
        ...

    def stage(self) -> Stage:
        ...


class SparseStringArray(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    class CompressedEntry(_BlipValue):
        null: Self
        _classInfo: 'ClassInfo'



class SpatialCalibrationConfig(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SpatialCalibrationConfig'

    @property
    def calibrationSettings(self) -> SpatialCalibrationSettings:
        ...
    @calibrationSettings.setter
    def calibrationSettings(self, settings: SpatialCalibrationSettings) -> None:
        ...

    @property
    def initialSolvedLensPose(self) -> LensCalibrationPose:
        ...
    @initialSolvedLensPose.setter
    def initialSolvedLensPose(self, initialSolvedLensPose: LensCalibrationPose) -> None:
        ...

    @property
    def lensCalibrationRegistration(self) -> CameraTrackerRegistration:
        ...
    @lensCalibrationRegistration.setter
    def lensCalibrationRegistration(self, registration: CameraTrackerRegistration) -> None:
        ...

    @property
    def lensPoses(self) -> List[LensCalibrationPose]:
        ...
    @lensPoses.setter
    def lensPoses(self, lensPoses: List[LensCalibrationPose]) -> None:
        ...

    @property
    def observations(self) -> List[CameraCalibrationObservation]:
        """
        The observations made to calibrate the camera position & lens information
        """
        ...
    @observations.setter
    def observations(self, observations: List[CameraCalibrationObservation]) -> None:
        ...

    @property
    def registration(self) -> CameraTrackerRegistration:
        ...
    @registration.setter
    def registration(self, registration: CameraTrackerRegistration) -> None:
        ...

    @property
    def registrationLensPose(self) -> LensCalibrationPose:
        ...
    @registrationLensPose.setter
    def registrationLensPose(self, registrationLensPose: LensCalibrationPose) -> None:
        ...

    @property
    def resolution(self) -> Vec2:
        ...

    def calibrationReadSources(self) -> List[str]:
        ...

    def loadLensCalibration(self, calibrationReadSource: str) -> None:
        ...

    def projectedPointsAtObservation(self, obs: CameraCalibrationObservation, useSolvedPose: bool) -> List[Vec2]:
        ...

    def resetTracking(self) -> None:
        ...

    def saveLensCalibration(self, calibrationReadSource: str, resolution: Vec2) -> None:
        ...


class SpatialCalibrationFrameOfReference(AnimationAxisSettings):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SpatialCalibrationFrameOfReference'

    @property
    def originPos(self) -> Vec:
        ...

    @property
    def originRotation(self) -> Vec:
        ...

    @property
    def spatialCalibration(self) -> SpatialCalibrationConfig:
        """
        UserName: Spatial calibration
        """
        ...
    @spatialCalibration.setter
    def spatialCalibration(self, value: SpatialCalibrationConfig) -> None:
        ...


class SpatialCalibrationSettings(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def calibrationScope(self) -> int:
        """
        Lens and Registration: Optimise both the lens intrinsics and the camera-tracker registration.
        
        Lens Only: Optimise the lens intrinsics, take the position/rotation directly from the tracker.
        
        Registration Only: Optimise the registration, take lens intrinsics from the tracker (if provided) or camera.
        
        Lens and Manual Registration: Use regular observations to calibrate lens intrinsics and manual observations to calibrate registration.
        
        Registration and Focal Length: Optimise the registration and camera focal length, but not distortion parameters.
        
        Options: {0: 'Lens and Registration', 1: 'Lens Only', 2: 'Registration Only', 3: 'Lens and Manual Registration', 4: 'Registration and Focal Length'}
        UserName: Calibration scope
        """
        ...
    @calibrationScope.setter
    def calibrationScope(self, value: int) -> None:
        ...

    @property
    def detectOutliers(self) -> bool:
        """
        Detect outlier blobs and remove them from the calibration process.
        
        UserName: Detect outlier blobs
        """
        ...
    @detectOutliers.setter
    def detectOutliers(self, value: bool) -> None:
        ...

    @property
    def moveScreens(self) -> bool:
        """
        Allow the calibration to move screens in the virtual stage to match observations.
        
        UserName: Adjust screen positions
        """
        ...
    @moveScreens.setter
    def moveScreens(self, value: bool) -> None:
        ...

    @property
    def reoptimiseIntrinsics(self) -> bool:
        """
        UserName: Reoptimise intrinsics
        """
        ...
    @reoptimiseIntrinsics.setter
    def reoptimiseIntrinsics(self, value: bool) -> None:
        ...

    @property
    def trackerDistortionCompensation(self) -> int:
        """
        None: Near 1 to 1 tracker data, no modifications are performed other than basic smoothing operations.
        
        Single Gain: Universal scaling factor for all axes, eg. scale X/Y/Z all by 10.
        
        Gains: Scale individual axes as needed eg. scale X/Y/Z by 10/5/2.
        
        Gains and Skews: Similar to Gains with the addition of corrections to individual axes eg. the Y axis is slightly rotated compared to the X/Z axes, or not perpendicular to them.
        
        Matrix: Custom modifications to axes, only for highly advanced use.
        
        Options: {0: 'None', 1: 'Single Gain', 2: 'Gains', 3: 'Gains and Skews', 4: 'Matrix'}
        UserName: Tracker distortion compensation
        """
        ...
    @trackerDistortionCompensation.setter
    def trackerDistortionCompensation(self, value: int) -> None:
        ...


class SpatialMap(CameraPlate):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Spatial'

    @property
    def activeCamera(self) -> Camera:
        ...

    @property
    def engineCameraPos(self) -> Vec:
        ...

    @property
    def engineCameraRotation(self) -> Vec:
        ...

    @property
    def sceneOrigin(self) -> SceneOrigin:
        """
        Origin of the rendered scene relative to the stage
        
        UserName: Scene origin
        """
        ...
    @sceneOrigin.setter
    def sceneOrigin(self, origin: SceneOrigin) -> None:
        ...


class SpatialMapObject(ProjectionObject):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SpatialMapObject'

    def __init__(self) -> None:
        """
        Default constructor for SpatialMapObject
        """
        ...


class SpatialMapPoseUpgrade(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self, other: SpatialMapPoseUpgrade) -> None:
        """
        Copy constructor for SpatialMapPoseUpgrade
        """
        ...

    def __eq__(self, other: SpatialMapPoseUpgrade) -> bool:
        ...


class Spherical(Projection):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Spherical'

    @property
    def contentMode(self) -> int:
        """
        For realtime rendered content, the mapping can provide camera parameters in 3D mode.
        
        Options: {0: '2D', 1: '3D'}
        UserName: Content mode
        """
        ...
    @contentMode.setter
    def contentMode(self, value: int) -> None:
        ...

    @property
    def frameOfReference(self) -> AnimationAxisSettings:
        """
        UserName: Frame of reference
        """
        ...
    @frameOfReference.setter
    def frameOfReference(self, value: AnimationAxisSettings) -> None:
        ...

    @property
    def horizontalAngle(self) -> float:
        """
        Arc the horizontal dimension of the content is mapped over
        360 = full sphere
        180 = half sphere
        
        UserName: Horizontal arc
        """
        ...
    @horizontalAngle.setter
    def horizontalAngle(self, value: float) -> None:
        ...

    @property
    def pixelBorder(self) -> float:
        """
        UV islands on screens are expanded by this many pixels to cover edge sampling artifacts such as black fringing.
        Note that there must be an equivalent amount of empty space in the screen UV map to take advantage of this.
        
        UserName: Border expansion
        """
        ...
    @pixelBorder.setter
    def pixelBorder(self, value: float) -> None:
        ...

    @property
    def pos(self) -> Vec:
        """
        Position of the center of the sphere content is projected from
        
        UserName: Offset
        """
        ...
    @pos.setter
    def pos(self, value: Vec) -> None:
        ...

    @property
    def projectionMode(self) -> int:
        """
        Options: {0: 'Outwards', 1: 'Inwards'}
        UserName: Projection mode
        """
        ...
    @projectionMode.setter
    def projectionMode(self, value: int) -> None:
        ...

    @property
    def renderParams(self) -> SphericalRenderParams:
        ...
    @renderParams.setter
    def renderParams(self, value: SphericalRenderParams) -> None:
        ...

    @property
    def rot(self) -> Vec:
        """
        Rotation around x, y & z axes, in degrees
        
        UserName: Rotation
        """
        ...
    @rot.setter
    def rot(self, value: Vec) -> None:
        ...

    @property
    def verticalAngle(self) -> float:
        """
        Arc the vertical dimension of the content is mapped over
        180 = north pole to south pole
        90 = north pole to equator
        
        UserName: Vertical arc
        """
        ...
    @verticalAngle.setter
    def verticalAngle(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class SphericalCamera(Camera):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SphericalCamera'

    @property
    def sphericalImpl(self) -> SphericalCameraImpl:
        ...
    @sphericalImpl.setter
    def sphericalImpl(self, value: SphericalCameraImpl) -> None:
        ...


class SphericalCameraImpl(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def renderParams(self) -> SphericalRenderParams:
        ...
    @renderParams.setter
    def renderParams(self, value: SphericalRenderParams) -> None:
        ...


class SphericalCameraNavigationManipulator(NavigationManipulator):
    null: Self
    _classInfo: 'ClassInfo'


class SphericalProjectionObject(ProjectionObject):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SphericalProjectionObject'

    def __init__(self) -> None:
        """
        Default constructor for SphericalProjectionObject
        """
        ...


class SphericalRenderParams(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def fov(self) -> int:
        """
        Horizontal field of view of the spherical camera, in degrees
        
        Options: {0: '180', 1: '360'}
        UserName: Field of view (horizontal)
        """
        ...
    @fov.setter
    def fov(self, value: int) -> None:
        ...

    @property
    def isSpherical(self) -> bool:
        ...
    @isSpherical.setter
    def isSpherical(self, value: bool) -> None:
        ...

    @property
    def overlap(self) -> int:
        """
        Additional pixels to be rendered outside each cube face, then blended between faces when combining into spherical image.
        Used to avoid seams when using screen-space render effects.
        
        UserName: Overlap (pixels)
        """
        ...
    @overlap.setter
    def overlap(self, value: int) -> None:
        ...

    @property
    def padding(self) -> int:
        """
        Additional pixels to be rendered outside each cube face, then discarded when combining into spherical image.
        Used to avoid seams when using screen-space render effects.
        
        UserName: Padding (pixels)
        """
        ...
    @padding.setter
    def padding(self, value: int) -> None:
        ...


class SpinBitmap(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SpinBitmap'

    @property
    def angle(self) -> float:
        """
        UserName: Angle
        """
        ...
    @angle.setter
    def angle(self, value: float) -> None:
        ...

    @property
    def depth(self) -> int:
        """
        UserName: Depth
        """
        ...
    @depth.setter
    def depth(self, value: int) -> None:
        ...

    @property
    def depth_Blend(self) -> int:
        """
        Options: {0: 'Over', 1: 'Alpha', 2: 'Add', 3: 'Multiply'}
        UserName: Depth blend
        """
        ...
    @depth_Blend.setter
    def depth_Blend(self, value: int) -> None:
        ...

    @property
    def moveSpeed(self) -> Vec2:
        """
        UserName: Move speed
        """
        ...
    @moveSpeed.setter
    def moveSpeed(self, value: Vec2) -> None:
        ...

    @property
    def offset(self) -> Vec2:
        """
        UserName: Offset
        """
        ...
    @offset.setter
    def offset(self, value: Vec2) -> None:
        ...

    @property
    def rotation_speed(self) -> float:
        """
        UserName: Rotation speed
        """
        ...
    @rotation_speed.setter
    def rotation_speed(self, value: float) -> None:
        ...

    @property
    def scale(self) -> float:
        """
        UserName: Scale
        """
        ...
    @scale.setter
    def scale(self, value: float) -> None:
        ...

    @property
    def source(self) -> ContentSource:
        """
        UserName: Source
        """
        ...
    @source.setter
    def source(self, value: ContentSource) -> None:
        ...

    @property
    def tile(self) -> int:
        """
        Options: {0: 'No', 1: 'Yes'}
        UserName: Tile
        """
        ...
    @tile.setter
    def tile(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class Stage(Object):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Stage'

    @property
    def Adaptive_Tone_map(self) -> int:
        ...
    @Adaptive_Tone_map.setter
    def Adaptive_Tone_map(self, value: int) -> None:
        ...

    @property
    def Area_lighting(self) -> int:
        ...
    @Area_lighting.setter
    def Area_lighting(self, value: int) -> None:
        ...

    @property
    def Chicago_renderer(self) -> int:
        ...
    @Chicago_renderer.setter
    def Chicago_renderer(self, value: int) -> None:
        ...

    @property
    def Export_Frame_Of_Reference(self) -> AnimationAxisSettings:
        """
        Category: Animation
        UserName: Export frame of reference
        """
        ...
    @Export_Frame_Of_Reference.setter
    def Export_Frame_Of_Reference(self, value: AnimationAxisSettings) -> None:
        ...

    @property
    def Floor_normal_map(self) -> DxTexture:
        """
        Normal map for the floor
        
        UserName: Floor normal map
        """
        ...
    @Floor_normal_map.setter
    def Floor_normal_map(self, value: DxTexture) -> None:
        ...

    @property
    def Glow(self) -> int:
        ...
    @Glow.setter
    def Glow(self, value: int) -> None:
        ...

    @property
    def Local_Frame_Of_Reference(self) -> AnimationAxisSettings:
        """
        Category: Animation
        UserName: Local frame of reference
        """
        ...
    @Local_Frame_Of_Reference.setter
    def Local_Frame_Of_Reference(self, value: AnimationAxisSettings) -> None:
        ...

    @property
    def Reflections(self) -> int:
        ...
    @Reflections.setter
    def Reflections(self, value: int) -> None:
        ...

    @property
    def ambientColour(self) -> Colour:
        """
        The colour of the ambient light.
        It is recommended to select a 'full brightness' version of colours chosen, by changing Luminance in the colour picker to 1.
        
        Category: Scene
        UserName: Ambient colour
        """
        ...
    @ambientColour.setter
    def ambientColour(self, value: Colour) -> None:
        ...

    @property
    def ambientLight(self) -> float:
        """
        Brightness in lux that uniformly illuminates the scene. Sunlight at midday can be 111000 lux, while moonlight could be 0.25 lux
        
        Category: Scene
        UserName: Ambient brightness
        """
        ...
    @ambientLight.setter
    def ambientLight(self, value: float) -> None:
        ...

    @property
    def areaLightingBrightness(self) -> float:
        """
        UserName: Area lighting Brightness
        """
        ...
    @areaLightingBrightness.setter
    def areaLightingBrightness(self, value: float) -> None:
        ...

    @property
    def autoSoftEdge(self) -> int:
        """
        Toggle dynamic blend on outputs
        
        Options: {0: 'Off', 1: 'On'}
        Category: Projectors
        UserName: Dynamic blend
        """
        ...
    @autoSoftEdge.setter
    def autoSoftEdge(self, value: int) -> None:
        ...

    @property
    def blurPasses(self) -> int:
        """
        UserName: Blur Passes
        """
        ...
    @blurPasses.setter
    def blurPasses(self, value: int) -> None:
        ...

    @property
    def blurSigma(self) -> float:
        """
        UserName: Blur Sigma
        """
        ...
    @blurSigma.setter
    def blurSigma(self, value: float) -> None:
        ...

    @property
    def cameras(self) -> List[Camera]:
        """
        List of cameras viewing the stage
        
        Category: Cameras
        UserName: Cameras
        """
        ...
    @cameras.setter
    def cameras(self, value: List[Camera]) -> None:
        ...

    @property
    def debugObject(self) -> DbgObject:
        ...
    @debugObject.setter
    def debugObject(self, value: DbgObject) -> None:
        ...

    @property
    def depthFogDistance(self) -> float:
        """
        Depth fog distance
        
        UserName: Depth-fog distance
        """
        ...
    @depthFogDistance.setter
    def depthFogDistance(self, value: float) -> None:
        ...

    @property
    def dmxLights(self) -> List[FixtureGroup]:
        """
        List of lighting fixture grids driven via DMX
        
        Category: DMX Lights
        UserName: DMX Lights
        """
        ...
    @dmxLights.setter
    def dmxLights(self, value: List[FixtureGroup]) -> None:
        ...

    @property
    def dmxScreens(self) -> List[DmxScreen]:
        """
        List of emissive LED screens driven via DMX
        
        Category: DMX Screens
        UserName: DMX Screens
        """
        ...
    @dmxScreens.setter
    def dmxScreens(self, value: List[DmxScreen]) -> None:
        ...

    @property
    def exportOptions(self) -> List[ExportOptionsResource]:
        ...
    @exportOptions.setter
    def exportOptions(self, value: List[ExportOptionsResource]) -> None:
        ...

    @property
    def extraSerialisedObjects(self) -> List[Object]:
        ...
    @extraSerialisedObjects.setter
    def extraSerialisedObjects(self, value: List[Object]) -> None:
        ...

    @property
    def floorAlpha(self) -> float:
        """
        Floor alpha
        
        UserName: Floor alpha
        """
        ...
    @floorAlpha.setter
    def floorAlpha(self, value: float) -> None:
        ...

    @property
    def floorLuminosity(self) -> float:
        """
        Floor luminosity
        
        UserName: Floor luminosity
        """
        ...
    @floorLuminosity.setter
    def floorLuminosity(self, value: float) -> None:
        ...

    @property
    def floorNormalMapScalar(self) -> Vec2:
        """
        Floor normal map UV scalar
        
        UserName: Floor normal Map Scale
        """
        ...
    @floorNormalMapScalar.setter
    def floorNormalMapScalar(self, value: Vec2) -> None:
        ...

    @property
    def floor_plan(self) -> DxTexture:
        """
        Bitmap to display on the floor. Useful when working to a plan view diagram
        
        Category: Scene
        UserName: Floor plan
        """
        ...
    @floor_plan.setter
    def floor_plan(self, value: DxTexture) -> None:
        ...

    @property
    def floor_pos(self) -> Vec:
        """
        Floor position, in meters
        
        Category: Scene
        UserName: Floor position
        """
        ...
    @floor_pos.setter
    def floor_pos(self, value: Vec) -> None:
        ...

    @property
    def floor_size(self) -> Vec2:
        """
        Floor size, in meters
        
        Category: Scene
        UserName: Floor size
        """
        ...
    @floor_size.setter
    def floor_size(self, value: Vec2) -> None:
        ...

    @property
    def footprintsQuality(self) -> float:
        """
        Resolution multiplier for projector shadow buffers. 0 disables footprints
        
        Category: Scene
        UserName: Footprints Quality
        """
        ...
    @footprintsQuality.setter
    def footprintsQuality(self, value: float) -> None:
        ...

    @property
    def glowThreshold(self) -> float:
        """
        UserName: Glow threshold
        """
        ...
    @glowThreshold.setter
    def glowThreshold(self, value: float) -> None:
        ...

    @property
    def greenScreens(self) -> List[GreenScreen]:
        """
        Surfaces used for background removal
        
        Category: MR Sets
        UserName: Green screens
        """
        ...
    @greenScreens.setter
    def greenScreens(self, value: List[GreenScreen]) -> None:
        ...

    @property
    def heatMapMaxLux(self) -> float:
        ...
    @heatMapMaxLux.setter
    def heatMapMaxLux(self, value: float) -> None:
        ...

    @property
    def heatMapMinLux(self) -> float:
        ...
    @heatMapMinLux.setter
    def heatMapMinLux(self, value: float) -> None:
        ...

    @property
    def ledScreens(self) -> List[LedScreen]:
        """
        List of emissive LED screens
        
        Category: LED Screens
        UserName: LED Screens
        """
        ...
    @ledScreens.setter
    def ledScreens(self, value: List[LedScreen]) -> None:
        ...

    @property
    def lightBleedReduction(self) -> float:
        """
        UserName: Light Bleed Reduction
        """
        ...
    @lightBleedReduction.setter
    def lightBleedReduction(self, value: float) -> None:
        ...

    @property
    def lights(self) -> List[Light]:
        """
        Lights which affect Lux rendering
        
        Category: Scene
        UserName: Scene lights
        """
        ...
    @lights.setter
    def lights(self, value: List[Light]) -> None:
        ...

    @property
    def measurementsObject(self) -> MeasurementSet:
        ...
    @measurementsObject.setter
    def measurementsObject(self, value: MeasurementSet) -> None:
        ...

    @property
    def minVariance(self) -> float:
        """
        UserName: Min Variance
        """
        ...
    @minVariance.setter
    def minVariance(self, value: float) -> None:
        ...

    @property
    def mixedRealitySets(self) -> List[MixedRealitySet]:
        """
        List of mixed reality sets present
        
        Category: MR Sets
        UserName: MR Sets
        """
        ...
    @mixedRealitySets.setter
    def mixedRealitySets(self, value: List[MixedRealitySet]) -> None:
        ...

    @property
    def people(self) -> int:
        """
        Number of people to display
        
        Category: Scene
        UserName: People
        """
        ...
    @people.setter
    def people(self, value: int) -> None:
        ...

    @property
    def projectors(self) -> List[Projector]:
        """
        List of active projectors
        
        Category: Projectors
        UserName: Projectors
        """
        ...
    @projectors.setter
    def projectors(self, value: List[Projector]) -> None:
        ...

    @property
    def projfrustummultiplier(self) -> float:
        """
        Set this to multiply the far distance of the projector
        
        UserName: Projection Frustum Multiplier
        """
        ...
    @projfrustummultiplier.setter
    def projfrustummultiplier(self, value: float) -> None:
        ...

    @property
    def pucks(self) -> List[Puck]:
        ...
    @pucks.setter
    def pucks(self, value: List[Puck]) -> None:
        ...

    @property
    def scatterDensity(self) -> float:
        """
        UserName: Scattering Density
        """
        ...
    @scatterDensity.setter
    def scatterDensity(self, value: float) -> None:
        ...

    @property
    def sceneAmbientColour(self) -> Col:
        """
        UserName: Scene ambient colour
        """
        ...
    @sceneAmbientColour.setter
    def sceneAmbientColour(self, value: Col) -> None:
        ...

    @property
    def scrollScalar(self) -> float:
        """
        UserName: Normal map scroll scale
        """
        ...
    @scrollScalar.setter
    def scrollScalar(self, value: float) -> None:
        ...

    @property
    def shadowBias(self) -> float:
        """
        UserName: Shadow Bias
        """
        ...
    @shadowBias.setter
    def shadowBias(self, value: float) -> None:
        ...

    @property
    def skeletons(self) -> List[Skeleton]:
        """
        Category: Skeletons
        UserName: Skeletons
        """
        ...
    @skeletons.setter
    def skeletons(self, value: List[Skeleton]) -> None:
        ...

    @property
    def softEdgeProfile(self) -> AutoSoftEdgeProfile:
        """
        Configuration for dynamic blend profile
        
        Category: Projectors
        UserName: Blend Profile
        """
        ...
    @softEdgeProfile.setter
    def softEdgeProfile(self, value: AutoSoftEdgeProfile) -> None:
        ...

    @property
    def stageReferencePoints(self) -> ReferencePointSet:
        """
        Category: Skeletons
        """
        ...
    @stageReferencePoints.setter
    def stageReferencePoints(self, value: ReferencePointSet) -> None:
        ...

    @property
    def surfaces(self) -> List[Screen2]:
        """
        List of passive screen surfaces hit by projectors
        
        Category: Projection Surfaces
        UserName: Projection Surfaces
        """
        ...
    @surfaces.setter
    def surfaces(self, value: List[Screen2]) -> None:
        ...

    @property
    def twoPoint5DPlates(self) -> List[TwoPoint5DPlate]:
        ...
    @twoPoint5DPlates.setter
    def twoPoint5DPlates(self, value: List[TwoPoint5DPlate]) -> None:
        ...

    @property
    def venue(self) -> Venue:
        """
        List of props and buildings to display
        
        Category: Scene
        UserName: Venue
        """
        ...
    @venue.setter
    def venue(self, value: Venue) -> None:
        ...

    def addReferencePoint(self, pt: ReferencePoint) -> None:
        ...

    def display(self, i: int) -> Display:
        ...

    def exportStage(self, path: Path) -> None:
        ...

    def importObjectsFromTable(self, table: Table) -> None:
        ...

    def luxTicks(self) -> List[float]:
        ...

    def nDisplays(self) -> int:
        ...

    def removeReferencePoint(self, pt: ReferencePoint) -> None:
        ...

    def removeReferencePoints(self, pts: List[ReferencePoint]) -> List[ReferencePoint]:
        ...

    def simulatingStackedOutputs(self) -> bool:
        ...

    def simulatingWarps(self) -> bool:
        ...


class StageKinetiksMoveCatDriver(UdpReceiverDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'StageKinetiksMoveCatDriver'

    @property
    def protocolVersion(self) -> int:
        """
        Default port for V2 is 16000 and for V3 it is 16200
        
        Options: {0: 'V2', 1: 'V3'}
        UserName: Protocol version
        """
        ...
    @protocolVersion.setter
    def protocolVersion(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class StageRenderModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'StageRenderModule'

    @property
    def artificialLatency(self) -> int:
        """
        Add an artificial latency (in frames) for testing purposes
        
        UserName: Artificial latency
        """
        ...
    @artificialLatency.setter
    def artificialLatency(self, value: int) -> None:
        ...

    @property
    def renderLayer(self) -> int:
        """
        Only render screens marked with this render layer in the stage
        
        Options: {0: 'Backplate', 1: 'Frontplate'}
        UserName: Render layer
        """
        ...
    @renderLayer.setter
    def renderLayer(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class StageRenderSettings(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'StageRenderSettings'
    Heatmap: Final = 2
    Lux: Final = 1
    Schematic: Final = 0

    @property
    def backgroundColour(self) -> Colour:
        """
        Category: Renderer
        UserName: Background colour
        """
        ...
    @backgroundColour.setter
    def backgroundColour(self, colour: Colour) -> None:
        ...

    @property
    def drawBeams(self) -> int:
        """
        Selects how projector beams are drawn
        
        Options: {0: 'Hidden', 1: 'Beam', 2: 'Wire', 3: 'Beam And Wire'}
        Category: Object Visibility
        UserName: Projectors
        """
        ...
    @drawBeams.setter
    def drawBeams(self, value: int) -> None:
        ...

    @property
    def drawCameraLabels(self) -> bool:
        """
        Toggle visibility
        
        Category: Label Visibility
        UserName: Camera labels
        """
        ...
    @drawCameraLabels.setter
    def drawCameraLabels(self, value: bool) -> None:
        ...

    @property
    def drawCameras(self) -> bool:
        """
        Toggle display of camera meshes
        
        Category: Object Visibility
        UserName: Cameras
        """
        ...
    @drawCameras.setter
    def drawCameras(self, value: bool) -> None:
        ...

    @property
    def drawDMXLightLabels(self) -> bool:
        """
        Toggle visibility
        
        Category: Label Visibility
        UserName: DMX Light labels
        """
        ...
    @drawDMXLightLabels.setter
    def drawDMXLightLabels(self, value: bool) -> None:
        ...

    @property
    def drawDMXScreenLabels(self) -> bool:
        """
        Toggle visibility
        
        Category: Label Visibility
        UserName: DMX Screen labels
        """
        ...
    @drawDMXScreenLabels.setter
    def drawDMXScreenLabels(self, value: bool) -> None:
        ...

    @property
    def drawFixtures(self) -> bool:
        """
        Toggle visibility of fixtures
        
        Category: Object Visibility
        UserName: Fixtures
        """
        ...
    @drawFixtures.setter
    def drawFixtures(self, value: bool) -> None:
        ...

    @property
    def drawFloor(self) -> bool:
        """
        Toggle visibility of floor
        
        Category: Object Visibility
        UserName: Floor
        """
        ...
    @drawFloor.setter
    def drawFloor(self, value: bool) -> None:
        ...

    @property
    def drawLEDScreenLabels(self) -> bool:
        """
        Toggle visibility
        
        Category: Label Visibility
        UserName: LED Screen labels
        """
        ...
    @drawLEDScreenLabels.setter
    def drawLEDScreenLabels(self, value: bool) -> None:
        ...

    @property
    def drawMeasurements(self) -> bool:
        """
        Toggle display of measured distances. Alt-drag between two points to add a measurement; alt-right-click to remove
        
        Category: Object Visibility
        UserName: Measurements
        """
        ...
    @drawMeasurements.setter
    def drawMeasurements(self, value: bool) -> None:
        ...

    @property
    def drawMeshNormals(self) -> bool:
        """
        Toggle display of normals for selected meshes
        
        Category: Object Visibility
        UserName: Mesh normals
        """
        ...
    @drawMeshNormals.setter
    def drawMeshNormals(self, value: bool) -> None:
        ...

    @property
    def drawMovementSpeed(self) -> bool:
        """
        Toggle display of speeds for moving screens
        
        Category: Object Visibility
        UserName: Movement speed
        """
        ...
    @drawMovementSpeed.setter
    def drawMovementSpeed(self, value: bool) -> None:
        ...

    @property
    def drawProjectionSurfaceLabels(self) -> bool:
        """
        Toggle visibility
        
        Category: Label Visibility
        UserName: Projection Surface labels
        """
        ...
    @drawProjectionSurfaceLabels.setter
    def drawProjectionSurfaceLabels(self, value: bool) -> None:
        ...

    @property
    def drawProjectorLabels(self) -> bool:
        """
        Toggle visibility
        
        Category: Label Visibility
        UserName: Projector labels
        """
        ...
    @drawProjectorLabels.setter
    def drawProjectorLabels(self, value: bool) -> None:
        ...

    @property
    def drawPropLabels(self) -> bool:
        """
        Toggle visibility
        
        Category: Label Visibility
        UserName: Prop labels
        """
        ...
    @drawPropLabels.setter
    def drawPropLabels(self, value: bool) -> None:
        ...

    @property
    def drawPucks(self) -> bool:
        """
        Toggle visibility of people on floor
        
        Category: Object Visibility
        UserName: People
        """
        ...
    @drawPucks.setter
    def drawPucks(self, value: bool) -> None:
        ...

    @property
    def drawRangeFinder(self) -> bool:
        """
        Toggle visibility of range finder overlay
        
        Category: Object Visibility
        UserName: Range finder
        """
        ...
    @drawRangeFinder.setter
    def drawRangeFinder(self, value: bool) -> None:
        ...

    @property
    def drawReferencePointLabels(self) -> bool:
        """
        Toggle display of labels of reference points
        
        Category: Label Visibility
        UserName: Reference point labels
        """
        ...
    @drawReferencePointLabels.setter
    def drawReferencePointLabels(self, value: bool) -> None:
        ...

    @property
    def drawReferencePoints(self) -> bool:
        """
        Toggle display of reference points
        
        Category: Object Visibility
        UserName: Reference points
        """
        ...
    @drawReferencePoints.setter
    def drawReferencePoints(self, value: bool) -> None:
        ...

    @property
    def drawSkeletonLabels(self) -> bool:
        """
        Toggle visibility
        
        Category: Label Visibility
        UserName: Skeleton labels
        """
        ...
    @drawSkeletonLabels.setter
    def drawSkeletonLabels(self, value: bool) -> None:
        ...

    @property
    def drawSkeletons(self) -> bool:
        """
        Toggle display of skeletons
        
        Category: Object Visibility
        UserName: Skeletons
        """
        ...
    @drawSkeletons.setter
    def drawSkeletons(self, value: bool) -> None:
        ...

    @property
    def drawStackedProjectors(self) -> bool:
        """
        Toggle visibility
        
        UserName: Stacked Projectors
        """
        ...
    @drawStackedProjectors.setter
    def drawStackedProjectors(self, value: bool) -> None:
        ...

    @property
    def drawTrackedPointLabels(self) -> bool:
        """
        Toggle display of tracked point labels
        
        Category: Label Visibility
        UserName: Tracked point labels
        """
        ...
    @drawTrackedPointLabels.setter
    def drawTrackedPointLabels(self, value: bool) -> None:
        ...

    @property
    def drawTrackedPoints(self) -> bool:
        """
        Toggle display of incoming tracked points (eg: BlackTrax LEDs)
        
        Category: Object Visibility
        UserName: Tracked points
        """
        ...
    @drawTrackedPoints.setter
    def drawTrackedPoints(self, value: bool) -> None:
        ...

    @property
    def drawVenue(self) -> bool:
        """
        Toggle visibility of venue
        
        Category: Object Visibility
        UserName: Venue
        """
        ...
    @drawVenue.setter
    def drawVenue(self, value: bool) -> None:
        ...

    @property
    def exposure(self) -> float:
        """
        Camera white point in Lux
        
        Category: Renderer
        UserName: White Point
        """
        ...
    @exposure.setter
    def exposure(self, value: float) -> None:
        ...

    @property
    def extraTransparencyPasses(self) -> int:
        """
        Number of extra transparency renders to add detail to transparent objects.
        Setting this to 0 handles one layer of transparency.
        Increasing the value will impact performance.
        
        Category: Renderer
        UserName: Transparency accuracy
        """
        ...
    @extraTransparencyPasses.setter
    def extraTransparencyPasses(self, n: int) -> None:
        ...

    @property
    def faceCullMode(self) -> int:
        """
        Can optionally skip rendering faces with normals pointing away (back) or toward (front) the camera.
        
        Options: {0: 'None', 1: 'Front', 2: 'Back'}
        Category: Renderer
        UserName: Face Cull Mode
        """
        ...
    @faceCullMode.setter
    def faceCullMode(self, mode: int) -> None:
        ...

    @property
    def glowBrightness(self) -> float:
        """
        Impact of glow effect in Lux renderer
        
        Category: Renderer
        UserName: Glow Brightness
        """
        ...
    @glowBrightness.setter
    def glowBrightness(self, v: float) -> None:
        ...

    @property
    def light(self) -> int:
        """
        How to display the light levels of the scene
        Luminance: as seen by the camera
        Illuminance: as seen by a light meter pointing at the light sources
        
        Options: {0: 'Luminance', 1: 'Illuminance'}
        Category: Renderer
        UserName: Light
        """
        ...
    @light.setter
    def light(self, value: int) -> None:
        ...

    @property
    def msaaMode(self) -> int:
        """
        Options: {0: 'None', 1: 'MSAA 2X', 2: 'MSAA 4X', 3: 'MSAA 8X'}
        Category: Renderer
        UserName: Anti-aliasing
        """
        ...
    @msaaMode.setter
    def msaaMode(self, msaaMode: int) -> None:
        ...

    @property
    def renderer(self) -> int:
        """
        Schematic shows content; Lux shows what the content would actually look like in the real world; Heatmap shows lux-levels
        
        Options: {0: 'Schematic', 1: 'Lux', 2: 'Heatmap', 3: 'Depth'}
        Category: Renderer
        UserName: Renderer
        """
        ...
    @renderer.setter
    def renderer(self, renderer: int) -> None:
        ...

    @property
    def ssaoDownsample(self) -> int:
        """
        UserName: Down Sample
        """
        ...
    @ssaoDownsample.setter
    def ssaoDownsample(self, value: int) -> None:
        ...

    @property
    def ssaoKernelSize(self) -> int:
        """
        UserName: Kernel Size
        """
        ...
    @ssaoKernelSize.setter
    def ssaoKernelSize(self, value: int) -> None:
        ...

    @property
    def ssaoNoiseSize(self) -> int:
        """
        UserName: Noise Size
        """
        ...
    @ssaoNoiseSize.setter
    def ssaoNoiseSize(self, value: int) -> None:
        ...

    @property
    def ssaoPower(self) -> float:
        """
        Power of the ambient occlusion effect in Lux renderer. 0 disables it
        
        Category: Renderer
        UserName: Ambient Occlusion Power
        """
        ...
    @ssaoPower.setter
    def ssaoPower(self, value: float) -> None:
        ...

    @property
    def ssaoRadius(self) -> float:
        """
        UserName: Radius
        """
        ...
    @ssaoRadius.setter
    def ssaoRadius(self, value: float) -> None:
        ...

    @property
    def virtualObjectAlpha(self) -> float:
        """
        Opacity of virtual objects (in render layers other than On-Stage or Off-Stage)
        
        Category: Object Visibility
        UserName: Virtual object alpha
        """
        ...
    @virtualObjectAlpha.setter
    def virtualObjectAlpha(self, value: float) -> None:
        ...

    def appliesToOmnicalCamera(self) -> bool:
        ...

    def appliesToSphericalCamera(self) -> bool:
        ...

    def appliesToVisualiserCamera(self) -> bool:
        ...

    def setAllLabelVisibility(self, visible: bool) -> None:
        ...


class State(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    Busy: Final = 3
    Connection: Final = 0
    Devices: Final = 3
    Error: Final = 2
    Genlock: Final = 2
    Offline: Final = 4
    Output: Final = 1
    Ready: Final = 0
    Warning: Final = 1

    @property
    def category(self) -> int:
        ...

    @property
    def detail(self) -> str:
        ...

    @property
    def name(self) -> str:
        ...

    @property
    def severity(self) -> int:
        ...


class StatusSharer(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class StatusUI(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class StreamIdentifier(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def streamHandle(self) -> int:
        ...
    @streamHandle.setter
    def streamHandle(self, value: int) -> None:
        ...

    @property
    def streamName(self) -> str:
        ...

    @property
    def workloadId(self) -> int:
        ...
    @workloadId.setter
    def workloadId(self, value: int) -> None:
        ...


class StreamObject(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def currentAssignmentInfo(self) -> str:
        """
        Provide information about the role this stream plays in the workload
        
        Category: Status
        UserName: Assignment info
        """
        ...

    @property
    def currentTransportInfo(self) -> str:
        """
        Provide information about active video transport parameters
        
        Category: Status
        UserName: Transport info
        """
        ...

    @property
    def didReceiveFrameLocallyRecently(self) -> bool:
        """
        Category: Status
        UserName: Receiving locally
        """
        ...

    @property
    def getWorkloadFriendlyName(self) -> str:
        """
        Provide information on the workload from which the stream is sourced
        
        Category: Status
        UserName: Workload name
        """
        ...

    @property
    def isStreamOnline(self) -> bool:
        """
        Category: Status
        UserName: Currently online
        """
        ...

    @property
    def latestFrame(self) -> RemoteStreamFrame:
        ...

    @property
    def latestFrameTexture(self) -> DxTexture:
        ...

    @property
    def machineName(self) -> str:
        ...

    @property
    def streamHandle(self) -> int:
        ...

    @property
    def streamHandleString(self) -> str:
        ...

    @property
    def streamName(self) -> str:
        ...

    @property
    def workloadId(self) -> int:
        ...

    @property
    def workloadInstance(self) -> int:
        ...


class StreamStatusManager(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def getWorkloadReceiveStatuses(self, workload: int) -> List[SubscribedStreamStatus]:
        ...


class StreamStatusMsg(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def message(self) -> str:
        ...

    @property
    def priority(self) -> int:
        ...

    def __init__(self, other: StreamStatusMsg) -> None:
        """
        Copy constructor for StreamStatusMsg
        """
        ...


class StreamingACNSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class StringProjectorControlCommand(ProjectorControlCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'StringProjectorControlCommand'

    @property
    def string(self) -> ControlString:
        """
        UserName: Control string
        """
        ...
    @string.setter
    def string(self, value: ControlString) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for StringProjectorControlCommand
        """
        ...


class StringProjectorControlDevice(ProjectorControlDevice):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'StringProjectorControlDevice'

    @property
    def control_device(self) -> ControlDevice:
        """
        Category: Device
        UserName: Control device
        """
        ...
    @control_device.setter
    def control_device(self, value: ControlDevice) -> None:
        ...

    @property
    def defaults(self) -> List[StringProjectorControlCommand]:
        """
        Category: Commands
        UserName: Default commands
        """
        ...
    @defaults.setter
    def defaults(self, value: List[StringProjectorControlCommand]) -> None:
        ...

    @property
    def focus_command(self) -> ControlString:
        """
        Category: Focus
        UserName: Focus command
        """
        ...
    @focus_command.setter
    def focus_command(self, value: ControlString) -> None:
        ...

    @property
    def focus_range(self) -> Vec2:
        """
        Category: Focus
        UserName: Focus range
        """
        ...
    @focus_range.setter
    def focus_range(self, value: Vec2) -> None:
        ...

    @property
    def intensity_command(self) -> ControlString:
        """
        Category: Intensity
        UserName: Intensity command
        """
        ...
    @intensity_command.setter
    def intensity_command(self, value: ControlString) -> None:
        ...

    @property
    def intensity_range(self) -> Vec2:
        """
        Category: Intensity
        UserName: Intensity range
        """
        ...
    @intensity_range.setter
    def intensity_range(self, value: Vec2) -> None:
        ...

    @property
    def lens_shift_h_command(self) -> ControlString:
        """
        Category: Lens Shift
        UserName: Horizontal shift command
        """
        ...
    @lens_shift_h_command.setter
    def lens_shift_h_command(self, value: ControlString) -> None:
        ...

    @property
    def lens_shift_h_range(self) -> Vec2:
        """
        Category: Lens Shift
        UserName: Horizontal shift range
        """
        ...
    @lens_shift_h_range.setter
    def lens_shift_h_range(self, value: Vec2) -> None:
        ...

    @property
    def lens_shift_v_command(self) -> ControlString:
        """
        Category: Lens Shift
        UserName: Vertical shift command
        """
        ...
    @lens_shift_v_command.setter
    def lens_shift_v_command(self, value: ControlString) -> None:
        ...

    @property
    def lens_shift_v_range(self) -> Vec2:
        """
        Category: Lens Shift
        UserName: Vertical shift range
        """
        ...
    @lens_shift_v_range.setter
    def lens_shift_v_range(self, value: Vec2) -> None:
        ...

    @property
    def pan_command(self) -> ControlString:
        """
        Category: Pan/tilt
        UserName: Pan command
        """
        ...
    @pan_command.setter
    def pan_command(self, value: ControlString) -> None:
        ...

    @property
    def pan_range(self) -> Vec2:
        """
        Category: Pan/tilt
        UserName: Pan range
        """
        ...
    @pan_range.setter
    def pan_range(self, value: Vec2) -> None:
        ...

    @property
    def shutdown(self) -> List[StringProjectorControlCommand]:
        """
        Category: Commands
        UserName: Shutdown commands
        """
        ...
    @shutdown.setter
    def shutdown(self, value: List[StringProjectorControlCommand]) -> None:
        ...

    @property
    def startup(self) -> List[StringProjectorControlCommand]:
        """
        Category: Commands
        UserName: Startup commands
        """
        ...
    @startup.setter
    def startup(self, value: List[StringProjectorControlCommand]) -> None:
        ...

    @property
    def tilt_command(self) -> ControlString:
        """
        Category: Pan/tilt
        UserName: Tilt command
        """
        ...
    @tilt_command.setter
    def tilt_command(self, value: ControlString) -> None:
        ...

    @property
    def tilt_range(self) -> Vec2:
        """
        Category: Pan/tilt
        UserName: Tilt range
        """
        ...
    @tilt_range.setter
    def tilt_range(self, value: Vec2) -> None:
        ...

    @property
    def zoom_command(self) -> ControlString:
        """
        Category: Zoom
        UserName: Zoom command
        """
        ...
    @zoom_command.setter
    def zoom_command(self, value: ControlString) -> None:
        ...

    @property
    def zoom_range(self) -> Vec2:
        """
        Category: Zoom
        UserName: Zoom range
        """
        ...
    @zoom_range.setter
    def zoom_range(self, value: Vec2) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for StringProjectorControlDevice
        """
        ...


class StringSequence(KeySequence):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'StringSequence'

    def setString(self, ik: int, s: str) -> None:
        ...

    def setStringAtT(self, t: float, s: str) -> None:
        ...


class StrobeModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'StrobeModule'

    @property
    def attack(self) -> float:
        """
        UserName: Attack
        """
        ...
    @attack.setter
    def attack(self, value: float) -> None:
        ...

    @property
    def cycle(self) -> float:
        """
        UserName: Cycle
        """
        ...
    @cycle.setter
    def cycle(self, value: float) -> None:
        ...

    @property
    def decay(self) -> float:
        """
        UserName: Decay
        """
        ...
    @decay.setter
    def decay(self, value: float) -> None:
        ...

    @property
    def locked(self) -> int:
        """
        Options: {0: 'No', 1: 'Yes'}
        UserName: Locked
        """
        ...
    @locked.setter
    def locked(self, value: int) -> None:
        ...

    @property
    def min_brightness(self) -> float:
        """
        UserName: Minimum brightness
        """
        ...
    @min_brightness.setter
    def min_brightness(self, value: float) -> None:
        ...

    @property
    def proportion(self) -> float:
        """
        UserName: Proportion
        """
        ...
    @proportion.setter
    def proportion(self, value: float) -> None:
        ...

    @property
    def randomise(self) -> int:
        """
        Options: {0: 'No', 1: 'Yes'}
        UserName: Randomise
        """
        ...
    @randomise.setter
    def randomise(self, value: int) -> None:
        ...

    @property
    def rate(self) -> float:
        """
        UserName: Rate
        """
        ...
    @rate.setter
    def rate(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class StructuredLightRenderSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'
    ImageTypeAlignment: Final = 5
    ImageTypeAlignmentGuideLines: Final = 6
    ImageTypeBlack: Final = 1
    ImageTypeFocus: Final = 3
    ImageTypeGrid: Final = 4
    ImageTypeWhite: Final = 2

    def __init__(self) -> None:
        ...


class StsAxisState(TrackingScalarState):
    null: Self
    _classInfo: 'ClassInfo'


class StsDriver(UdpReceiverDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'StsDriver'

    def __init__(self) -> None:
        ...


class StypeDriver(UdpReceiverDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'StypeDriver'

    @property
    def enablePacketTimingGraph(self) -> bool:
        """
        Log incoming packet times to a graph
        
        UserName: Enable packet timing graph
        """
        ...
    @enablePacketTimingGraph.setter
    def enablePacketTimingGraph(self, value: bool) -> None:
        ...

    def __init__(self) -> None:
        ...


class SubscribeMessage(Message):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def eventType(self) -> str:
        ...
    @eventType.setter
    def eventType(self, value: str) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: SubscribeMessage) -> None:
        """
        Copy constructor for SubscribeMessage
        """
        ...


class SubscribedStreamStatus(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def activeLatency(self) -> float:
        ...
    @activeLatency.setter
    def activeLatency(self, value: float) -> None:
        ...

    @property
    def receiver(self) -> Machine:
        ...
    @receiver.setter
    def receiver(self, value: Machine) -> None:
        ...

    @property
    def recentDuration(self) -> float:
        ...
    @recentDuration.setter
    def recentDuration(self, value: float) -> None:
        ...

    @property
    def recentReceived(self) -> int:
        ...
    @recentReceived.setter
    def recentReceived(self, value: int) -> None:
        ...

    @property
    def recentSent(self) -> int:
        ...
    @recentSent.setter
    def recentSent(self, value: int) -> None:
        ...

    @property
    def streamIdentifier(self) -> StreamIdentifier:
        ...
    @streamIdentifier.setter
    def streamIdentifier(self, value: StreamIdentifier) -> None:
        ...

    @property
    def subscribeSuccessful(self) -> bool:
        ...
    @subscribeSuccessful.setter
    def subscribeSuccessful(self, value: bool) -> None:
        ...

    @property
    def subscriptionWanted(self) -> bool:
        ...
    @subscriptionWanted.setter
    def subscriptionWanted(self, value: bool) -> None:
        ...

    @property
    def tLastDropped(self) -> float:
        ...
    @tLastDropped.setter
    def tLastDropped(self, value: float) -> None:
        ...

    @property
    def tLastError(self) -> float:
        ...
    @tLastError.setter
    def tLastError(self, value: float) -> None:
        ...

    @property
    def tLastErrorMessage(self) -> str:
        ...
    @tLastErrorMessage.setter
    def tLastErrorMessage(self, value: str) -> None:
        ...

    @property
    def tLastReceived(self) -> float:
        ...
    @tLastReceived.setter
    def tLastReceived(self, value: float) -> None:
        ...

    @property
    def totalDroppedPackets(self) -> int:
        ...
    @totalDroppedPackets.setter
    def totalDroppedPackets(self, value: int) -> None:
        ...

    @property
    def totalReceived(self) -> int:
        ...
    @totalReceived.setter
    def totalReceived(self, value: int) -> None:
        ...

    def generateStreamStatusMsg(self, ignoreDedicatedDirectorStatus: bool) -> StreamStatusMsg:
        ...

    def recentReceivedFPS(self) -> float:
        ...

    def recentSentFPS(self) -> float:
        ...


class SubscriptionLookupError(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def errorType(self) -> str:
        ...
    @errorType.setter
    def errorType(self, value: str) -> None:
        ...

    @property
    def message(self) -> str:
        ...
    @message.setter
    def message(self, value: str) -> None:
        ...

    def __init__(self, other: SubscriptionLookupError) -> None:
        """
        Copy constructor for SubscriptionLookupError
        """
        ...


class SubscriptionManager(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class Subsystem(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def isEnabled(self) -> bool:
        ...

    @property
    def name(self) -> str:
        ...

    def __repr__(self) -> Any:
        """
        String representation of the subsystem
        """
        ...


class SubsystemManager(ISubsystemManager):
    null: Self
    _classInfo: 'ClassInfo'

    def getSystem(self, type: type[SubsystemT]) -> SubsystemT:
        ...

    def maybeGetSystem(self, type: type[SubsystemT]) -> SubsystemT | None:
        ...

    def subsystems(self) -> List[Subsystem]:
        ...


class SuperLayer(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SuperLayer'

    @property
    def container(self) -> GroupLayer:
        ...
    @container.setter
    def container(self, value: GroupLayer) -> None:
        ...

    @property
    def crashed(self) -> bool:
        ...

    @property
    def expressionReports(self) -> List[ResourceReport]:
        ...

    @property
    def indicator(self) -> str:
        ...

    @property
    def isDormant(self) -> bool:
        ...

    @property
    def isShared(self) -> bool:
        ...

    @property
    def name(self) -> str:
        ...
    @name.setter
    def name(self, s: str) -> None:
        ...

    @property
    def owners(self) -> List[Resource]:
        ...

    @property
    def render(self) -> bool:
        ...
    @render.setter
    def render(self, value: bool) -> None:
        ...

    @property
    def renderEnable(self) -> bool:
        ...
    @renderEnable.setter
    def renderEnable(self, onOff: bool) -> None:
        ...

    @property
    def resourceReports(self) -> List[ResourceReport]:
        ...

    @property
    def tEnd(self) -> float:
        ...

    @property
    def tLength(self) -> float:
        ...
    @tLength.setter
    def tLength(self, t: float) -> None:
        ...

    @property
    def tStart(self) -> float:
        ...
    @tStart.setter
    def tStart(self, t: float) -> None:
        ...

    @property
    def track(self) -> SuperTrack:
        ...

    def __repr__(self) -> Any:
        """
        String representation of the SuperLayer
        """
        ...

    def contains(self, t: float) -> bool:
        ...

    def exportToApx(self, filename: str) -> None:
        ...

    def getAllLayers(self) -> List[SuperLayer]:
        ...

    def getLeafLayers(self) -> List[Layer]:
        ...

    def isExternallyControlled(self) -> bool:
        ...

    def overlaps(self, l: SuperLayer) -> bool:
        ...

    def setExtents(self, newStart: float, newEnd: float) -> None:
        ...


class SuperResolutionModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SuperResolutionModule'

    @property
    def sharpness(self) -> float:
        """
        UserName: Sharpness
        """
        ...
    @sharpness.setter
    def sharpness(self, value: float) -> None:
        ...

    @property
    def source(self) -> ContentSource:
        """
        UserName: Source
        """
        ...
    @source.setter
    def source(self, value: ContentSource) -> None:
        ...

    def __init__(self) -> None:
        ...


class SuperTrack(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SuperTrack'
    EditEnd: Final = 1
    EditStart: Final = 0
    Next: Final = 1
    Prev: Final = -1

    class AudioSection(_BlipValue):
        null: Self
        _classInfo: 'ClassInfo'


    @property
    def DMX_fixtures(self) -> int:
        """
        Options: {0: 'Off', 1: 'On'}
        """
        ...
    @DMX_fixtures.setter
    def DMX_fixtures(self, value: int) -> None:
        ...

    @property
    def arrows(self) -> List[Arrow]:
        ...
    @arrows.setter
    def arrows(self, value: List[Arrow]) -> None:
        ...

    @property
    def audio_sections(self) -> List[AudioSection]:
        ...
    @audio_sections.setter
    def audio_sections(self, value: List[AudioSection]) -> None:
        ...

    @property
    def bpm(self) -> float:
        ...
    @bpm.setter
    def bpm(self, value: float) -> None:
        ...

    @property
    def clock_divide(self) -> float:
        ...
    @clock_divide.setter
    def clock_divide(self, value: float) -> None:
        ...

    @property
    def count_in_beats(self) -> float:
        ...
    @count_in_beats.setter
    def count_in_beats(self, value: float) -> None:
        ...

    @property
    def layerColourRuleSet(self) -> LayerColourRuleSet:
        """
        Customize how layers appear on the timeline
        
        UserName: Layer colour rules
        """
        ...
    @layerColourRuleSet.setter
    def layerColourRuleSet(self, value: LayerColourRuleSet) -> None:
        ...

    @property
    def layers(self) -> List[SuperLayer]:
        ...
    @layers.setter
    def layers(self, value: List[SuperLayer]) -> None:
        ...

    @property
    def lengthInBeats(self) -> float:
        ...
    @lengthInBeats.setter
    def lengthInBeats(self, nBeats: float) -> None:
        ...

    @property
    def lengthInSec(self) -> float:
        ...

    @property
    def quant(self) -> int:
        """
        Options: {0: '0', 1: '1', 2: '4'}
        """
        ...
    @quant.setter
    def quant(self, value: int) -> None:
        ...

    def addLayer(self, l: SuperLayer, t: float, iLayer: int) -> None:
        ...

    def addLayerToGroup(self, l: SuperLayer, g: GroupLayer) -> None:
        ...

    def addNewLayer(self, moduleType: Type, t: float, length: float, name: str) -> Layer:
        ...

    def audioTrack(self, iBeat: float) -> AudioTrack:
        ...

    def beatIsEnd(self, iBeat: float) -> bool:
        ...

    def beatIsStart(self, iBeat: float) -> bool:
        ...

    def beatIsValid(self, iBeat: float) -> bool:
        ...

    def beatToTime(self, iBeat: float) -> float:
        ...

    def bpmAt(self, iBeat: float) -> float:
        ...

    def clearArrows(self) -> None:
        ...

    def contains(self, sl: SuperLayer, searchLeafOnly: bool = True) -> bool:
        """
        Whether the track contains the layer sl
        
        :param sl: The superlayer to search for
        :param searchLeafOnly: If true, only leaf layers will be searched, otherwise all layers (including GroupLayer instances) will be searched.
        
        return: Whether the superlayer is found in the track
        """
        ...

    def duplicateLayer(self, layer: SuperLayer, duplicateName: str) -> SuperLayer:
        ...

    def duplicateLayerIndex(self, layer: SuperLayer, duplicateName: str, index: int) -> SuperLayer:
        ...

    def enableRender(self, onOff: bool) -> None:
        ...

    def extractLayerFromGroup(self, l: SuperLayer) -> None:
        ...

    def findLayerByName(self, name: str) -> Layer:
        ...

    def findLayerIndex(self, layer: SuperLayer) -> int:
        ...

    def getLayersAssociatedWithPatch(self, patch: ControlPatch) -> List[Layer]:
        ...

    def getLeafLayers(self, type: Type) -> List[Layer]:
        ...

    def globalBeatToLocalBeat(self, tGlobal: float) -> float:
        ...

    def groupLayers(self, layers: List[SuperLayer], name: str, smart: bool) -> None:
        ...

    def makeArrow(self, src: Layer, dest: Layer) -> None:
        ...

    def moveLayerToIndex(self, l: SuperLayer, newIndex: int) -> None:
        ...

    def moveLayerToIndexInGroup(self, l: SuperLayer, newIndex: int) -> None:
        ...

    def moveLayersDown(self, layers: List[SuperLayer]) -> None:
        ...

    def moveLayersUp(self, layers: List[SuperLayer]) -> None:
        ...

    def nLayers(self) -> int:
        ...

    def removeArrow(self, arrow: Arrow) -> None:
        ...

    def removeInvalidLayers(self) -> None:
        ...

    def removeLayer(self, layer: SuperLayer) -> int:
        ...

    def splitLayersAtBeat(self, layers: List[SuperLayer], t: float) -> List[SuperLayer]:
        ...

    def timeOfNoteContainingBeat(self, iBeat: float) -> float:
        ...

    def timeToBeat(self, tSec: float) -> float:
        ...

    def ungroupLayer(self, g: GroupLayer) -> None:
        ...


class SuperTransportManager(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TransportManager'

    @property
    def brightness(self) -> float:
        ...
    @brightness.setter
    def brightness(self, b: float) -> None:
        ...

    @property
    def current(self) -> TransportManager:
        ...

    @property
    def startupBrightness(self) -> float:
        ...
    @startupBrightness.setter
    def startupBrightness(self, value: float) -> None:
        ...

    @property
    def startupVolume(self) -> float:
        ...
    @startupVolume.setter
    def startupVolume(self, value: float) -> None:
        ...

    @property
    def volume(self) -> float:
        ...
    @volume.setter
    def volume(self, v: float) -> None:
        ...


class SwitchableString(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def on(self) -> bool:
        ...
    @on.setter
    def on(self, o: bool) -> None:
        ...

    def getString(self) -> str:
        ...

    def sectionVisibility(self, arg0: int, isVisible: bool) -> None:
        ...


class SyncCheckProcess(VideoInCaptureProcess):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'SyncCheckProcess'

    @property
    def strobeColour1(self) -> Colour:
        ...
    @strobeColour1.setter
    def strobeColour1(self, value: Colour) -> None:
        ...

    @property
    def strobeColour2(self) -> Colour:
        ...
    @strobeColour2.setter
    def strobeColour2(self, value: Colour) -> None:
        ...

    @property
    def strobeFrames(self) -> int:
        ...
    @strobeFrames.setter
    def strobeFrames(self, value: int) -> None:
        ...

    def start(self) -> None:
        ...

    def stop(self) -> None:
        ...


class SyncCommand(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        """
        Default constructor for SyncCommand
        """
        ...


class SyncObject(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def isValid(self) -> bool:
        ...

    @property
    def name(self) -> str:
        ...

    def wait(self, timeOut: int) -> bool:
        ...


class SyncSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'
    Failed: Final = 1
    InProgress: Final = 3
    NotAttempted: Final = 0
    Succeeded: Final = 2

    def __init__(self) -> None:
        ...

    def getClientSyncState(self, nodeId: int) -> int:
        ...

    def syncState(self) -> int:
        ...


class SystemAlertStatus(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def alertStatus(self) -> int:
        ...
    @alertStatus.setter
    def alertStatus(self, value: int) -> None:
        ...

    @property
    def alertTime(self) -> int:
        ...
    @alertTime.setter
    def alertTime(self, value: int) -> None:
        ...


class SystemInfoDataSharer_Client(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class Table(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Table'

    @property
    def nColumns(self) -> int:
        ...

    @property
    def nRows(self) -> int:
        ...

    def getRow(self, iRow: int) -> List[str]:
        ...

    def item(self, iColumn: int, iRow: int) -> str:
        ...


class Tag(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    CUE: Final = 1
    MIDI: Final = 2
    TC: Final = 0

    @property
    def text(self) -> str:
        ...
    @text.setter
    def text(self, value: str) -> None:
        ...

    @property
    def type(self) -> int:
        ...
    @type.setter
    def type(self, value: int) -> None:
        ...

    def __init__(self, tagType: int, tagText: str) -> None:
        ...


class Target2Module(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TargetPresetModule'

    @property
    def interpolatedTarget(self) -> FixtureTarget:
        ...
    @interpolatedTarget.setter
    def interpolatedTarget(self, value: FixtureTarget) -> None:
        ...

    @property
    def target(self) -> FixtureTarget:
        """
        UserName: Target
        """
        ...
    @target.setter
    def target(self, value: FixtureTarget) -> None:
        ...


class TargetModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TargetControlModule'

    @property
    def offset(self) -> Vec:
        """
        UserName: Offset
        """
        ...
    @offset.setter
    def offset(self, value: Vec) -> None:
        ...

    @property
    def rotation(self) -> Vec:
        """
        UserName: Rotation
        """
        ...
    @rotation.setter
    def rotation(self, value: Vec) -> None:
        ...

    @property
    def scale(self) -> Vec:
        """
        UserName: Scale
        """
        ...
    @scale.setter
    def scale(self, value: Vec) -> None:
        ...

    @property
    def target(self) -> FixtureTarget:
        ...
    @target.setter
    def target(self, value: FixtureTarget) -> None:
        ...


class TargetObjectModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TargetObjectModule'

    @property
    def offset(self) -> Vec:
        """
        UserName: Offset
        """
        ...
    @offset.setter
    def offset(self, value: Vec) -> None:
        ...

    @property
    def rotation(self) -> Vec:
        """
        UserName: Rotation
        """
        ...
    @rotation.setter
    def rotation(self, value: Vec) -> None:
        ...

    @property
    def scale(self) -> Vec:
        """
        UserName: Scale
        """
        ...
    @scale.setter
    def scale(self, value: Vec) -> None:
        ...

    @property
    def target(self) -> Object:
        """
        UserName: Target
        """
        ...
    @target.setter
    def target(self, value: Object) -> None:
        ...


class Task(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class TaskExecutorSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def backgroundTasks(self) -> List[str]:
        ...

    def __init__(self) -> None:
        ...


class TaskGroup(Task):
    null: Self
    _classInfo: 'ClassInfo'


class TaskMetrics(_BlipValue):
    """
    Collects basic time data, e.g. for an OmniCal task
    """

    null: Self
    _classInfo: 'ClassInfo'

    @property
    def tFinish(self) -> float:
        ...

    @property
    def tInit(self) -> float:
        ...

    @property
    def tStartTask(self) -> float:
        ...

    @property
    def tStopTask(self) -> float:
        ...


class TaskStatus(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    Cancelled: Final = 3
    Completed: Final = 2
    Failed: Final = 2
    Queued: Final = 0
    Running: Final = 1
    Success: Final = 1
    Unknown: Final = 0

    @property
    def info(self) -> str:
        """
        Information string for error or general reporting
        """
        ...
    @info.setter
    def info(self, value: str) -> None:
        ...

    @property
    def name(self) -> str:
        """
        The name of the task
        """
        ...
    @name.setter
    def name(self, value: str) -> None:
        ...

    @property
    def progress(self) -> float:
        """
        The progress towards completion of the task, from 0 to 1
        """
        ...
    @progress.setter
    def progress(self, value: float) -> None:
        ...

    @property
    def reason(self) -> int:
        """
        The reason the task has completed
        
        Options: {0: 'Unknown', 1: 'Success', 2: 'Failed', 3: 'Cancelled'}
        """
        ...
    @reason.setter
    def reason(self, value: int) -> None:
        ...

    @property
    def state(self) -> int:
        """
        The current state of the task
        
        Options: {0: 'Queued', 1: 'Running', 2: 'Completed'}
        """
        ...
    @state.setter
    def state(self, value: int) -> None:
        ...

    @property
    def type(self) -> str:
        """
        The type of the task
        """
        ...
    @type.setter
    def type(self, value: str) -> None:
        ...

    @property
    def uid(self) -> str:
        """
        Unique identifier for the task
        """
        ...
    @uid.setter
    def uid(self, value: str) -> None:
        ...


class TaskStatusMessage(Message):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def reportTypes(self) -> str:
        ...
    @reportTypes.setter
    def reportTypes(self, value: str) -> None:
        ...

    @property
    def status(self) -> TaskStatus:
        ...
    @status.setter
    def status(self, value: TaskStatus) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: TaskStatusMessage) -> None:
        """
        Copy constructor for TaskStatusMessage
        """
        ...


class TaskSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...

    def activeTasksStatusesForType(self, type: Type) -> List[ExtendedTaskStatus]:
        ...

    def nActiveTasksForType(self, type: Type) -> int:
        ...


class TasksReportMessage(Message):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def tasks(self) -> List[TaskStatus]:
        ...
    @tasks.setter
    def tasks(self, value: List[TaskStatus]) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: TasksReportMessage) -> None:
        """
        Copy constructor for TasksReportMessage
        """
        ...


class TcpIndirectionController(KeyedListIndirectionController):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TcpIndirectionController'

    @property
    def filterToIp(self) -> str:
        """
        Specify that only messages from this IP should be listened to or leave blank to receive messages from any IP
        
        UserName: Filter IP
        """
        ...
    @filterToIp.setter
    def filterToIp(self, value: str) -> None:
        ...

    @property
    def port(self) -> int:
        """
        UserName: Receive port
        """
        ...
    @port.setter
    def port(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class TelnetConsole(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def onReceivedCommandDelegate(self) -> Callable:
        ...
    @onReceivedCommandDelegate.setter
    def onReceivedCommandDelegate(self, value: Callable) -> None:
        ...

    def __init__(self) -> None:
        ...


class TelnetDVIMatrix(DVIMatrix):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TelnetMatrix'

    @property
    def fade(self) -> str:
        """
        Category: Commands
        UserName: Fade
        """
        ...
    @fade.setter
    def fade(self, value: str) -> None:
        ...

    @property
    def preset(self) -> str:
        """
        Category: Commands
        UserName: Preset
        """
        ...
    @preset.setter
    def preset(self, value: str) -> None:
        ...

    @property
    def route(self) -> str:
        """
        Category: Commands
        UserName: Route
        """
        ...
    @route.setter
    def route(self, value: str) -> None:
        ...

    @property
    def routeFooter(self) -> str:
        """
        Category: Commands
        UserName: Route footer
        """
        ...
    @routeFooter.setter
    def routeFooter(self, value: str) -> None:
        ...

    @property
    def routeHeader(self) -> str:
        """
        Category: Commands
        UserName: Route header
        """
        ...
    @routeHeader.setter
    def routeHeader(self, value: str) -> None:
        ...

    @property
    def telnet(self) -> TelnetDevice:
        """
        UserName: Telnet device
        """
        ...
    @telnet.setter
    def telnet(self, value: TelnetDevice) -> None:
        ...

    def __init__(self) -> None:
        ...


class TelnetDevice(ControlDevice):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TelnetDevice'

    @property
    def IP_Address(self) -> str:
        """
        IP Address to connect to
        
        UserName: IP address
        """
        ...
    @IP_Address.setter
    def IP_Address(self, value: str) -> None:
        ...

    @property
    def Port(self) -> int:
        """
        Port to connect to
        
        UserName: Port
        """
        ...
    @Port.setter
    def Port(self, value: int) -> None:
        ...

    @property
    def connect(self) -> int:
        """
        Connnection mode, at startup will connect once when d3 starts or on disconnection, every send will connect/disconnect on each message
        
        Options: {0: 'At startup', 1: 'Every send'}
        UserName: Connect
        """
        ...
    @connect.setter
    def connect(self, value: int) -> None:
        ...

    @property
    def connectionMessage(self) -> str:
        """
        Message to send when connection is established, leave blank to disable
        
        UserName: Connection message
        """
        ...
    @connectionMessage.setter
    def connectionMessage(self, value: str) -> None:
        ...

    def __init__(self) -> None:
        ...


class TelnetModule(ControlModule):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TelnetModule'

    @property
    def IP_address(self) -> str:
        """
        Category: address
        """
        ...
    @IP_address.setter
    def IP_address(self, value: str) -> None:
        ...

    @property
    def port(self) -> int:
        """
        Category: address
        """
        ...
    @port.setter
    def port(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class TelnetSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class TestApp(App):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TestApp'

    def __init__(self) -> None:
        ...


class TestPatternModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TestPatternModule'

    @property
    def acesExposure(self) -> float:
        """
        Input exposure transform (stops)
        
        UserName: Input Exposure
        """
        ...
    @acesExposure.setter
    def acesExposure(self, value: float) -> None:
        ...

    @property
    def acesGamma(self) -> float:
        """
        Input gamma transform
        
        UserName: Input Gamma
        """
        ...
    @acesGamma.setter
    def acesGamma(self, value: float) -> None:
        ...

    @property
    def circleRadius(self) -> float:
        """
        UserName: Circle radius
        """
        ...
    @circleRadius.setter
    def circleRadius(self, value: float) -> None:
        ...

    @property
    def circles(self) -> int:
        """
        Options: {0: 'No', 1: 'Yes'}
        UserName: Circles
        """
        ...
    @circles.setter
    def circles(self, value: int) -> None:
        ...

    @property
    def gridMode(self) -> int:
        """
        Options: {0: 'Off', 1: 'Lines'}
        UserName: Grid mode
        """
        ...
    @gridMode.setter
    def gridMode(self, value: int) -> None:
        ...

    @property
    def gridSpacing(self) -> int:
        """
        UserName: Grid spacing
        """
        ...
    @gridSpacing.setter
    def gridSpacing(self, value: int) -> None:
        ...

    @property
    def label(self) -> int:
        """
        Options: {0: 'No', 1: 'Yes'}
        UserName: Label
        """
        ...
    @label.setter
    def label(self, value: int) -> None:
        ...

    @property
    def logoBottomRight(self) -> DxTexture:
        """
        UserName: Logo bottom right
        """
        ...
    @logoBottomRight.setter
    def logoBottomRight(self, value: DxTexture) -> None:
        ...

    @property
    def logoTopLeft(self) -> DxTexture:
        """
        UserName: Logo top left
        """
        ...
    @logoTopLeft.setter
    def logoTopLeft(self, value: DxTexture) -> None:
        ...

    @property
    def ocioContrast(self) -> float:
        """
        Input contrast transform
        
        UserName: Input Contrast
        """
        ...
    @ocioContrast.setter
    def ocioContrast(self, value: float) -> None:
        ...

    @property
    def ocioExposure(self) -> float:
        """
        Input exposure transform (stops).
        
        UserName: Input Exposure
        """
        ...
    @ocioExposure.setter
    def ocioExposure(self, value: float) -> None:
        ...

    @property
    def ocioGamma(self) -> float:
        """
        Imput gamma transform
        
        UserName: Input Gamma
        """
        ...
    @ocioGamma.setter
    def ocioGamma(self, value: float) -> None:
        ...

    @property
    def ocioShaderProperties(self) -> OcioShaderProperties:
        ...
    @ocioShaderProperties.setter
    def ocioShaderProperties(self, value: OcioShaderProperties) -> None:
        ...

    @property
    def subGridSpacing(self) -> int:
        """
        UserName: Sub grid spacing
        """
        ...
    @subGridSpacing.setter
    def subGridSpacing(self, value: int) -> None:
        ...


class TestReceiverDriver(ScreenPositionDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TestReceiverDriver'

    @property
    def nMotors(self) -> int:
        """
        UserName: Number of motors
        """
        ...
    @nMotors.setter
    def nMotors(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class TextFont(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TextFont'

    def __init__(self) -> None:
        ...


class TextModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TextModule'

    @property
    def font(self) -> TextFont:
        """
        Use default font or load .ttf font file in /objects/textfonts
        
        UserName: Font
        """
        ...
    @font.setter
    def font(self, value: TextFont) -> None:
        ...

    @property
    def fontSize(self) -> int:
        """
        Size of the text (in pixel)
        
        UserName: Font size
        """
        ...
    @fontSize.setter
    def fontSize(self, value: int) -> None:
        ...

    @property
    def hAlignment(self) -> int:
        """
        Horizontal alignment for text
        
        Options: {0: 'Left', 1: 'Center', 2: 'Right'}
        UserName: Horizontal alignment
        """
        ...
    @hAlignment.setter
    def hAlignment(self, value: int) -> None:
        ...

    @property
    def text(self) -> str:
        """
        Text to display
        
        UserName: Text
        """
        ...
    @text.setter
    def text(self, value: str) -> None:
        ...

    @property
    def vAlignment(self) -> int:
        """
        Vertical alignment for text
        
        Options: {0: 'Top', 1: 'Center', 2: 'Bottom'}
        UserName: Vertical alignment
        """
        ...
    @vAlignment.setter
    def vAlignment(self, value: int) -> None:
        ...

    @property
    def xPosition(self) -> int:
        """
        Horizontal position offset from alignment (in pixel)
        
        UserName: Position X
        """
        ...
    @xPosition.setter
    def xPosition(self, value: int) -> None:
        ...

    @property
    def yPosition(self) -> int:
        """
        Vertical position offset from alignment (in pixel)
        
        UserName: Position Y
        """
        ...
    @yPosition.setter
    def yPosition(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class TextureDownloader(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        """
        Default constructor for TextureDownloader
        """
        ...


class TextureParameterAssigner(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def assigner(self) -> ClusterAssigner:
        """
        The assigner to use to assign the streams for this parameter. If None, use the MultiChannelClusterAssigner's default assigner.
        """
        ...
    @assigner.setter
    def assigner(self, value: ClusterAssigner) -> None:
        ...

    @property
    def controller(self) -> Machine:
        """
        The machine streaming the texture parameter (None for cluster controller)
        """
        ...
    @controller.setter
    def controller(self, value: Machine) -> None:
        ...

    @property
    def parameterKey(self) -> str:
        """
        The channel name created by the texture parameter
        """
        ...
    @parameterKey.setter
    def parameterKey(self, value: str) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for TextureParameterAssigner
        """
        ...


class Thread(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class ThreadPool(_BlipValue):
    """
    :brief Simple pool to manage STL threads, used in various OmniCal classes
    :TODO add tests
    :TODO: Or better: merge with existing blip/engine/threadpool implementation. This one is only used in ProjectorControl, D3CamApp, VirtualCameraCommunication and optical::levMarqSolve().
    """

    null: Self
    _classInfo: 'ClassInfo'

    def queueWork(self, cb: Callable, signalOnComplete: Event) -> None:
        ...


class ThumbnailRequest(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class ThumbnailSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'
    supportsThumbnails: Callable

    def __init__(self) -> None:
        ...

    def getTemporaryVideoFileThumbnail(self, file: VideoFile, iFrame: int) -> DxTexture:
        ...

    def getThumbnail(self, resource: Resource, thumbSize: Int2 = Int2(0, 0), iFrame: int = -1) -> DxTexture:
        ...

    def getThumbnailRenderSize(self, resource: Resource) -> Int2:
        ...

    def getThumbnailSize(self, resource: Resource) -> Int2:
        ...


class Timecode(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    SMPTE23976: Final = 0
    SMPTE24: Final = 1
    SMPTE25: Final = 2
    SMPTE2997: Final = 3
    SMPTE2997DF: Final = 4
    SMPTE30: Final = 5
    clockTypeToUiString: Callable
    fromString: Callable
    fromStringWithFps: Callable

    @property
    def t(self) -> float:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: Timecode) -> None:
        """
        Copy constructor for Timecode
        """
        ...

    @overload
    def __init__(self, t_: float, clockType_: int, customFps: optional[float]) -> None:
        ...

    @overload
    def __init__(self, t_: float, clockType_: int) -> None:
        ...

    def __eq__(self, other: Timecode) -> bool:
        ...

    def __ne__(self, other: Timecode) -> bool:
        ...

    def __repr__(self) -> str:
        ...

    def __str__(self) -> str:
        ...

    def asString(self, highResolution: bool) -> str:
        ...

    def fps(self) -> float:
        ...


class TimecodeReadoutModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ReadoutModule'

    @property
    def display(self) -> int:
        """
        Options: {0: 'Incoming', 1: 'Timeline', 2: 'MTC Module', 3: 'Section', 4: 'Video', 5: 'TimeDebug', 6: 'OutputDebug', 7: 'System Time'}
        UserName: Display
        """
        ...
    @display.setter
    def display(self, value: int) -> None:
        ...

    @property
    def position(self) -> Vec2:
        """
        UserName: Position
        """
        ...
    @position.setter
    def position(self, value: Vec2) -> None:
        ...

    @property
    def size(self) -> float:
        """
        UserName: Size
        """
        ...
    @size.setter
    def size(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class TimecodeSystemTime(TimecodeTransportClocked):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TimecodeSystemTime'

    @property
    def SMPTE_clock_type(self) -> int:
        """
        Options: {0: '23.976', 1: '24', 2: '25', 3: '29.97', 4: '29.97 DF', 5: '30'}
        """
        ...
    @SMPTE_clock_type.setter
    def SMPTE_clock_type(self, value: int) -> None:
        ...


class TimecodeTester(TimecodeTransportClocked):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TimecodeTester'

    @property
    def SMPTE_clock_type(self) -> int:
        """
        Options: {0: '23.976', 1: '24', 2: '25', 3: '29.97', 4: '29.97 DF', 5: '30'}
        """
        ...
    @SMPTE_clock_type.setter
    def SMPTE_clock_type(self, value: int) -> None:
        ...

    @property
    def jump__sec_(self) -> float:
        """
        UserName: Jump (seconds)
        """
        ...
    @jump__sec_.setter
    def jump__sec_(self, value: float) -> None:
        ...

    @property
    def start_tc(self) -> str:
        """
        UserName: Start
        """
        ...
    @start_tc.setter
    def start_tc(self, value: str) -> None:
        ...

    def jumpBack(self) -> None:
        ...

    def jumpForward(self) -> None:
        ...

    def reset(self) -> None:
        ...

    def start(self) -> None:
        ...

    def stop(self) -> None:
        ...


class TimecodeTransport(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TimecodeTransport'

    @property
    def current(self) -> Timecode:
        ...

    @property
    def statusString(self) -> str:
        ...

    @property
    def transportManager(self) -> TransportManager:
        ...


class TimecodeTransportBeat(TimecodeTransport):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TimecodeTransportBeat'

    @property
    def adjust__sec_(self) -> float:
        """
        UserName: Adjust (seconds)
        """
        ...
    @adjust__sec_.setter
    def adjust__sec_(self, value: float) -> None:
        ...

    @property
    def mode(self) -> int:
        """
        Options: {0: 'Metronome', 1: 'Chase Beat Count'}
        UserName: Mode
        """
        ...
    @mode.setter
    def mode(self, value: int) -> None:
        ...


class TimecodeTransportClocked(TimecodeTransport):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TimecodeTransportClocked'

    @property
    def adjust__sec_(self) -> float:
        """
        UserName: Adjust (seconds)
        """
        ...
    @adjust__sec_.setter
    def adjust__sec_(self, value: float) -> None:
        ...


class TimecodeTransportLtc(TimecodeTransportClocked):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TimecodeTransportLtc'

    @property
    def SMPTE_clock_type(self) -> int:
        """
        Options: {0: '23.976', 1: '24', 2: '25', 3: '29.97', 4: '29.97 DF', 5: '30'}
        """
        ...
    @SMPTE_clock_type.setter
    def SMPTE_clock_type(self, value: int) -> None:
        ...

    @property
    def line_in(self) -> AudioLine:
        """
        UserName: Line in
        """
        ...
    @line_in.setter
    def line_in(self, value: AudioLine) -> None:
        ...

    @property
    def nFramesToSync(self) -> int:
        """
        Number of consecutive frames to be received before syncronising with the source
        
        Category: Advanced
        UserName: Sync frame count
        """
        ...
    @nFramesToSync.setter
    def nFramesToSync(self, value: int) -> None:
        ...

    @property
    def updateStatusString(self) -> str:
        ...


class TimecodeTransportMidiBeatClock(TimecodeTransportBeat):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TimecodeTransportMidiBeatClock'

    @property
    def bpmString(self) -> str:
        ...

    @property
    def midi_device(self) -> int:
        """
        UserName: MIDI device
        """
        ...
    @midi_device.setter
    def midi_device(self, value: int) -> None:
        ...


class TimecodeTransportMtc(TimecodeTransportClocked):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TimecodeTransportMtc'

    @property
    def MTC_time_format(self) -> int:
        """
        Options: {0: 'MTC 24', 1: 'MTC 25', 2: 'MTC 29.97 DF', 3: 'MTC 30'}
        """
        ...
    @MTC_time_format.setter
    def MTC_time_format(self, value: int) -> None:
        ...

    @property
    def midi_device(self) -> int:
        """
        UserName: MIDI device
        """
        ...
    @midi_device.setter
    def midi_device(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class TimecodeTransportTapTempo(TimecodeTransportBeat):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TimecodeTransportTapTempo'

    @property
    def bpmString(self) -> str:
        ...

    @property
    def input(self) -> int:
        """
        Options: {0: 'Keyboard'}
        UserName: Input
        """
        ...
    @input.setter
    def input(self, value: int) -> None:
        ...

    @property
    def min_bpm_taps(self) -> int:
        """
        UserName: Minimum BPM taps
        """
        ...
    @min_bpm_taps.setter
    def min_bpm_taps(self, value: int) -> None:
        ...


class TimecodeTransportVitc(TimecodeTransportClocked):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TimecodeTransportVitc'

    @property
    def SMPTE_clock_type(self) -> int:
        """
        Options: {0: '23.976', 1: '24', 2: '25', 3: '29.97', 4: '29.97 DF', 5: '30'}
        """
        ...
    @SMPTE_clock_type.setter
    def SMPTE_clock_type(self, value: int) -> None:
        ...

    @property
    def nFramesToSync(self) -> int:
        """
        Number of consecutive frames to be received before syncronising with the source
        
        Category: Advanced
        UserName: Sync frame count
        """
        ...
    @nFramesToSync.setter
    def nFramesToSync(self, value: int) -> None:
        ...

    @property
    def updateStatusString(self) -> str:
        ...

    @property
    def videoIn(self) -> LogicalVideoInDevice:
        """
        Video input containing embedded timecodes
        
        UserName: Video in
        """
        ...
    @videoIn.setter
    def videoIn(self, value: LogicalVideoInDevice) -> None:
        ...


class Timer(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def actualFrameTime(self) -> float:
        ...

    def actualTime(self) -> float:
        ...

    def delta(self) -> float:
        ...

    def fixedMode(self, delta: float) -> None:
        ...

    def frameTime(self) -> float:
        ...

    def normalMode(self) -> None:
        ...


class Timing(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def hActive(self) -> int:
        ...
    @hActive.setter
    def hActive(self, value: int) -> None:
        ...

    @property
    def hBack(self) -> int:
        ...
    @hBack.setter
    def hBack(self, value: int) -> None:
        ...

    @property
    def hFront(self) -> int:
        ...
    @hFront.setter
    def hFront(self, value: int) -> None:
        ...

    @property
    def hPolarity(self) -> int:
        ...
    @hPolarity.setter
    def hPolarity(self, value: int) -> None:
        ...

    @property
    def hSync(self) -> int:
        ...
    @hSync.setter
    def hSync(self, value: int) -> None:
        ...

    @property
    def interlaced(self) -> bool:
        ...
    @interlaced.setter
    def interlaced(self, value: bool) -> None:
        ...

    @property
    def pixelClock(self) -> int:
        ...
    @pixelClock.setter
    def pixelClock(self, value: int) -> None:
        ...

    @property
    def vActive(self) -> int:
        ...
    @vActive.setter
    def vActive(self, value: int) -> None:
        ...

    @property
    def vBack(self) -> int:
        ...
    @vBack.setter
    def vBack(self, value: int) -> None:
        ...

    @property
    def vFront(self) -> int:
        ...
    @vFront.setter
    def vFront(self, value: int) -> None:
        ...

    @property
    def vPolarity(self) -> int:
        ...
    @vPolarity.setter
    def vPolarity(self, value: int) -> None:
        ...

    @property
    def vSync(self) -> int:
        ...
    @vSync.setter
    def vSync(self, value: int) -> None:
        ...


class TokenDesc(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class TooltipInfo(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    ArrangeHorizontal: Final = 0
    ArrangeVertical: Final = 1

    @property
    def arrange(self) -> int:
        ...
    @arrange.setter
    def arrange(self, value: int) -> None:
        ...

    @property
    def screenBounds(self) -> Rect:
        ...
    @screenBounds.setter
    def screenBounds(self, value: Rect) -> None:
        ...

    @property
    def sourceId(self) -> int:
        ...
    @sourceId.setter
    def sourceId(self, value: int) -> None:
        ...

    @property
    def text(self) -> str:
        ...
    @text.setter
    def text(self, value: str) -> None:
        ...

    @overload
    def __init__(self) -> None:
        """
        Default constructor for TooltipInfo
        """
        ...

    @overload
    def __init__(self, other: TooltipInfo) -> None:
        """
        Copy constructor for TooltipInfo
        """
        ...


class TouchDesignerEngineDefinition(EngineDefinition):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        """
        Default constructor for TouchDesignerEngineDefinition
        """
        ...


class Track(SuperTrack):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Track'

    @property
    def cues(self) -> TimeSequence[Cue]:
        ...
    @cues.setter
    def cues(self, value: TimeSequence[Cue]) -> None:
        ...

    @property
    def defaultTransitionInfo(self) -> TrackTransitionInfo:
        ...
    @defaultTransitionInfo.setter
    def defaultTransitionInfo(self, transitionInfo: TrackTransitionInfo) -> None:
        ...

    @property
    def tc_adjust(self) -> float:
        """
        This value will be added to timecode chase time, in seconds
        
        UserName: TC Adjust
        """
        ...
    @tc_adjust.setter
    def tc_adjust(self, value: float) -> None:
        ...

    @property
    def trigger_note(self) -> str:
        ...
    @trigger_note.setter
    def trigger_note(self, value: str) -> None:
        ...

    def adjustCurrentTimecodeTag(self, t: float, dFrames: int) -> None:
        ...

    def beatOfCue(self, cue: Cue) -> float:
        ...

    def beatToGlobalTime(self, tBeat: float, clockType: int, tcTagsLimitedToSection: bool) -> float:
        ...

    def beatToSection(self, beat: float) -> int:
        ...

    def beatToSectionCue(self, iBeat: float) -> int:
        ...

    def contains(self, arg0: SuperLayer, arg1: bool = True) -> bool:
        """
        Whether the track contains the layer sl
        
        :param sl: The superlayer to search for
        :param searchLeafOnly: If true, only leaf layers will be searched, otherwise all layers (including GroupLayer instances) will be searched.
        
        return: Whether the superlayer is found in the track
        """
        ...

    def cueAtBeat(self, iBeat: float) -> Cue:
        ...

    def cueBeats(self) -> List[float]:
        ...

    def distanceToSection(self, beatsToEdit: float, prevOrNext: int, startOrEnd: int) -> float:
        ...

    def findBeatOfLastNote(self, tBeats: float) -> float:
        ...

    def findBeatOfLastSection(self, tBeats: float) -> float:
        ...

    def findBeatOfLastTag(self, tBeats: float) -> float:
        ...

    def findBeatOfNextNote(self, tBeats: float) -> float:
        ...

    def findBeatOfNextSection(self, tBeats: float) -> float:
        ...

    def findBeatOfNextTag(self, tBeats: float) -> float:
        ...

    def formatNoteForBeat(self, beatOfNote: float, tCurrentBeats: float) -> str:
        ...

    def globalTimeToBeat(self, tGlobal: float, clockType: int, tDiff: float, tcTagsLimitedToSection: bool) -> float:
        ...

    def layerByName(self, name) -> Any:
        """
        Access layers by a (hopefully) unique name
        """
        ...

    def mergeSectionAtBeat(self, iBeat: float) -> None:
        ...

    def nSections(self) -> int:
        ...

    def noteAtBeat(self, iBeat: float) -> str:
        ...

    def readCueTable(self) -> None:
        ...

    def removeNoteAtBeat(self, iBeat: float) -> None:
        ...

    def removeNotes(self, iBeat: float, nBeats: float) -> None:
        ...

    def removeTagAtBeat(self, iBeat: float, tagType: int) -> None:
        ...

    def removeTags(self, iBeat: float, nBeats: float) -> None:
        ...

    def sectionAtBeat(self, iBeat: float) -> bool:
        ...

    def sectionCueToBeat(self, iSection: int) -> float:
        ...

    def sectionLengthBeats(self, iSection: int) -> float:
        ...

    def sectionToBeat(self, iSection: int) -> float:
        ...

    def setNoteAtBeat(self, iBeat: float, note: str) -> None:
        ...

    def setTagAtBeat(self, iBeat: float, tag: Tag) -> None:
        ...

    def splitSectionAtBeat(self, iBeat: float, sectionTransitionInfo: TrackTransitionInfo = TrackTransitionInfo()) -> None:
        ...

    def tLastBeatInSection(self, t: float) -> float:
        ...

    def tagAtBeat(self, iBeat: float, tagType: int) -> Tag:
        ...

    def tagsAtBeat(self, iBeat: float) -> List[Tag]:
        ...

    def transitionInfoAtBeat(self, beat: float) -> TrackTransitionInfo:
        ...

    def transitionInfoAtSection(self, iSection: int) -> TrackTransitionInfo:
        ...

    def writeCueTable(self) -> None:
        ...


class TrackAndBeat(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class TrackHelper(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    barColour: Callable
    barSectionColours: Callable


class TrackJumpModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TrackJumpModule'

    @property
    def cue(self) -> Cue:
        """
        UserName: Cue
        """
        ...
    @cue.setter
    def cue(self, value: Cue) -> None:
        ...

    @property
    def jumpto(self) -> str:
        ...
    @jumpto.setter
    def jumpto(self, value: str) -> None:
        ...

    @property
    def play_mode(self) -> int:
        """
        Options: {0: 'Stop', 1: 'Play', 2: 'Play to end of section', 3: 'Loop section'}
        UserName: Play mode
        """
        ...
    @play_mode.setter
    def play_mode(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class TrackModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TrackModule'

    @property
    def playMode(self) -> int:
        """
        How to play the track, in relation to this timeline
        
        Options: {0: 'Normal', 1: 'Locked', 2: 'Free Run'}
        UserName: Play mode
        """
        ...
    @playMode.setter
    def playMode(self, value: int) -> None:
        ...

    @property
    def refTrack(self) -> Track:
        """
        The track to play
        
        UserName: Reference track
        """
        ...
    @refTrack.setter
    def refTrack(self, value: Track) -> None:
        ...

    @property
    def tTrackStart(self) -> float:
        """
        Start playing the track at this time (seconds)
        
        UserName: Start time
        """
        ...
    @tTrackStart.setter
    def tTrackStart(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class TrackPlayHead(PlayHead):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TrackPlayHead'


class TrackPlayer(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TrackPlayer'
    HoldEnd: Final = 5
    HoldSection: Final = 4
    LoopSection: Final = 2
    Play: Final = 0
    PlaySection: Final = 1
    Stop: Final = 3

    @property
    def activeLayers(self) -> List[Layer]:
        ...

    @property
    def hasTrack(self) -> bool:
        ...

    @property
    def holding(self) -> bool:
        ...

    @property
    def isFreeRunning(self) -> bool:
        ...

    @property
    def loopSectionMode(self) -> bool:
        ...

    @property
    def playMode(self) -> PlayMode:
        ...

    @property
    def playing(self) -> bool:
        ...

    @property
    def sectionPlayMode(self) -> bool:
        ...

    @property
    def sectionTestMode(self) -> bool:
        ...

    @property
    def stopped(self) -> bool:
        ...

    @property
    def tCurrent(self) -> float:
        ...

    @property
    def tRender(self) -> float:
        ...

    @property
    def tRunForever(self) -> float:
        ...

    @property
    def tRunning(self) -> float:
        ...

    @property
    def track(self) -> Track:
        ...


class TrackTransitionInfo(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def durationBeats(self) -> float:
        ...

    @property
    def fadeDurationBeats(self) -> float:
        ...
    @fadeDurationBeats.setter
    def fadeDurationBeats(self, value: float) -> None:
        ...

    @property
    def loopUxFade(self) -> bool:
        ...
    @loopUxFade.setter
    def loopUxFade(self, value: bool) -> None:
        ...

    @property
    def mode(self) -> int:
        ...
    @mode.setter
    def mode(self, mode: int) -> None:
        ...

    @property
    def track(self) -> Track:
        ...
    @track.setter
    def track(self, value: Track) -> None:
        ...

    @property
    def trackSection(self) -> int:
        ...
    @trackSection.setter
    def trackSection(self, value: int) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: TrackTransitionInfo) -> None:
        """
        Copy constructor for TrackTransitionInfo
        """
        ...


class TrackUtils(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    sanitiseTagText: Callable
    tagAlreadyExists: Callable


class TrackedFixedPoint(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def allowTwist(self) -> bool:
        ...
    @allowTwist.setter
    def allowTwist(self, value: bool) -> None:
        ...

    @property
    def fixed(self) -> ReferencePoint:
        ...
    @fixed.setter
    def fixed(self, value: ReferencePoint) -> None:
        ...

    @property
    def offset(self) -> Vec:
        ...
    @offset.setter
    def offset(self, value: Vec) -> None:
        ...

    @property
    def tracked(self) -> TrackedPoint:
        ...
    @tracked.setter
    def tracked(self, value: TrackedPoint) -> None:
        ...


class TrackedPoint(ReferencePoint):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TrackedPoint'

    @property
    def isReceiving(self) -> bool:
        ...

    @property
    def isReceivingOverride(self) -> bool:
        ...
    @isReceivingOverride.setter
    def isReceivingOverride(self, value: bool) -> None:
        ...


class TrackedSkeletalLayout(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def joints(self) -> unordered_map[int, SkeletalJointLayout]:
        ...
    @joints.setter
    def joints(self, value: unordered_map[int, SkeletalJointLayout]) -> None:
        ...

    @property
    def v(self) -> int:
        ...
    @v.setter
    def v(self, value: int) -> None:
        ...


class TrackerDelayCalibrationProcess(VideoInCaptureProcess):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TrackerDelayCalibrationProcess'

    @property
    def PREVIEW_LARGE_WIDTH(self) -> float:
        ...

    @property
    def PREVIEW_SMALL_WIDTH(self) -> float:
        ...

    @property
    def captureGridLineThickness(self) -> float:
        ...
    @captureGridLineThickness.setter
    def captureGridLineThickness(self, value: float) -> None:
        ...

    @property
    def captureGridLines(self) -> int:
        ...
    @captureGridLines.setter
    def captureGridLines(self, value: int) -> None:
        ...

    @property
    def totalCaptureFrames(self) -> int:
        ...

    @property
    def totalCaptureTime(self) -> float:
        ...
    @totalCaptureTime.setter
    def totalCaptureTime(self, value: float) -> None:
        ...

    def capturedFieldsForCamera(self, arg0: Camera) -> List[InterlacedField]:
        ...

    def nTrackingDataForCamera(self, cam: Camera) -> int:
        ...

    def overlaidFieldsForCamera(self, arg0: Camera) -> List[InterlacedField]:
        ...

    def renderVirtualOverlays(self, cam: Camera) -> None:
        ...

    def start(self) -> None:
        ...

    def stop(self) -> None:
        ...

    def update(self) -> None:
        ...


class Tracking6DOF(TrackingItem):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Tracking6DOF'

    @property
    def value(self) -> Vec:
        """
        Category: Output
        UserName: Value
        """
        ...
    @value.setter
    def value(self, value: Vec) -> None:
        ...

    def __init__(self) -> None:
        ...


class Tracking6DOFState(TrackingVectorState):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def angularAccelerationVector(self) -> Vec:
        ...

    @property
    def angularVelocityVector(self) -> Vec:
        ...

    @property
    def rotationVector(self) -> Vec:
        ...


class TrackingFlags(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def aperture(self) -> bool:
        ...
    @aperture.setter
    def aperture(self, value: bool) -> None:
        ...

    @property
    def aspectRatio(self) -> bool:
        ...
    @aspectRatio.setter
    def aspectRatio(self, value: bool) -> None:
        ...

    @property
    def centerShift(self) -> bool:
        ...
    @centerShift.setter
    def centerShift(self, value: bool) -> None:
        ...

    @property
    def focalLength(self) -> bool:
        ...
    @focalLength.setter
    def focalLength(self, value: bool) -> None:
        ...

    @property
    def focusDistance(self) -> bool:
        ...
    @focusDistance.setter
    def focusDistance(self, value: bool) -> None:
        ...

    @property
    def focusEncoder(self) -> bool:
        ...
    @focusEncoder.setter
    def focusEncoder(self, value: bool) -> None:
        ...

    @property
    def k1k2k3(self) -> bool:
        ...
    @k1k2k3.setter
    def k1k2k3(self, value: bool) -> None:
        ...

    @property
    def pos(self) -> bool:
        ...
    @pos.setter
    def pos(self, value: bool) -> None:
        ...

    @property
    def rot(self) -> bool:
        ...
    @rot.setter
    def rot(self, value: bool) -> None:
        ...

    @property
    def sensorWidth(self) -> bool:
        ...
    @sensorWidth.setter
    def sensorWidth(self, value: bool) -> None:
        ...

    @property
    def zoomEncoder(self) -> bool:
        ...
    @zoomEncoder.setter
    def zoomEncoder(self, value: bool) -> None:
        ...


class TrackingFrameOfReference(AnimationAxisSettings):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TrackingFrameOfReference'

    @property
    def captured(self) -> List[Vec]:
        ...
    @captured.setter
    def captured(self, value: List[Vec]) -> None:
        ...

    @property
    def reference(self) -> List[ReferencePoint]:
        ...
    @reference.setter
    def reference(self, value: List[ReferencePoint]) -> None:
        ...

    @property
    def registration(self) -> int:
        ...
    @registration.setter
    def registration(self, value: int) -> None:
        ...

    @property
    def registrationBlockHeight(self) -> float:
        """
        Set this value to the actual height of the registration block.
        
        UserName: Registration block height (mm)
        """
        ...
    @registrationBlockHeight.setter
    def registrationBlockHeight(self, value: float) -> None:
        ...

    @property
    def samples(self) -> int:
        """
        Number of samples for averaging the reported tracked point.
        
        UserName: # Samples
        """
        ...
    @samples.setter
    def samples(self, value: int) -> None:
        ...

    @property
    def samplingRegistrationPoint(self) -> bool:
        ...

    @property
    def tracked(self) -> List[TrackedPoint]:
        ...
    @tracked.setter
    def tracked(self, value: List[TrackedPoint]) -> None:
        ...

    def clearRegistration(self) -> None:
        ...

    def finaliseRegistration(self) -> None:
        ...

    def registerPoint(self, i: int) -> None:
        ...


class TrackingItem(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TrackingItem'

    @property
    def label(self) -> str:
        """
        UserName: Label
        """
        ...
    @label.setter
    def label(self, value: str) -> None:
        ...

    @property
    def object(self) -> Object:
        """
        UserName: Object
        """
        ...
    @object.setter
    def object(self, value: Object) -> None:
        ...

    @property
    def type(self) -> int:
        """
        Options: {0: 'Position X', 1: 'Position Y', 2: 'Position Z', 3: 'Rotation X', 4: 'Rotation Y', 5: 'Rotation Z', 6: 'Position', 7: 'Rotation', 8: 'Position And Rotation', 9: 'Position On Path', 10: 'Shape Control 1', 11: 'Shape Control 2', 12: 'Shape Control 3'}
        UserName: Type
        """
        ...
    @type.setter
    def type(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class TrackingMarkerModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TrackingMarkerModule'

    @property
    def backgroundColour(self) -> Colour:
        """
        Category: Background
        UserName: Background colour
        """
        ...
    @backgroundColour.setter
    def backgroundColour(self, value: Colour) -> None:
        ...

    @property
    def bottomCrop(self) -> float:
        """
        Fraction of output to crop from the bottom
        
        Category: Cropping
        UserName: Crop bottom
        """
        ...
    @bottomCrop.setter
    def bottomCrop(self, value: float) -> None:
        ...

    @property
    def leftCrop(self) -> float:
        """
        Fraction of output to crop from the left
        
        Category: Cropping
        UserName: Crop left
        """
        ...
    @leftCrop.setter
    def leftCrop(self, value: float) -> None:
        ...

    @property
    def markerImage(self) -> DxTexture:
        """
        UserName: Marker image
        """
        ...
    @markerImage.setter
    def markerImage(self, value: DxTexture) -> None:
        ...

    @property
    def markerSize(self) -> float:
        """
        UserName: Marker size
        """
        ...
    @markerSize.setter
    def markerSize(self, value: float) -> None:
        ...

    @property
    def markerSpacing(self) -> float:
        """
        UserName: Marker spacing
        """
        ...
    @markerSpacing.setter
    def markerSpacing(self, value: float) -> None:
        ...

    @property
    def rightCrop(self) -> float:
        """
        Fraction of output to crop from the right
        
        Category: Cropping
        UserName: Crop right
        """
        ...
    @rightCrop.setter
    def rightCrop(self, value: float) -> None:
        ...

    @property
    def topCrop(self) -> float:
        """
        Fraction of output to crop from the top
        
        Category: Cropping
        UserName: Crop top
        """
        ...
    @topCrop.setter
    def topCrop(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for TrackingMarkerModule
        """
        ...


class TrackingMarkerModuleConfig(ModuleConfig):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TrackingMarkerModuleConfig'

    @property
    def acesTransform(self) -> AcesInputTransformParameters:
        """
        UserName: Input transform
        """
        ...
    @acesTransform.setter
    def acesTransform(self, value: AcesInputTransformParameters) -> None:
        ...

    @property
    def ocioTransform(self) -> OcioColourSpace:
        """
        UserName: Input transform
        """
        ...
    @ocioTransform.setter
    def ocioTransform(self, value: OcioColourSpace) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for TrackingMarkerModuleConfig
        """
        ...


class TrackingScalar(TrackingItem):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TrackingScalar'

    @property
    def value(self) -> float:
        """
        Category: Output
        UserName: Value
        """
        ...
    @value.setter
    def value(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class TrackingScalarState(TrackingState):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def acceleration(self) -> float:
        ...

    @property
    def position(self) -> float:
        ...

    @property
    def velocity(self) -> float:
        ...


class TrackingState(IDataState):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def id(self) -> str:
        ...


class TrackingVector(TrackingItem):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TrackingVector'

    @property
    def value(self) -> Vec:
        """
        Category: Output
        UserName: Value
        """
        ...
    @value.setter
    def value(self, value: Vec) -> None:
        ...

    def __init__(self) -> None:
        ...


class TrackingVectorState(TrackingState):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def accelerationVector(self) -> Vec:
        ...

    @property
    def positionVector(self) -> Vec:
        ...

    @property
    def velocityVector(self) -> Vec:
        ...


class TrackmenDriver(UdpReceiverDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TrackmenDriver'

    @property
    def enablePacketTimingGraph(self) -> bool:
        """
        Log incoming packet times to a graph
        
        UserName: Enable packet timing graph
        """
        ...
    @enablePacketTimingGraph.setter
    def enablePacketTimingGraph(self, value: bool) -> None:
        ...

    def __init__(self) -> None:
        ...


class TransformedPositionDeltaMesh(DeltaMesh):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TransformedPositionDeltaMesh'

    @property
    def transform(self) -> Mat:
        ...
    @transform.setter
    def transform(self, value: Mat) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for TransformedPositionDeltaMesh
        """
        ...


class TranslationGizmo(Gizmo3D):
    null: Self
    _classInfo: 'ClassInfo'


class TranslationManipulator(Manipulator3D):
    null: Self
    _classInfo: 'ClassInfo'

    def mouseDrag(self, arg0: int, arg1: Vec2, arg2: Vec2) -> bool:
        """
        Move the object controlled by the gizmo
        """
        ...


class Translator(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    translateToString: Callable


class TransmitIPDestination(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def ip(self) -> IPAddress:
        ...
    @ip.setter
    def ip(self, value: IPAddress) -> None:
        ...

    @property
    def port(self) -> int:
        ...
    @port.setter
    def port(self, value: int) -> None:
        ...

    @property
    def rtpPayloadTypeId(self) -> int:
        ...
    @rtpPayloadTypeId.setter
    def rtpPayloadTypeId(self, value: int) -> None:
        ...


class TransportBrightnessLocalModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TransportBrightnessLocalModule'

    @property
    def transportBrightness(self) -> float:
        """
        UserName: Brightness
        """
        ...
    @transportBrightness.setter
    def transportBrightness(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class TransportCMDBrightness(TransportCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TransportCMDBrightness'
    make: Callable

    @property
    def brightness(self) -> float:
        ...
    @brightness.setter
    def brightness(self, value: float) -> None:
        ...


class TransportCMDChaseTime(TransportCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TransportCMDChaseTime'

    @property
    def correctionMode(self) -> int:
        ...
    @correctionMode.setter
    def correctionMode(self, value: int) -> None:
        ...

    @property
    def forceJump(self) -> bool:
        ...
    @forceJump.setter
    def forceJump(self, value: bool) -> None:
        ...

    @property
    def speed(self) -> float:
        ...
    @speed.setter
    def speed(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class TransportCMDOutputMode(TransportCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TransportCMDOutputMode'

    @property
    def outputMode(self) -> int:
        ...
    @outputMode.setter
    def outputMode(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for TransportCMDOutputMode
        """
        ...


class TransportCMDPlayMode(TransportCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TransportCMDPlayMode'

    @property
    def playMode(self) -> int:
        ...
    @playMode.setter
    def playMode(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class TransportCMDRecvTimecode(TransportCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TransportCMDRecvTimecode'

    @property
    def speed(self) -> float:
        ...
    @speed.setter
    def speed(self, value: float) -> None:
        ...

    @property
    def tSec(self) -> float:
        ...
    @tSec.setter
    def tSec(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class TransportCMDSetSpeed(TransportCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TransportCMDSetSpeed'

    @property
    def speed(self) -> float:
        ...
    @speed.setter
    def speed(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class TransportCMDSmoothTime(TransportCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TransportCMDSmoothTime'

    @property
    def forceJump(self) -> bool:
        ...
    @forceJump.setter
    def forceJump(self, value: bool) -> None:
        ...

    @property
    def tSec(self) -> float:
        ...
    @tSec.setter
    def tSec(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class TransportCMDStatus(TransportCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TransportCMDStatus'

    @property
    def brightness(self) -> float:
        ...
    @brightness.setter
    def brightness(self, value: float) -> None:
        ...

    @property
    def monitorString(self) -> str:
        ...
    @monitorString.setter
    def monitorString(self, value: str) -> None:
        ...

    @property
    def playMode(self) -> int:
        ...
    @playMode.setter
    def playMode(self, value: int) -> None:
        ...

    @property
    def remoteTransportMode(self) -> int:
        ...
    @remoteTransportMode.setter
    def remoteTransportMode(self, value: int) -> None:
        ...

    @property
    def statusString(self) -> str:
        ...
    @statusString.setter
    def statusString(self, value: str) -> None:
        ...

    @property
    def tLastIssued(self) -> float:
        ...
    @tLastIssued.setter
    def tLastIssued(self, value: float) -> None:
        ...

    @property
    def tcStatus(self) -> int:
        ...
    @tcStatus.setter
    def tcStatus(self, value: int) -> None:
        ...

    @property
    def volume(self) -> float:
        ...
    @volume.setter
    def volume(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class TransportCMDStop(TransportCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TransportCMDStop'

    def __init__(self) -> None:
        ...


class TransportCMDTRender(TransportCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TransportCMDTRender'

    def __init__(self) -> None:
        ...


class TransportCMDTrackBeat(TransportCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TransportCMDTrackBeat'
    make: Callable

    @property
    def transitionInfo(self) -> TrackTransitionInfo:
        ...
    @transitionInfo.setter
    def transitionInfo(self, value: TrackTransitionInfo) -> None:
        ...


class TransportCMDVolume(TransportCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TransportCMDVolume'
    make: Callable

    @property
    def volume(self) -> float:
        ...
    @volume.setter
    def volume(self, value: float) -> None:
        ...


class TransportCommand(GenericCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TransportCommand'
    makeJumpToBeat: Callable
    makeJumpToCue: Callable
    makeJumpToFrame: Callable
    makeJumpToMidiNote: Callable
    makeJumpToTime: Callable
    makeNudgeBeat: Callable
    makeNudgeFrame: Callable
    makeNudgeSection: Callable
    makeNudgeTrack: Callable

    @property
    def sourceIsTimecode(self) -> bool:
        ...
    @sourceIsTimecode.setter
    def sourceIsTimecode(self, value: bool) -> None:
        ...

    @property
    def tm(self) -> TransportManager:
        ...
    @tm.setter
    def tm(self, value: TransportManager) -> None:
        ...

    @property
    def trackAndBeat(self) -> TrackAndBeat:
        ...
    @trackAndBeat.setter
    def trackAndBeat(self, value: TrackAndBeat) -> None:
        ...


class TransportControlModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TransportControlModule'

    @property
    def command(self) -> TransportJumpCommand:
        """
        UserName: Command
        """
        ...
    @command.setter
    def command(self, value: TransportJumpCommand) -> None:
        ...

    @property
    def transportName(self) -> str:
        """
        UserName: Transport
        """
        ...
    @transportName.setter
    def transportName(self, value: str) -> None:
        ...

    @property
    def trigger(self) -> int:
        """
        Options: {0: 'Always', 1: 'When Playing'}
        UserName: Trigger
        """
        ...
    @trigger.setter
    def trigger(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class TransportJumpCommand(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TransportJumpCommand'

    @property
    def command(self) -> int:
        """
        Options: {0: 'Play', 1: 'Play to end of section', 2: 'Loop section', 3: 'Stop'}
        UserName: Command
        """
        ...
    @command.setter
    def command(self, value: int) -> None:
        ...

    @property
    def location(self) -> str:
        """
        UserName: Location
        """
        ...
    @location.setter
    def location(self, value: str) -> None:
        ...

    @property
    def location_type(self) -> int:
        """
        Midi: jump to midi tag <x>
        Cue: jump to cue tag <x>
        Timecode: jump to track timecode, relative to TC tags <hh:mm:ss:ff>
        Time: Jump to absolute track timecode, unaffected by TC tags <hh:mm:ss:ff>
        
        Options: {0: 'Midi', 1: 'Cue', 2: 'Timecode', 3: 'Time'}
        UserName: Location type
        """
        ...
    @location_type.setter
    def location_type(self, value: int) -> None:
        ...

    @property
    def track(self) -> str:
        """
        UserName: Track
        """
        ...
    @track.setter
    def track(self, value: str) -> None:
        ...

    @property
    def transition(self) -> float:
        """
        UserName: Crossfade duration (seconds)
        """
        ...
    @transition.setter
    def transition(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class TransportManager(SuperTransportManager):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TransportManager'
    custom: Final = 2
    globalRefreshRate: Final = 1
    none: Final = 0

    @property
    def customFpsType(self) -> int:
        ...
    @customFpsType.setter
    def customFpsType(self, value: int) -> None:
        ...

    @property
    def customTimelineFps(self) -> float:
        ...
    @customTimelineFps.setter
    def customTimelineFps(self, value: float) -> None:
        ...

    @property
    def enableCustomFps(self) -> int:
        ...
    @enableCustomFps.setter
    def enableCustomFps(self, value: int) -> None:
        ...

    @property
    def engaged(self) -> bool:
        ...
    @engaged.setter
    def engaged(self, onOff: bool) -> None:
        ...

    @property
    def local_transports(self) -> List[EventTransport]:
        """
        Category: Event Transports
        UserName: Local Transports
        """
        ...
    @local_transports.setter
    def local_transports(self, value: List[EventTransport]) -> None:
        ...

    @property
    def monitorString(self) -> str:
        ...
    @monitorString.setter
    def monitorString(self, s: str) -> None:
        ...

    @property
    def on_clock_lost(self) -> int:
        """
        Options: {0: 'Keep Playing', 1: 'Stop'}
        Category: Timecode
        UserName: On clock lost
        """
        ...
    @on_clock_lost.setter
    def on_clock_lost(self, value: int) -> None:
        ...

    @property
    def on_clock_regained(self) -> int:
        """
        Options: {0: 'Reset to start', 1: 'Play from current'}
        Category: Timecode
        UserName: On clock regained
        """
        ...
    @on_clock_regained.setter
    def on_clock_regained(self, value: int) -> None:
        ...

    @property
    def play_mode(self) -> int:
        """
        Options: {0: 'Play', 1: 'Play To End Of Section', 2: 'Loop Section'}
        Category: Timecode
        UserName: Play mode
        """
        ...
    @play_mode.setter
    def play_mode(self, value: int) -> None:
        ...

    @property
    def playbackStatusMonitor(self) -> PlaybackStatusMonitor:
        ...
    @playbackStatusMonitor.setter
    def playbackStatusMonitor(self, value: PlaybackStatusMonitor) -> None:
        ...

    @property
    def player(self) -> TrackPlayer:
        ...

    @property
    def preRollMatch(self) -> float:
        ...

    @property
    def remote_transports(self) -> List[EventTransport]:
        """
        Category: Event Transports
        UserName: Remote Transports
        """
        ...
    @remote_transports.setter
    def remote_transports(self, value: List[EventTransport]) -> None:
        ...

    @property
    def remotetransportmode(self) -> int:
        ...
    @remotetransportmode.setter
    def remotetransportmode(self, value: int) -> None:
        ...

    @property
    def schedule(self) -> Schedule:
        """
        Category: Schedule
        UserName: Schedule
        """
        ...
    @schedule.setter
    def schedule(self, value: Schedule) -> None:
        ...

    @property
    def sendTransportCommands(self) -> int:
        ...
    @sendTransportCommands.setter
    def sendTransportCommands(self, value: int) -> None:
        ...

    @property
    def sendTransportCommandsMode(self) -> int:
        ...
    @sendTransportCommandsMode.setter
    def sendTransportCommandsMode(self, mode: int) -> None:
        ...

    @property
    def setList(self) -> SetList:
        """
        Category: Set List
        UserName: Set list
        """
        ...
    @setList.setter
    def setList(self, value: SetList) -> None:
        ...

    @property
    def status(self) -> int:
        ...
    @status.setter
    def status(self, value: int) -> None:
        ...

    @property
    def statusString(self) -> str:
        ...
    @statusString.setter
    def statusString(self, s: str) -> None:
        ...

    @property
    def tcStatusString(self) -> str:
        ...

    @property
    def timecode(self) -> TimecodeTransport:
        """
        Category: Timecode
        UserName: Timecode
        """
        ...
    @timecode.setter
    def timecode(self, value: TimecodeTransport) -> None:
        ...

    @property
    def timecode_can_change_track(self) -> int:
        """
        Options: {0: 'No', 1: 'Yes'}
        Category: Timecode
        UserName: Timecode can change track
        """
        ...
    @timecode_can_change_track.setter
    def timecode_can_change_track(self, value: int) -> None:
        ...

    @property
    def traceLevel(self) -> int:
        ...
    @traceLevel.setter
    def traceLevel(self, level: int) -> None:
        ...

    @property
    def track(self) -> Track:
        ...

    @property
    def trackToLoad(self) -> str:
        ...
    @trackToLoad.setter
    def trackToLoad(self, value: str) -> None:
        ...

    def addCommand(self, trCmd: TransportCommand) -> None:
        ...

    def beatToTimecode(self, tBeat: float) -> Timecode:
        ...

    def customFps(self) -> optional[float]:
        ...

    def forceJump(self) -> None:
        ...

    def lockToDirector(self, source: Resource, jumpDirectorToMe: bool) -> None:
        ...

    def smpteClockType(self) -> int:
        ...


class TransportVolumeLocalModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TransportVolumeLocalModule'

    @property
    def transportVolume(self) -> float:
        """
        UserName: Vol
        """
        ...
    @transportVolume.setter
    def transportVolume(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class Triangle(_BlipValue):
    """
    A single triangle within a Mesh.
    
    Note: d3 triangle edges are indexed clock-wise from each vertex; This means:
    Vertex | 'to the right of' | opposite |
    v0    | e0                | e1       |
    v1    | e1                | e2       |
    v2    | e2                | e0       |
    Neighbouring triangles share edges, and their corresponding edge's index (in
    the other triangle) can be queried via iNeighbourEdge().
    If a Mesh is not closed, then triangles on the boundary will have less than
    3 neighbouring triangles.
    """

    null: Self
    _classInfo: 'ClassInfo'


class TriggerModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'TriggerModule'

    @property
    def size(self) -> Vec2:
        """
        UserName: Size
        """
        ...
    @size.setter
    def size(self, value: Vec2) -> None:
        ...

    @property
    def source(self) -> ContentSource:
        """
        UserName: Source
        """
        ...
    @source.setter
    def source(self, value: ContentSource) -> None:
        ...

    @property
    def speed(self) -> float:
        """
        UserName: Speed
        """
        ...
    @speed.setter
    def speed(self, value: float) -> None:
        ...

    @property
    def trigger(self) -> int:
        """
        Options: {0: 'Now'}
        UserName: Trigger
        """
        ...
    @trigger.setter
    def trigger(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class TwoPoint5DAsset(Object):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = '2.5DAsset'

    @property
    def depthMapMax(self) -> float:
        ...
    @depthMapMax.setter
    def depthMapMax(self, value: float) -> None:
        ...

    @property
    def depthMapMaxOriginal(self) -> float:
        ...
    @depthMapMaxOriginal.setter
    def depthMapMaxOriginal(self, value: float) -> None:
        ...

    @property
    def depthMapMinOriginal(self) -> float:
        ...
    @depthMapMinOriginal.setter
    def depthMapMinOriginal(self, value: float) -> None:
        ...

    @property
    def depthMapMinOverride(self) -> float:
        """
        The minimum depth in metres used when interpreting depth maps from imported assets
        Set to -1 to reload default value from file
        
        UserName: Depth map minimum override
        """
        ...
    @depthMapMinOverride.setter
    def depthMapMinOverride(self, value: float) -> None:
        ...

    @property
    def file(self) -> TwoPoint5DFile:
        ...
    @file.setter
    def file(self, value: TwoPoint5DFile) -> None:
        ...

    @property
    def fovH(self) -> float:
        """
        Horizontal field of view covered by the asset, in degrees
        """
        ...
    @fovH.setter
    def fovH(self, fovDeg: float) -> None:
        ...

    @property
    def fovV(self) -> float:
        """
        Vertical field of view covered by the asset, in degrees
        """
        ...
    @fovV.setter
    def fovV(self, fovDeg: float) -> None:
        ...

    @property
    def isExtracted(self) -> bool:
        ...
    @isExtracted.setter
    def isExtracted(self, value: bool) -> None:
        ...

    @property
    def maxDepth(self) -> float:
        """
        Maximum depth of the plates in the asset, in metres
        """
        ...
    @maxDepth.setter
    def maxDepth(self, depth: float) -> None:
        ...

    @property
    def plates(self) -> List[TwoPoint5DPlate]:
        """
        Array of plates which make up the 2.5D scene
        
        UserName: Plates
        """
        ...
    @plates.setter
    def plates(self, value: List[TwoPoint5DPlate]) -> None:
        ...

    def decrementEditorRefCount(self) -> None:
        ...

    def depthMapMinHasChanged(self) -> bool:
        ...

    def exportToFile(self) -> None:
        ...

    def extractFromFile(self, isPrimaryMachine: bool) -> None:
        ...

    def hasFile(self) -> bool:
        ...

    def incrementEditorRefCount(self) -> None:
        ...

    def onPlatesMoved(self, movedPlateIndices: List[int]) -> None:
        ...

    def renderPreview(self, resolution: Vec2, renderInGuiSpace: bool) -> DxTexture:
        ...

    def sceneAspect(self) -> float:
        ...


class TwoPoint5DFile(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = '2.5DFile'

    def __init__(self) -> None:
        """
        Default constructor for TwoPoint5DFile
        """
        ...


class TwoPoint5DModule(Module):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = '2.5DModule'

    @property
    def asset(self) -> TwoPoint5DAsset:
        """
        Asset containing the 2.5D scene to be rendered
        
        UserName: Asset
        """
        ...
    @asset.setter
    def asset(self, value: TwoPoint5DAsset) -> None:
        ...

    @property
    def mode(self) -> int:
        """
        Locks the playback of the 2.5D scene to the track's timeline
        
        Options: {0: 'Locked', 1: 'Normal'}
        UserName: Mode
        """
        ...
    @mode.setter
    def mode(self, value: int) -> None:
        ...


class TwoPoint5DPlate(Display):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = '2.5DPlate'

    @property
    def depthMapMean(self) -> float:
        ...
    @depthMapMean.setter
    def depthMapMean(self, val: float) -> None:
        ...

    @property
    def layerStack(self) -> LayerStack:
        """
        Layer stack containing the media to display on the plate
        
        UserName: Layer stack
        """
        ...
    @layerStack.setter
    def layerStack(self, value: LayerStack) -> None:
        ...

    @property
    def offsetRatios(self) -> Vec:
        ...
    @offsetRatios.setter
    def offsetRatios(self, value: Vec) -> None:
        ...

    @property
    def scaleRatios(self) -> Vec:
        ...
    @scaleRatios.setter
    def scaleRatios(self, value: Vec) -> None:
        ...

    @property
    def scaleWithDepth(self) -> bool:
        """
        Scale the plate as depth is changed to maintain the view from the origin
        
        UserName: Scale with depth
        """
        ...
    @scaleWithDepth.setter
    def scaleWithDepth(self, b: bool) -> None:
        ...

    def decrementEditorRefCount(self) -> None:
        ...

    def incrementEditorRefCount(self) -> None:
        ...

    def matchScaleToResolutionAspect(self) -> None:
        ...

    def renderPreview(self) -> DxTexture:
        ...


class TwoPoint5DSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        """
        Default constructor for TwoPoint5DSystem
        """
        ...


class UVLookupModule(ProjectionAwareModule):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'UVLookupModule'

    @property
    def contentSource(self) -> ContentSource:
        """
        UserName: Content source
        """
        ...
    @contentSource.setter
    def contentSource(self, value: ContentSource) -> None:
        ...

    @property
    def lookupSource(self) -> ContentSource:
        """
        UserName: Lookup source
        """
        ...
    @lookupSource.setter
    def lookupSource(self, value: ContentSource) -> None:
        ...

    @property
    def uvEncoding(self) -> int:
        """
        The method in which the UV coordinates are encoded in the RGBA lookup source
        
        Options: {0: 'U=R/V=G', 1: 'U=R/V=B', 2: 'UV=RGB (Packed)', 3: 'U=RG/V=BA'}
        UserName: UV encoding
        """
        ...
    @uvEncoding.setter
    def uvEncoding(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class UdpDevice(ControlDevice):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'UdpDevice'

    @property
    def IP_Address(self) -> str:
        """
        UserName: IP address
        """
        ...
    @IP_Address.setter
    def IP_Address(self, value: str) -> None:
        ...

    @property
    def port(self) -> int:
        """
        UserName: Port
        """
        ...
    @port.setter
    def port(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class UdpIndirectionController(KeyedListIndirectionController):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'UdpIndirectionController'

    @property
    def filterToIp(self) -> str:
        """
        Specify that only messages from this IP should be listened to or leave blank to receive messages from any IP
        
        UserName: Filter IP
        """
        ...
    @filterToIp.setter
    def filterToIp(self, value: str) -> None:
        ...

    @property
    def port(self) -> int:
        """
        UserName: Receive port
        """
        ...
    @port.setter
    def port(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class UdpReceiverDriver(ScreenPositionDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'UdpReceiverDriver'

    @property
    def Port(self) -> int:
        ...
    @Port.setter
    def Port(self, value: int) -> None:
        ...

    @property
    def ipFromFilter(self) -> str:
        """
        Filter by sender IP. Leave blank for any IP.
        
        UserName: IP filter
        """
        ...
    @ipFromFilter.setter
    def ipFromFilter(self, value: str) -> None:
        ...

    @property
    def multicastAddress(self) -> str:
        """
        Multicast Address. Leave blank for broadcast.
        
        UserName: Multicast address
        """
        ...
    @multicastAddress.setter
    def multicastAddress(self, value: str) -> None:
        ...

    def __init__(self) -> None:
        ...


class UidManager(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'
    get: Callable

    def getResource(self, uid: int) -> Resource:
        ...


class UidNotFound(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class UndistImageResult(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def camName(self) -> str:
        ...

    @property
    def undistTex(self) -> DxTexture:
        ...

    def __init__(self, other: UndistImageResult) -> None:
        """
        Copy constructor for UndistImageResult
        """
        ...


class UndoSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...

    def redo(self) -> None:
        """
        redo
        """
        ...

    def undo(self) -> None:
        """
        undo
        """
        ...


class Undoable(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, name: str) -> None:
        ...


class UnicanAxisState(TrackingScalarState):
    null: Self
    _classInfo: 'ClassInfo'


class UnicanOpenCue(UdpReceiverDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'UnicanOpenCueDriver'

    def __init__(self) -> None:
        ...


class UnitTypeAttribute(ReflectionAttributeT):
    null: Self
    _classInfo: 'ClassInfo'
    Boolean: Final = 1
    Brightness: Final = 2
    Loudness: Final = 3
    None_: Final = 0
    NormalisedColourChannel: Final = 4

    @property
    def UnitType(self) -> int:
        ...


class UnrealEngineDefinition(EngineDefinition):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        """
        Default constructor for UnrealEngineDefinition
        """
        ...


class UnrealEngineSettings(EngineSettings):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def configFilename(self) -> str:
        """
        Specific nDisplay config to use, for example with mesh policy
        Value is the filename excluding the extension and should be placed in the folder
        <renderstream projects folder>\\renderstream_workloads\\unreal\\<asset_name>\\<asset_name>
        
        UserName: nDisplay config file override
        """
        ...
    @configFilename.setter
    def configFilename(self, configFilename: str) -> None:
        ...

    @property
    def ddcPath(self) -> str:
        """
        Extra command line arguments to launch the asset with.
        
        UserName: Unreal DDC path
        """
        ...
    @ddcPath.setter
    def ddcPath(self, ddcPath: str) -> None:
        ...

    @property
    def enableEngineSynchronisation(self) -> bool:
        """
        Use one large ndisplay cluster to ensure scene animation is kept in sync across render nodes.
        Note: disguise controlled parameters are always applied in sync.
        Note: disguise cannot guarantee all features synchronise correctly - this is an engine feature.
        Note: This setting is not used by RenderStream Local workloads.
        
        UserName: Engine animation sync
        """
        ...
    @enableEngineSynchronisation.setter
    def enableEngineSynchronisation(self, e: bool) -> None:
        ...

    @property
    def enableUnrealWindow(self) -> bool:
        """
        Show unreal window on render node, otherwise hidden.
        Workload must be restarted before this takes effect.
        Should only be used for debugging
        
        UserName: Enable Unreal window
        """
        ...
    @enableUnrealWindow.setter
    def enableUnrealWindow(self, value: bool) -> None:
        ...

    @property
    def multiUserHost(self) -> str:
        """
        Unreal multi-user server hostname.
        
        UserName: Multi-user session host
        """
        ...
    @multiUserHost.setter
    def multiUserHost(self, multiUserHost: str) -> None:
        ...

    @property
    def multiUserSessionName(self) -> str:
        """
        Unreal multi-user session name to connect to.
        
        UserName: Multi-user session name
        """
        ...
    @multiUserSessionName.setter
    def multiUserSessionName(self, multiUserSessionName: str) -> None:
        ...

    @property
    def useMultiUserEdit(self) -> bool:
        """
        Appends CLI arguments to enable multi-user mode in Unreal.
        
        UserName: Enable multi-user edit
        """
        ...
    @useMultiUserEdit.setter
    def useMultiUserEdit(self, useMultiUserEdit: bool) -> None:
        ...

    def __init__(self) -> None:
        ...


class UnrealEngineSettingsResource(EngineSettingsResource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'UnrealEngineSettingsResource'

    @property
    def settings(self) -> UnrealEngineSettings:
        """
        UserName:
        """
        ...
    @settings.setter
    def settings(self, value: UnrealEngineSettings) -> None:
        ...

    def __init__(self) -> None:
        ...


class UnsubscribeMessage(Message):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def eventType(self) -> str:
        ...
    @eventType.setter
    def eventType(self, value: str) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: UnsubscribeMessage) -> None:
        """
        Copy constructor for UnsubscribeMessage
        """
        ...


class UnusedMediaDomain(Domain):
    null: Self
    _classInfo: 'ClassInfo'

    def deleteAllUnusedMedia(self, includeEditors: bool) -> None:
        ...

    def deleteAllUnusedMediaOfName(self, filename: str, includeEditors: bool) -> None:
        ...

    def deleteUnusedMedia(self, arg0: MachineMedia) -> None:
        ...

    def getAllRemovableUnusedMedia(self) -> List[MachineMedia]:
        ...

    def getAllRemovableUnusedMediaSize(self) -> int:
        ...


class UnusedMediaDomainConnection(DomainConnection):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class UnusedMediaList(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'UnusedMediaList'

    @property
    def archiveAction(self) -> int:
        ...
    @archiveAction.setter
    def archiveAction(self, value: int) -> None:
        ...

    @property
    def files(self) -> List[VideoFile]:
        ...
    @files.setter
    def files(self, value: List[VideoFile]) -> None:
        ...

    def __init__(self) -> None:
        ...


class UserAbortException(DetailedException):
    null: Self
    _classInfo: 'ClassInfo'


class UserInfoDispatcher(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class UserInfoMessage(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class UserInfoProcessMessageHandler(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class UserInfoServer(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class UserInfoTable(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class UserNameAttribute(ReflectionAttributeT):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def userName(self) -> str:
        ...


class UserSetList(SetList):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'UserSetList'

    @property
    def tracks(self) -> List[Track]:
        """
        UserName: Tracks
        """
        ...
    @tracks.setter
    def tracks(self, value: List[Track]) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for UserSetList
        """
        ...


class UvManipulatorMaterial(DxMaterial):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class UvMaterial(DxMaterial):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class UvPositionDeltaMesh(DeltaMesh):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'UvPositionDeltaMesh'

    def __init__(self) -> None:
        """
        Default constructor for UvPositionDeltaMesh
        """
        ...


class VClass(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'VClass'

    @property
    def i(self) -> int:
        ...
    @i.setter
    def i(self, value: int) -> None:
        ...

    @property
    def rp1(self) -> VClass:
        ...
    @rp1.setter
    def rp1(self, value: VClass) -> None:
        ...

    @property
    def rp2(self) -> VClass:
        ...
    @rp2.setter
    def rp2(self, value: VClass) -> None:
        ...

    @property
    def str(self) -> str:
        ...
    @str.setter
    def str(self, value: str) -> None:
        ...

    @property
    def str2(self) -> str:
        ...
    @str2.setter
    def str2(self, value: str) -> None:
        ...

    def __init__(self) -> None:
        ...


class VFCDevice(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'VFCDevice'
    COLOUR_FMT_422: Final = 2
    COLOUR_FMT_444: Final = 1
    COLOUR_FMT_AUTO: Final = 5
    COLOUR_FMT_RGB: Final = 0
    COLOUR_FMT_RGB_LIMITED: Final = 4
    GEN_ONE: Final = 0
    GEN_TWO: Final = 1
    MODEL_HDMI: Final = 4
    MODEL_IP: Final = 5
    MODEL_NO_VFC: Final = 0
    MODEL_PASSTHROUGH: Final = 1
    MODEL_QUAD_DVI: Final = 2
    MODEL_QUAD_SDI: Final = 3
    SLOTTYPE_BLANK_PLATE: Final = 3
    SLOTTYPE_DIRECT: Final = 1
    SLOTTYPE_GUI: Final = 0
    SLOTTYPE_PLUGGABLE: Final = 2
    SPLIT_DUAL: Final = 1
    SPLIT_MIRROR: Final = 0
    SPLIT_QUAD: Final = 2
    SPLIT_QUAD_4K: Final = 3
    VID_OUT_SDI: Final = 1
    VID_OUT_ST2110: Final = 0
    onSplitModeChanged: Callable

    @property
    def activePortConfigs(self) -> List[VFCPortConfig]:
        ...

    @property
    def colourFormat(self) -> int:
        ...
    @colourFormat.setter
    def colourFormat(self, value: int) -> None:
        ...

    @property
    def emulateEDID(self) -> int:
        """
        Always - Emulated EDID always, even when no display is connected
        If Connected - Emulate EDID only when a display is connected to the output
        Unmanaged - Do not modify current EDID emulation
        Force Off - Do not emulate EDID, remove existing if set
        
        Options: {0: 'Always', 1: 'If Connected', 2: 'Unmanaged', 3: 'Force Off'}
        """
        ...
    @emulateEDID.setter
    def emulateEDID(self, value: int) -> None:
        ...

    @property
    def model(self) -> int:
        """
        Options: {0: 'No VFC', 1: 'Passthrough', 2: 'Quad DVI', 3: 'Quad SDI', 4: 'HDMI', 5: 'IP'}
        """
        ...
    @model.setter
    def model(self, value: int) -> None:
        ...

    @property
    def modelString(self) -> str:
        ...

    @property
    def nActivePorts(self) -> int:
        ...

    @property
    def networkConfigEth(self) -> List[VFCIPNetConfig]:
        ...
    @networkConfigEth.setter
    def networkConfigEth(self, value: List[VFCIPNetConfig]) -> None:
        ...

    @property
    def networkConfigNVMEth(self) -> List[VFCIPNetConfig]:
        ...
    @networkConfigNVMEth.setter
    def networkConfigNVMEth(self, value: List[VFCIPNetConfig]) -> None:
        ...

    @property
    def outputResolution(self) -> Int2:
        ...
    @outputResolution.setter
    def outputResolution(self, value: Int2) -> None:
        ...

    @property
    def portConfigs(self) -> List[VFCPortConfig]:
        ...
    @portConfigs.setter
    def portConfigs(self, value: List[VFCPortConfig]) -> None:
        ...

    @property
    def portsLayout(self) -> Int2:
        ...

    @property
    def slotType(self) -> int:
        ...
    @slotType.setter
    def slotType(self, value: int) -> None:
        ...

    @property
    def splitMode(self) -> int:
        """
        Options: {0: 'Mirror', 1: 'Dual', 2: 'Quad', 3: 'Quad 4K'}
        """
        ...
    @splitMode.setter
    def splitMode(self, value: int) -> None:
        ...

    @property
    def splitModeString(self) -> str:
        ...

    @property
    def subSampling(self) -> int:
        """
        Options: {0: 'RGB 4:4:4', 1: 'YCbCr 4:4:4', 2: 'YCbCr 4:2:2'}
        """
        ...
    @subSampling.setter
    def subSampling(self, value: int) -> None:
        ...

    @property
    def videoOutputMode(self) -> int:
        """
        Options: {0: 'ST2110', 1: 'SDI'}
        """
        ...
    @videoOutputMode.setter
    def videoOutputMode(self, value: int) -> None:
        ...

    def getOrCreateIPNetNVMConfig(self, itf: int) -> VFCIPNetConfig:
        ...

    def updateOutputResolution(self) -> None:
        ...


class VFCDeviceMap(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'VFCDeviceMap'

    @property
    def devices(self) -> List[VFCDevice]:
        ...
    @devices.setter
    def devices(self, value: List[VFCDevice]) -> None:
        ...

    def getSlotOrder(self) -> List[int]:
        ...


class VFCFpgaVersion(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, maj: int, min: int, build: int) -> None:
        ...

    @overload
    def __init__(self, v: VFCFpgaVersion) -> None:
        ...

    def __ge__(self, other: VFCFpgaVersion) -> bool:
        ...

    def __gt__(self, other: VFCFpgaVersion) -> bool:
        ...

    def __le__(self, other: VFCFpgaVersion) -> bool:
        ...

    def __lt__(self, other: VFCFpgaVersion) -> bool:
        ...

    def toString(self) -> str:
        ...


class VFCIPNetConfig(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'VFCIPNetConfig'

    @property
    def dns(self) -> str:
        ...
    @dns.setter
    def dns(self, value: str) -> None:
        ...

    @property
    def domain(self) -> str:
        ...
    @domain.setter
    def domain(self, value: str) -> None:
        ...

    @property
    def gw(self) -> IPAddress:
        ...
    @gw.setter
    def gw(self, value: IPAddress) -> None:
        ...

    @property
    def host(self) -> str:
        ...
    @host.setter
    def host(self, value: str) -> None:
        ...

    @property
    def ip(self) -> IPAddress:
        ...
    @ip.setter
    def ip(self, value: IPAddress) -> None:
        ...

    @property
    def mask(self) -> IPAddress:
        ...
    @mask.setter
    def mask(self, value: IPAddress) -> None:
        ...

    @property
    def networkMode(self) -> int:
        """
        Options: {0: 'STATIC', 1: 'DHCP'}
        """
        ...
    @networkMode.setter
    def networkMode(self, value: int) -> None:
        ...


class VFCPortConfig(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'VFCPortConfig'
    AUTO: Final = 3
    BT_2020: Final = 2
    BT_601: Final = 0
    BT_709: Final = 1
    HLG: Final = 1
    INTERLACED: Final = 0
    PQ: Final = 2
    PROGRESSIVE: Final = 1
    QUAD_DIVISION_INTERLEAVED: Final = 1
    QUAD_DIVISION_SQUARE: Final = 0
    SDR: Final = 0
    SMPTE_INVALID: Final = 0
    TIMING_AUTO: Final = 0
    TIMING_CVT: Final = 2
    TIMING_CVT_RB: Final = 3
    TIMING_CVT_RB_V2: Final = 4
    TIMING_SMPTE: Final = 1
    Unspecified: Final = 3

    @property
    def colourConversion(self) -> int:
        """
        Options: {0: 'BT.601', 1: 'BT.709', 2: 'BT.2020', 3: 'AUTO'}
        """
        ...
    @colourConversion.setter
    def colourConversion(self, value: int) -> None:
        ...

    @property
    def dualLink(self) -> bool:
        ...
    @dualLink.setter
    def dualLink(self, value: bool) -> None:
        ...

    @property
    def fsStart(self) -> int:
        ...
    @fsStart.setter
    def fsStart(self, value: int) -> None:
        ...

    @property
    def interlaced(self) -> bool:
        ...
    @interlaced.setter
    def interlaced(self, value: bool) -> None:
        ...

    @property
    def matrixInput(self) -> str:
        """
        DVI Matrix input identifier (e.g. "1.1")
        """
        ...
    @matrixInput.setter
    def matrixInput(self, value: str) -> None:
        ...

    @property
    def quadDivision(self) -> int:
        ...
    @quadDivision.setter
    def quadDivision(self, value: int) -> None:
        ...

    @property
    def resolution(self) -> Int2:
        ...
    @resolution.setter
    def resolution(self, resolution: Int2) -> None:
        ...

    @property
    def sdiMode(self) -> int:
        ...
    @sdiMode.setter
    def sdiMode(self, value: int) -> None:
        ...

    @property
    def timingMode(self) -> int:
        ...
    @timingMode.setter
    def timingMode(self, value: int) -> None:
        ...

    @property
    def transferCharacteristics(self) -> int:
        """
        Options: {0: 'SDR-TV', 1: 'HLG', 2: 'PQ', 3: 'Unspecified'}
        UserName: Transfer characteristics
        """
        ...
    @transferCharacteristics.setter
    def transferCharacteristics(self, value: int) -> None:
        ...

    @property
    def txIPDestination(self) -> List[VFCTxIPDestination]:
        ...
    @txIPDestination.setter
    def txIPDestination(self, value: List[VFCTxIPDestination]) -> None:
        ...

    def getOrCreateTxIPDestination(self, portIndex: int, itf: int) -> VFCTxIPDestination:
        ...


class VFCTxIPDestination(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'VFCTxIPDestination'

    @property
    def ip(self) -> IPAddress:
        ...
    @ip.setter
    def ip(self, value: IPAddress) -> None:
        ...

    @property
    def port(self) -> int:
        ...
    @port.setter
    def port(self, value: int) -> None:
        ...

    @property
    def rtpPayloadTypeId(self) -> int:
        ...
    @rtpPayloadTypeId.setter
    def rtpPayloadTypeId(self, value: int) -> None:
        ...


class VRSettings(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'VRSettings'

    @property
    def camera(self) -> Camera:
        """
        Camera settings for the VR scene
        
        UserName: Camera Settings
        """
        ...
    @camera.setter
    def camera(self, value: Camera) -> None:
        ...

    @property
    def floor(self) -> Object:
        """
        Select the scene object to use as the floor
        
        UserName: Floor object
        """
        ...
    @floor.setter
    def floor(self, value: Object) -> None:
        ...

    @property
    def moveSpeed(self) -> float:
        """
        speed at which user 'walks' through environment (m/s). Zero means jump immediately
        
        UserName: Movement speed (m/s)
        """
        ...
    @moveSpeed.setter
    def moveSpeed(self, value: float) -> None:
        ...

    @property
    def offset(self) -> Vec:
        """
        offset between stage origin and VR frame of reference; modify this to move the stage's home position relative to the real room
        
        UserName: Home position
        """
        ...
    @offset.setter
    def offset(self, value: Vec) -> None:
        ...

    @property
    def roomProp(self) -> Prop:
        """
        Prop which represents the room the VR user is standing in
        
        UserName: Room prop
        """
        ...
    @roomProp.setter
    def roomProp(self, value: Prop) -> None:
        ...

    @property
    def scale(self) -> float:
        """
        scale factor from real room space to stage space
        
        UserName: Room scale
        """
        ...
    @scale.setter
    def scale(self, value: float) -> None:
        ...

    @property
    def yawDegrees(self) -> float:
        """
        rotation (in degrees) around vertical axis of stage relative to VR frame of reference; modify to set the orientation of the stage relative to the real room
        
        UserName: Room rotation
        """
        ...
    @yawDegrees.setter
    def yawDegrees(self, value: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class VRSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def leftEyeTarget(self) -> DxTexture:
        ...

    @property
    def rightEyeTarget(self) -> DxTexture:
        ...

    @property
    def settings(self) -> VRSettings:
        ...

    def __init__(self) -> None:
        """
        Default constructor for VRSystem
        """
        ...

    def hasHMD(self) -> bool:
        ...

    def resetPosition(self) -> None:
        ...


class VRUser(Object):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'VRUser'

    def __init__(self) -> None:
        """
        Default constructor for VRUser
        """
        ...


class ValueBoxProperty(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def name(self) -> str:
        ...

    @property
    def type(self) -> Type:
        ...

    @overload
    def __init__(self, other: ValueBoxProperty) -> None:
        """
        Copy constructor for ValueBoxProperty
        """
        ...

    @overload
    def __init__(self, name: str, getter: Callable, setter: Callable) -> None:
        ...

    @overload
    def __init__(self, name: str, getter: Callable, setter: Callable, type: Type) -> None:
        ...

    @overload
    def __init__(self, name: str, getter: Callable, setter: Callable, object: ReflectionValue, arg4: ReflectionAttributeContainer) -> None:
        ...

    def attributes(self) -> ReflectionAttributeContainer:
        ...

    def field(self) -> FieldInfo:
        ...

    def getter(self) -> Callable:
        ...

    def object(self) -> ReflectionValue:
        ...

    def property_(self) -> PropertyInfo:
        ...

    def setter(self) -> Callable:
        ...


class ValueRange(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def min(self) -> float:
        ...

    def __init__(self, other: ValueRange) -> None:
        """
        Copy constructor for ValueRange
        """
        ...

    def rangeSpan(self) -> float:
        ...


class VariableVideoModule(ProjectionAwareModule):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'VideoModule'

    @property
    def acesExposure(self) -> float:
        """
        Input exposure transform (stops)
        
        Category: Colour
        UserName: Exposure
        """
        ...
    @acesExposure.setter
    def acesExposure(self, value: float) -> None:
        ...

    @property
    def acesGamma(self) -> float:
        """
        Input gamma transform
        
        Category: Colour
        UserName: Gamma
        """
        ...
    @acesGamma.setter
    def acesGamma(self, value: float) -> None:
        ...

    @property
    def at_end_point(self) -> int:
        """
        Defines the behaviour of the clip when it reaches its end point:
        Loop: Loop back to the beginning and play from there
        Ping-pong: Play in reverse back to the beginning
        Pause: Pause on the last frame
        
        Options: {0: 'Loop', 1: 'Ping-pong', 2: 'Pause'}
        Category: Media
        UserName: At end point
        """
        ...
    @at_end_point.setter
    def at_end_point(self, value: int) -> None:
        ...

    @property
    def bottom(self) -> float:
        """
        Category: Crop
        UserName: Bottom
        """
        ...
    @bottom.setter
    def bottom(self, value: float) -> None:
        ...

    @property
    def cdl(self) -> CDL:
        """
        ASC CDL format colour grading in Slope, Offset, Power and Saturation controls. (ACES/OCIO)
        
        Category: Colour
        UserName: CDL
        """
        ...
    @cdl.setter
    def cdl(self, value: CDL) -> None:
        ...

    @property
    def clipEndFrame(self) -> int:
        ...

    @property
    def clipLoopEndFrame(self) -> int:
        ...

    @property
    def clipLoopStartFrame(self) -> int:
        ...

    @property
    def clipNFrames(self) -> int:
        ...

    @property
    def clipStartFrame(self) -> int:
        ...

    @property
    def colour_shift(self) -> ColourShift:
        """
        Category: Audio
        UserName: Colour Shift
        """
        ...
    @colour_shift.setter
    def colour_shift(self, value: ColourShift) -> None:
        ...

    @property
    def cropSoftness(self) -> float:
        """
        Enables a vignette effect by softening the edges of the crop
        
        Category: Crop
        UserName: Vignette
        """
        ...
    @cropSoftness.setter
    def cropSoftness(self, value: float) -> None:
        ...

    @property
    def frameNumberDisplay(self) -> int:
        ...

    @property
    def left(self) -> float:
        """
        Category: Crop
        UserName: Left
        """
        ...
    @left.setter
    def left(self, value: float) -> None:
        ...

    @property
    def mode(self) -> int:
        """
        Options: {0: 'Locked', 1: 'Normal'}
        Category: Media
        UserName: Mode
        """
        ...
    @mode.setter
    def mode(self, value: int) -> None:
        ...

    @property
    def ocioContrast(self) -> float:
        """
        Input contrast transform
        
        Category: Colour
        UserName: Contrast
        """
        ...
    @ocioContrast.setter
    def ocioContrast(self, value: float) -> None:
        ...

    @property
    def ocioExposure(self) -> float:
        """
        Input exposure transform (stops).
        
        Category: Colour
        UserName: Exposure
        """
        ...
    @ocioExposure.setter
    def ocioExposure(self, value: float) -> None:
        ...

    @property
    def ocioGamma(self) -> float:
        """
        Imput gamma transform
        
        Category: Colour
        UserName: Gamma
        """
        ...
    @ocioGamma.setter
    def ocioGamma(self, value: float) -> None:
        ...

    @property
    def ocioShaderProperties(self) -> OcioShaderProperties:
        ...
    @ocioShaderProperties.setter
    def ocioShaderProperties(self, value: OcioShaderProperties) -> None:
        ...

    @property
    def output(self) -> LogicalAudioOutDevice:
        """
        Category: Audio
        UserName: Output
        """
        ...
    @output.setter
    def output(self, value: LogicalAudioOutDevice) -> None:
        ...

    @property
    def pos(self) -> Vec2:
        """
        Category: Move
        UserName: Pos
        """
        ...
    @pos.setter
    def pos(self, value: Vec2) -> None:
        ...

    @property
    def right(self) -> float:
        """
        Category: Crop
        UserName: Right
        """
        ...
    @right.setter
    def right(self, value: float) -> None:
        ...

    @property
    def rotation(self) -> float:
        """
        Category: Move
        UserName: Rotation
        """
        ...
    @rotation.setter
    def rotation(self, value: float) -> None:
        ...

    @property
    def scale(self) -> Vec2:
        """
        Category: Move
        UserName: Scale
        """
        ...
    @scale.setter
    def scale(self, value: Vec2) -> None:
        ...

    @property
    def size(self) -> float:
        """
        Category: Move
        UserName: Size
        """
        ...
    @size.setter
    def size(self, value: float) -> None:
        ...

    @property
    def speed(self) -> float:
        """
        Category: Media
        UserName: Speed
        """
        ...
    @speed.setter
    def speed(self, value: float) -> None:
        ...

    @property
    def top(self) -> float:
        """
        Category: Crop
        UserName: Top
        """
        ...
    @top.setter
    def top(self, value: float) -> None:
        ...

    @property
    def transition_time(self) -> float:
        """
        Category: Media
        UserName: Transition time
        """
        ...
    @transition_time.setter
    def transition_time(self, value: float) -> None:
        ...

    @property
    def video(self) -> VideoClip:
        """
        Category: Media
        UserName: Video
        """
        ...
    @video.setter
    def video(self, value: VideoClip) -> None:
        ...

    @property
    def volume(self) -> float:
        """
        Category: Audio
        UserName: Volume
        """
        ...
    @volume.setter
    def volume(self, value: float) -> None:
        ...


class VariableVideoTransitionModule(VariableVideoModule):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'VideoTransitionModule'

    @property
    def bias(self) -> float:
        """
        Category: Bias
        UserName: Bias
        """
        ...
    @bias.setter
    def bias(self, value: float) -> None:
        ...

    @property
    def mix_hardness(self) -> float:
        """
        Category: Bias
        UserName: Mix hardness
        """
        ...
    @mix_hardness.setter
    def mix_hardness(self, value: float) -> None:
        ...

    @property
    def source0(self) -> ContentSource:
        """
        Category: Input
        UserName: Source 1
        """
        ...
    @source0.setter
    def source0(self, value: ContentSource) -> None:
        ...

    @property
    def source1(self) -> ContentSource:
        """
        Category: Input
        UserName: Source 2
        """
        ...
    @source1.setter
    def source1(self, value: ContentSource) -> None:
        ...

    def __init__(self) -> None:
        ...


class Vec(_BlipValue):
    """
    A three-dimensional vector with x, y and z components.
    """

    null: Self
    _classInfo: 'ClassInfo'

    @property
    def maxComponent(self) -> float:
        """
        The maximum component of the vector.
        """
        ...

    @property
    def minComponent(self) -> float:
        """
        The minimum component of the vector.
        """
        ...

    @property
    def x(self) -> float:
        """
        The x component of the vector.
        
        UserName: X
        """
        ...
    @x.setter
    def x(self, value: float) -> None:
        ...

    @property
    def y(self) -> float:
        """
        The y component of the vector.
        
        UserName: Y
        """
        ...
    @y.setter
    def y(self, value: float) -> None:
        ...

    @property
    def z(self) -> float:
        """
        The z component of the vector.
        
        UserName: Z
        """
        ...
    @z.setter
    def z(self, value: float) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, _x: float, _y: float) -> None:
        ...

    @overload
    def __init__(self, _x: float, _y: float, _z: float) -> None:
        ...

    @overload
    def __init__(self, v: Vec2) -> None:
        ...

    @overload
    def __init__(self, other: Vec) -> None:
        """
        Copy constructor for Vec
        """
        ...

    def __add__(self, v: Vec) -> Vec:
        """
        Adds two vectors.
        
        :param v: The Vec object to add to this one.
        
        :return The component-wise sum of this and the input vector.
        """
        ...

    def __div__(self, s) -> Any:
        """
        Divides the vector by a scalar value.
        
        :param s: The scalar value to divide the vector by.
        
        :return A new vector that is the result of dividing the components of this vector by the given scalar value.
        """
        ...

    def __eq__(self, v: Vec) -> bool:
        """
        Tests for equality between two vectors.
        
        :param v: The vector to compare with.
        
        :return True if all components of the vectors are equal, false otherwise.
        """
        ...

    def __getitem__(self, key) -> Any:
        """
        Get an item from the Vec by index.
        
        :param key: The index of the desired item. Must be 0, 1 or 2
        
        :return The x element if the index is 0, the y element if the index is 1, the z element if the index is 2
        """
        ...

    def __len__(self) -> Any:
        """
        The length of the Vec
        
        :return Always returns 3
        """
        ...

    def __mul__(self, s) -> Any:
        """
        Multiplies the vector by a scalar value.
        
        :param s: The scalar value to multiply with.
        
        :return A new vector that is the result of multiplying the components of this vector by the given scalar value.
        """
        ...

    def __ne__(self, v: Vec) -> bool:
        """
        Tests for inequality between two vectors.
        
        :param v: The other vector to compare with.
        
        :return True if any of the components of the vectors are not equal, false otherwise.
        """
        ...

    def __neg__(self) -> Any:
        """
        The negative of the Vec
        
        :return The Vec with its x, y and z components negated
        """
        ...

    def __rdiv__(self, other) -> Any:
        """
        Divide another vector by this vector
        
        :param other: The vector which is divided by this
        
        :return The element-wise division other/self
        """
        ...

    def __repr__(self) -> Any:
        """
        String representation of the Vec
        """
        ...

    def __rmul__(self, s) -> Any:
        """
        Multiplies the vector by a scalar value.
        
        :param s: The scalar value to multiply with.
        
        :return A new vector that is the result of multiplying the components of this vector by the given scalar value.
        """
        ...

    def __str__(self) -> Any:
        """
        String representation of the Vec
        """
        ...

    def __sub__(self, v: Vec) -> Vec:
        """
        Subtracts another vector from this vector.
        
        :param v: The vector to subtract from this vector.
        
        :return The resulting vector after component-wise subtraction.
        """
        ...

    def _initParams(self) -> Any:
        """
        A serialisable tuple of the Vec parameters
        """
        ...

    def angles(self) -> Vec:
        """
        The Euler angles that rotate (0,0,-1) to be parallel with this vector.
        
        :return The Euler angles as a Vec of (heading, elevation, 0), in normalised coordinates.
        """
        ...

    def cross(self, v: Vec) -> Vec:
        """
        The cross product of two vectors.
        
        :param v: The other vector.
        
        :return The cross product of this vector and the other vector.
        """
        ...

    def dot(self, v: Vec) -> float:
        """
        The dot product of two vectors.
        
        :param v: The other vector to calculate the dot product with.
        
        :return The dot product of this vector and the other vector.
        """
        ...

    def length(self) -> float:
        """
        The length of the vector in 3D space.
        
        :return The length of the vector.
        """
        ...

    def modulo(self, v: Vec) -> Vec:
        """
        Modulo of two vectors.
        
        :param v: The other vector.
        
        :return A new vector with the component-wise modulo of this vector and the other vector.
        """
        ...

    def normalise(self) -> Vec:
        """
        Normalises the vector to have a length of 1.
        
        :return The normalised vector.
        """
        ...

    def restrict(self, min: Vec, max: Vec) -> Vec:
        """
        Restricts the vector to be within a minimum and maximum range.
        
        :param min: A vector of minimum values for each component.
        :param max: A vector of maximum values for each component.
        
        :return A new vector with components restricted to the minimum and maximum range.
        """
        ...

    def round(self, v: Vec) -> Vec:
        """
        Rounds the components of this vector.
        
        :param v: A vector of multiples each component is rounded to. e.g. (1, 1, 1) to round to the nearest integer.
        
        :return A new vector with rounded components.
        """
        ...

    def vmax(self, v: Vec) -> Vec:
        """
        Component-wise maximum of two vectors.
        
        :param v: The other vector to compare with.
        
        :return A new vector containing the component-wise maximum of this and the other vector.
        """
        ...

    def vmin(self, v: Vec) -> Vec:
        """
        Component-wise minimum of two vectors.
        
        :param v: The other vector to compare with.
        
        :return A new vector containing the component-wise minimum of this and the other vector.
        """
        ...


class Vec2(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def maxComponent(self) -> float:
        ...

    @property
    def minComponent(self) -> float:
        ...

    @property
    def x(self) -> float:
        """
        UserName: X
        """
        ...
    @x.setter
    def x(self, value: float) -> None:
        ...

    @property
    def y(self) -> float:
        """
        UserName: Y
        """
        ...
    @y.setter
    def y(self, value: float) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, other: Vec2) -> None:
        """
        Copy constructor for Vec2
        """
        ...

    @overload
    def __init__(self, v: Int2) -> None:
        ...

    @overload
    def __init__(self, v: Vec) -> None:
        ...

    @overload
    def __init__(self, _x: float, _y: float) -> None:
        ...

    def __add__(self, v: Vec2) -> Vec2:
        ...

    def __div__(self, s) -> Any:
        ...

    def __eq__(self, v: Vec2) -> bool:
        ...

    def __getitem__(self, key) -> Any:
        """
        Get an item from the Vec2 by index.
        
        :param key: The index of the desired item. Must be 0 or 1
        
        :return The x element if the index is 0, the y element if the index is 1
        """
        ...

    def __len__(self) -> Any:
        """
        The length of the Vec2
        
        :return Always returns 2
        """
        ...

    def __mul__(self, s) -> Any:
        ...

    def __ne__(self, v: Vec2) -> bool:
        ...

    def __neg__(self) -> Any:
        """
        The negative of the Vec2
        
        :return The Vec2 with its x and y components negated
        """
        ...

    def __rdiv__(self, other) -> Any:
        """
        Divide another vector by this vector
        
        :param other: The vector which is divided by this
        
        :return The element-wise division other/self
        """
        ...

    def __repr__(self) -> Any:
        """
        String representation of the Vec2
        """
        ...

    def __rmul__(self, s) -> Any:
        ...

    def __str__(self) -> Any:
        """
        String representation of the Vec2
        """
        ...

    def __sub__(self, v: Vec2) -> Vec2:
        ...

    def _initParams(self) -> Any:
        """
        A serialisable tuple of the Int2 parameters
        """
        ...

    def abs(self) -> Vec2:
        ...

    def angle(self) -> float:
        ...

    def aspect(self) -> float:
        ...

    def dot(self, v: Vec2) -> float:
        ...

    def length(self) -> float:
        ...

    def normalise(self) -> Vec2:
        ...

    def restrict(self, min: Vec2, max: Vec2) -> Vec2:
        ...

    def rotate(self, a: float) -> Vec2:
        ...

    def round(self, f: float) -> Vec2:
        ...

    def vmax(self, v: Vec2) -> Vec2:
        ...

    def vmin(self, v: Vec2) -> Vec2:
        ...


class VecD(_BlipValue):
    """
    3D vector of double precision values.
    
    A direct copy of Vec, except for replacing 'float' with 'double'.
    """

    null: Self
    _classInfo: 'ClassInfo'

    @property
    def maxComponent(self) -> float:
        ...

    @property
    def minComponent(self) -> float:
        ...

    @property
    def x(self) -> float:
        """
        UserName: X
        """
        ...
    @x.setter
    def x(self, value: float) -> None:
        ...

    @property
    def y(self) -> float:
        """
        UserName: Y
        """
        ...
    @y.setter
    def y(self, value: float) -> None:
        ...

    @property
    def z(self) -> float:
        """
        UserName: Z
        """
        ...
    @z.setter
    def z(self, value: float) -> None:
        ...

    @overload
    def __init__(self) -> None:
        ...

    @overload
    def __init__(self, _x: float, _y: float) -> None:
        ...

    @overload
    def __init__(self, _x: float, _y: float, _z: float) -> None:
        ...

    @overload
    def __init__(self, v: Vec2) -> None:
        ...

    @overload
    def __init__(self, v: Vec) -> None:
        ...

    @overload
    def __init__(self, other: VecD) -> None:
        """
        Copy constructor for VecD
        """
        ...

    def __add__(self, v: VecD) -> VecD:
        ...

    def __div__(self, v: VecD) -> VecD:
        ...

    def __eq__(self, v: VecD) -> bool:
        ...

    def __mul__(self, v: VecD) -> VecD:
        ...

    def __ne__(self, v: VecD) -> bool:
        ...

    def __sub__(self, v: VecD) -> VecD:
        ...

    def angles(self) -> VecD:
        ...

    def cross(self, v: VecD) -> VecD:
        ...

    def dot(self, v: VecD) -> float:
        ...

    def length(self) -> float:
        ...

    def normalise(self) -> VecD:
        ...

    def round(self, v: VecD) -> VecD:
        ...


class VectorscopeComputeMaterial(DxMaterial):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class Venue(Object):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Venue'

    @property
    def props(self) -> List[Prop]:
        """
        List of prop objects (including buildings, people and props)
        
        UserName: Props
        """
        ...
    @props.setter
    def props(self, value: List[Prop]) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for Venue
        """
        ...


class Vert(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def binormal(self) -> Vec:
        ...
    @binormal.setter
    def binormal(self, value: Vec) -> None:
        ...

    @property
    def colour(self) -> Col:
        ...
    @colour.setter
    def colour(self, value: Col) -> None:
        ...

    @property
    def inode(self) -> int:
        ...
    @inode.setter
    def inode(self, value: int) -> None:
        ...

    @property
    def normal(self) -> Vec:
        ...
    @normal.setter
    def normal(self, n: Vec) -> None:
        ...

    @property
    def pos(self) -> Vec:
        ...
    @pos.setter
    def pos(self, v: Vec) -> None:
        ...

    @property
    def tangent(self) -> Vec:
        ...
    @tangent.setter
    def tangent(self, n: Vec) -> None:
        ...

    @property
    def texCoord(self) -> Vec2:
        ...
    @texCoord.setter
    def texCoord(self, t: Vec2) -> None:
        ...

    @property
    def texCoord2(self) -> Vec2:
        ...
    @texCoord2.setter
    def texCoord2(self, t: Vec2) -> None:
        ...

    @property
    def texCoord3(self) -> Vec2:
        ...
    @texCoord3.setter
    def texCoord3(self, t: Vec2) -> None:
        ...


class VertNormalVisualiser(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class VertexNormalComputeMaterial(DxMaterial):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class ViconDataStreamDriver(ScreenPositionDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ViconDataStreamDriver'

    @property
    def ipEndpoint(self) -> IPEndpoint:
        """
        IP address and port to connect to
        
        UserName: IP endpoint
        """
        ...
    @ipEndpoint.setter
    def ipEndpoint(self, value: IPEndpoint) -> None:
        ...

    def __init__(self) -> None:
        ...


class VideoAsset(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'VideoAsset'
    fileToAssetData: Callable

    @property
    def audioSampleRate(self) -> float:
        """
        Maximum number of bits per channel
        """
        ...
    @audioSampleRate.setter
    def audioSampleRate(self, value: float) -> None:
        ...

    @property
    def bitDepth(self) -> int:
        """
        Bit depth of the original video (in Bits)
        
        Options: {0: 'Unknown', 1: '1 Bit', 2: '2 Bits', 3: '3 Bits', 4: '4 Bits', 5: '5 Bits', 6: '6 Bits', 7: '7 Bits', 8: '8 Bits', 9: '10 Bits', 10: '11 Bits', 11: '12 Bits', 12: '14 Bits', 13: '16 Bits', 14: '24 Bits', 15: '32 Bits'}
        """
        ...
    @bitDepth.setter
    def bitDepth(self, value: int) -> None:
        ...

    @property
    def codec(self) -> str:
        """
        Codec of the original video
        """
        ...
    @codec.setter
    def codec(self, value: str) -> None:
        ...

    @property
    def fps(self) -> float:
        ...
    @fps.setter
    def fps(self, value: float) -> None:
        ...

    @property
    def fragments(self) -> List[VideoFragment]:
        ...
    @fragments.setter
    def fragments(self, value: List[VideoFragment]) -> None:
        ...

    @property
    def hasAlpha(self) -> bool:
        ...
    @hasAlpha.setter
    def hasAlpha(self, value: bool) -> None:
        ...

    @property
    def hasAudio(self) -> bool:
        ...

    @property
    def nFrames(self) -> int:
        ...
    @nFrames.setter
    def nFrames(self, value: int) -> None:
        ...

    @property
    def proxyInfo(self) -> str:
        ...

    @property
    def regionSet(self) -> VideoRegionSet:
        ...
    @regionSet.setter
    def regionSet(self, value: VideoRegionSet) -> None:
        ...

    @property
    def resolution(self) -> Vec2:
        ...
    @resolution.setter
    def resolution(self, value: Vec2) -> None:
        ...

    def add(self, file: VideoFile, version: str, region: str, proxyLevel: int, replaceFrames: bool, iFrame: int, force: bool) -> bool:
        ...

    def enableFragment(self, frag: VideoFragment, enabled: bool) -> None:
        ...

    def hasMultipleFragments(self) -> bool:
        ...

    def insert(self, fragment: VideoFragment) -> None:
        ...

    def moveFragment(self, srcIndex: int, destIndex: int) -> None:
        ...

    def remove(self, frag: VideoFragment) -> None:
        ...

    def updateFileStatus(self) -> None:
        ...


class VideoClip(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'VideoClip'
    consolidateAllClips: Callable
    createVideoInClip: Callable

    @property
    def Video_Input(self) -> LogicalVideoInDevice:
        """
        Category: Versions
        """
        ...
    @Video_Input.setter
    def Video_Input(self, value: LogicalVideoInDevice) -> None:
        ...

    @property
    def acesExposure(self) -> float:
        """
        Input exposure transform (stops)
        
        Category: Colour Shift
        UserName: Input exposure
        """
        ...
    @acesExposure.setter
    def acesExposure(self, value: float) -> None:
        ...

    @property
    def acesGamma(self) -> float:
        """
        Input gamma transform
        
        Category: Colour Shift
        UserName: Input gamma
        """
        ...
    @acesGamma.setter
    def acesGamma(self, value: float) -> None:
        ...

    @property
    def acesTransform(self) -> AcesInputTransformParameters:
        """
        ACES Input transform (IDT)
        
        Category: Colour Shift
        UserName: Input transform
        """
        ...
    @acesTransform.setter
    def acesTransform(self, t: AcesInputTransformParameters) -> None:
        ...

    @property
    def audioBiasSec(self) -> float:
        """
        If multi-channel audio files are not synchronised correctly, adjust this value to delay (-ve) or advance (+ve) audio relative to video
        
        Category: Audio
        UserName: Audio bias (s)
        """
        ...
    @audioBiasSec.setter
    def audioBiasSec(self, value: float) -> None:
        ...

    @property
    def audioOuts(self) -> AudioOutputs:
        """
        set up the audio outputs used for each channel by creating a new AudioOut object, setting its outputs, and then sharing between all clips needing that configuration
        
        Category: Audio
        UserName: Audio outputs
        """
        ...
    @audioOuts.setter
    def audioOuts(self, value: AudioOutputs) -> None:
        ...

    @property
    def audioTracks(self) -> List[AudioTrack]:
        """
        Additional audio tracks will play synchronously with the video clip, to logical audio outputs 0, 1, 2, etc
        
        Category: Audio
        UserName: Audio tracks
        """
        ...
    @audioTracks.setter
    def audioTracks(self, value: List[AudioTrack]) -> None:
        ...

    @property
    def bilinear_filtering(self) -> int:
        """
        Set to 'on' if the video file should be bilinear filtered when scaled; otherwise, uses point-samping
        
        Options: {0: 'Off', 1: 'On'}
        Category: Filtering
        UserName: Bilinear filtering
        """
        ...
    @bilinear_filtering.setter
    def bilinear_filtering(self, value: int) -> None:
        ...

    @property
    def bottom(self) -> int:
        """
        Amount to crop from the bottom edge of the video frame, in pixels
        
        Category: Cropping
        UserName: Crop bottom
        """
        ...
    @bottom.setter
    def bottom(self, value: int) -> None:
        ...

    @property
    def clip(self) -> Rect:
        ...
    @clip.setter
    def clip(self, value: Rect) -> None:
        ...

    @property
    def clip_type(self) -> int:
        """
        Controls how the video file is scaled to fit the canvas size
        
        Options: {0: 'Clip to canvas', 1: 'Fit into canvas', 2: 'Stretch to canvas', 3: 'Pixel-perfect'}
        Category: Cropping
        UserName: Clip type
        """
        ...
    @clip_type.setter
    def clip_type(self, value: int) -> None:
        ...

    @property
    def colourProfile(self) -> ColourProfile:
        """
        Colour/Gamma space of the video clip
        
        Category: Colour Shift
        UserName: Colour profile
        """
        ...
    @colourProfile.setter
    def colourProfile(self, value: ColourProfile) -> None:
        ...

    @property
    def colourShift(self) -> ColourShift:
        """
        Colour parameters for video file
        
        Category: Colour Shift
        UserName: Colour shift
        """
        ...
    @colourShift.setter
    def colourShift(self, value: ColourShift) -> None:
        ...

    @property
    def dataRate(self) -> float:
        """
        Data rate of the clip playback (MB/sec)
        
        UserName: Data rate (MB/sec)
        """
        ...

    @property
    def enabledVersion(self) -> str:
        """
        The version of the latest enabled fragment, i.e. "1", "2", "3", etc. or "" if there is no underlying video files currently associated with the clip
        """
        ...

    @property
    def end(self) -> int:
        """
        End frame index of the video clip. Use this to trim frames from the end of the clip
        
        Category: Edit
        UserName: Clip end
        """
        ...
    @end.setter
    def end(self, iEditEnd: int) -> None:
        ...

    @property
    def file(self) -> VideoAsset:
        """
        Select video asset
        
        Category: Versions
        UserName: Video asset
        """
        ...
    @file.setter
    def file(self, value: VideoAsset) -> None:
        ...

    @property
    def fileFps(self) -> float:
        """
        FPS of the original video
        
        UserName: Original FPS
        """
        ...

    @property
    def fileFrameSize(self) -> Vec2:
        """
        Resolution of the original video file (pixels)
        
        UserName: Resolution
        """
        ...

    @property
    def fileNFrames(self) -> int:
        """
        Number of frames in the original video file
        
        UserName: Number of frames
        """
        ...

    @property
    def fps(self) -> float:
        """
        Current frames-per-second of the video clip
        
        Category: Edit
        UserName: FPS
        """
        ...
    @fps.setter
    def fps(self, fps: float) -> None:
        ...

    @property
    def frame_blending(self) -> int:
        """
        Set to 'on' if the video file should be frame-blended for smoothness. Use this when playback frame-rate is different to original frame rate
        
        Options: {0: 'Off', 1: 'On', 2: 'Auto'}
        Category: Filtering
        UserName: Frame blending
        """
        ...
    @frame_blending.setter
    def frame_blending(self, value: int) -> None:
        ...

    @property
    def hasAudio(self) -> bool:
        """
        Whether the video has embedded audio or not
        
        Will always return false if there is no underlying video files currently associated with the clip
        """
        ...

    @property
    def in_(self) -> int:
        """
        Loop in-point of the video clip
        
        Category: Edit
        UserName: Loop in
        """
        ...
    @in_.setter
    def in_(self, value: int) -> None:
        ...

    @property
    def isVideoIn(self) -> bool:
        ...

    @property
    def left(self) -> int:
        """
        Amount to crop from the left edge of the video frame, in pixels
        
        Category: Cropping
        UserName: Crop left
        """
        ...
    @left.setter
    def left(self, value: int) -> None:
        ...

    @property
    def logicalVideoIn(self) -> LogicalVideoInDevice:
        ...

    @property
    def nBeats(self) -> float:
        """
        If quantised, the video file will play over this number of beats
        
        Category: Quantisation
        UserName: Beats
        """
        ...
    @nBeats.setter
    def nBeats(self, value: float) -> None:
        ...

    @property
    def ocioShaderProperties(self) -> OcioShaderProperties:
        """
        Available OCIO transform parameters for a given colour space.
        
        Category: Colour Shift
        UserName: OCIO transform properties
        """
        ...
    @ocioShaderProperties.setter
    def ocioShaderProperties(self, value: OcioShaderProperties) -> None:
        ...

    @property
    def ocioTransform(self) -> OcioColourSpace:
        """
        OCIO colour space of the clip
        
        Category: Colour Shift
        UserName: Input transform
        """
        ...
    @ocioTransform.setter
    def ocioTransform(self, value: OcioColourSpace) -> None:
        ...

    @property
    def out(self) -> int:
        """
        Loop out-point of the video clip
        
        Category: Edit
        UserName: Loop out
        """
        ...
    @out.setter
    def out(self, value: int) -> None:
        ...

    @property
    def prefetchOptions(self) -> PrefetchLookaheads:
        """
        Advanced : edit these settings if the clip isn't playing well. Usually only required for very large clips
        
        Category: Prefetch
        UserName: Prefetch options
        """
        ...
    @prefetchOptions.setter
    def prefetchOptions(self, value: PrefetchLookaheads) -> None:
        ...

    @property
    def proxyInfo(self) -> str:
        """
        The proxy level of the latest enabled fragment, i.e. "Full", "1/16", "1/8", etc. or "" if there is no underlying video files currently associated with the clip
        """
        ...

    @property
    def quantised(self) -> int:
        """
        If set to 'yes', the video file will play over a specified number of beats, rather than at defined frame rate
        
        Options: {0: 'No', 1: 'Yes'}
        Category: Quantisation
        UserName: Quantised
        """
        ...
    @quantised.setter
    def quantised(self, value: int) -> None:
        ...

    @property
    def right(self) -> int:
        """
        Amount to crop from the right edge of the video frame, in pixels
        
        Category: Cropping
        UserName: Crop right
        """
        ...
    @right.setter
    def right(self, value: int) -> None:
        ...

    @property
    def sampleRateOption(self) -> int:
        """
        Options: {0: '44.1', 1: '48'}
        Category: Versions
        """
        ...
    @sampleRateOption.setter
    def sampleRateOption(self, value: int) -> None:
        ...

    @property
    def speed(self) -> float:
        """
        Category: Versions
        UserName: Speed
        """
        ...
    @speed.setter
    def speed(self, value: float) -> None:
        ...

    @property
    def start(self) -> int:
        """
        Start frame index of the video clip. Use this to trim frames from the start of the clip
        
        Category: Edit
        UserName: Clip start
        """
        ...
    @start.setter
    def start(self, iEditStart: int) -> None:
        ...

    @property
    def top(self) -> int:
        """
        Amount to crop from the top edge of the video frame, in pixels
        
        Category: Cropping
        UserName: Crop top
        """
        ...
    @top.setter
    def top(self, value: int) -> None:
        ...

    @property
    def transportDuration(self) -> Timecode:
        ...

    @property
    def video_file(self) -> VideoAsset:
        """
        Select video asset
        
        Category: Versions
        UserName: Video asset
        """
        ...
    @video_file.setter
    def video_file(self, value: VideoAsset) -> None:
        ...

    @property
    def zoom(self) -> Vec2:
        """
        The point of interest zoomed in towards when the content is scaled
        
        Category: Cropping
        UserName: Zoom point
        """
        ...
    @zoom.setter
    def zoom(self, zoom: Vec2) -> None:
        ...

    @property
    def zoom_point(self) -> Vec2:
        ...
    @zoom_point.setter
    def zoom_point(self, value: Vec2) -> None:
        ...


class VideoFile(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'VideoFile'

    @property
    def bitDepth(self) -> int:
        ...
    @bitDepth.setter
    def bitDepth(self, value: int) -> None:
        ...

    @property
    def info(self) -> VideoInfo:
        ...
    @info.setter
    def info(self, value: VideoInfo) -> None:
        ...

    @property
    def ingestionDate(self) -> DateStamp:
        ...
    @ingestionDate.setter
    def ingestionDate(self, value: DateStamp) -> None:
        ...

    @property
    def ingestionDateLocal(self) -> DateStamp:
        ...

    @property
    def nFrames(self) -> int:
        ...

    def unlockFile(self) -> None:
        ...


class VideoFileHeader(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'VideoFileHeader'

    @property
    def audioBigEndian(self) -> bool:
        """
        Whether the file's audio is big-endian
        """
        ...
    @audioBigEndian.setter
    def audioBigEndian(self, value: bool) -> None:
        ...

    @property
    def audioSampleRate(self) -> float:
        """
        Audio sample rate of the file
        """
        ...
    @audioSampleRate.setter
    def audioSampleRate(self, value: float) -> None:
        ...

    @property
    def bitsPerPixel(self) -> int:
        """
        Bits per pixel of the video frame
        """
        ...
    @bitsPerPixel.setter
    def bitsPerPixel(self, value: int) -> None:
        ...

    @property
    def codec(self) -> str:
        """
        Codec of the file
        """
        ...
    @codec.setter
    def codec(self, value: str) -> None:
        ...

    @property
    def fps(self) -> float:
        """
        Number of frames per second
        """
        ...
    @fps.setter
    def fps(self, value: float) -> None:
        ...

    @property
    def gpuBpp(self) -> int:
        ...
    @gpuBpp.setter
    def gpuBpp(self, value: int) -> None:
        ...

    @property
    def gpuHeight(self) -> int:
        ...
    @gpuHeight.setter
    def gpuHeight(self, value: int) -> None:
        ...

    @property
    def gpuWidth(self) -> int:
        ...
    @gpuWidth.setter
    def gpuWidth(self, value: int) -> None:
        ...

    @property
    def hasAlpha(self) -> bool:
        """
        Whether the file has an alpha channel
        """
        ...
    @hasAlpha.setter
    def hasAlpha(self, value: bool) -> None:
        ...

    @property
    def hasAudio(self) -> bool:
        """
        Whether the file has an audio track
        """
        ...
    @hasAudio.setter
    def hasAudio(self, value: bool) -> None:
        ...

    @property
    def height(self) -> int:
        """
        Height of the video frame (pixels)
        """
        ...
    @height.setter
    def height(self, value: int) -> None:
        ...

    @property
    def nFrames(self) -> int:
        """
        Number of frames in the file
        """
        ...
    @nFrames.setter
    def nFrames(self, value: int) -> None:
        ...

    @property
    def width(self) -> int:
        """
        Width of the video frame (pixels)
        """
        ...
    @width.setter
    def width(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class VideoFormat(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def transportType(self) -> int:
        ...
    @transportType.setter
    def transportType(self, value: int) -> None:
        ...


class VideoFragment(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'VideoFragment'

    @property
    def effectiveLengthFrames(self) -> int:
        ...

    @property
    def enabled(self) -> bool:
        ...
    @enabled.setter
    def enabled(self, value: bool) -> None:
        ...

    @property
    def iReplacedFrame(self) -> int:
        """
        UserName: First frame replaced
        """
        ...
    @iReplacedFrame.setter
    def iReplacedFrame(self, value: int) -> None:
        ...

    @property
    def isFrameReplacement(self) -> bool:
        ...

    @property
    def nReplacedFrames(self) -> int:
        """
        UserName: Number of frames replaced
        """
        ...
    @nReplacedFrames.setter
    def nReplacedFrames(self, value: int) -> None:
        ...

    @property
    def proxies(self) -> List[VideoFile]:
        """
        UserName: Proxies
        """
        ...
    @proxies.setter
    def proxies(self, value: List[VideoFile]) -> None:
        ...

    @property
    def proxyInfo(self) -> str:
        ...

    @property
    def proxyMask(self) -> int:
        ...

    @property
    def region(self) -> str:
        """
        UserName: Region
        """
        ...
    @region.setter
    def region(self, value: str) -> None:
        ...

    @property
    def version(self) -> str:
        """
        UserName: Version
        """
        ...
    @version.setter
    def version(self, value: str) -> None:
        ...

    def findVideoFile(self, proxyLevel: int) -> VideoFile:
        ...

    def isNewerThan(self, version: str) -> bool:
        ...


class VideoFrame(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class VideoIn(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def hardwareId(self) -> str:
        ...

    @property
    def hardwareIds(self) -> List[str]:
        ...

    @property
    def isInitialised(self) -> bool:
        ...

    @property
    def name(self) -> str:
        ...

    @property
    def videoInFormat(self) -> VideoInFormat:
        ...

    def field(self, iFromMostRecent: int) -> InterlacedField:
        ...

    def getCurrentFrame(self, deinterlaceMethod: int) -> DxTexture:
        ...

    def getPreviewFrame(self, deinterlaceMethod: int, size: Int2) -> DxTexture:
        ...

    def redoLastFrameReceivedAction(self) -> None:
        ...

    def requestFrame(self, requestDurationFrames: int) -> None:
        ...


class VideoInCaptureProcess(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'VideoInCaptureProcess'

    @property
    def aborted(self) -> bool:
        ...

    @property
    def cameras(self) -> List[Camera]:
        ...
    @cameras.setter
    def cameras(self, cams: List[Camera]) -> None:
        ...

    @property
    def captureOperation(self) -> int:
        """
        Set this to 'Write' to record captured images to disk, 'Read' to get captures from recorded images
        
        Options: {0: 'Live', 1: 'Write', 2: 'Read'}
        UserName: Capture operation
        """
        ...
    @captureOperation.setter
    def captureOperation(self, op: int) -> None:
        ...

    @property
    def iReadFolder(self) -> int:
        """
        Selects the folder to read pre-captured stage images from
        
        UserName: Read folder
        """
        ...
    @iReadFolder.setter
    def iReadFolder(self, value: int) -> None:
        ...

    @property
    def mixedRealitySets(self) -> List[MixedRealitySet]:
        """
        Which mixed reality sets need to be calibrated for this camera
        
        UserName: MR sets
        """
        ...
    @mixedRealitySets.setter
    def mixedRealitySets(self, value: List[MixedRealitySet]) -> None:
        ...

    @property
    def progress(self) -> float:
        ...

    @property
    def running(self) -> bool:
        ...

    def __init__(self) -> None:
        ...

    def abort(self) -> None:
        ...

    def run(self) -> None:
        ...


class VideoInCaptureSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'
    get: Callable

    @property
    def readSources(self) -> List[str]:
        ...

    def __init__(self) -> None:
        ...

    def runProcess(self, process: VideoInCaptureProcess) -> None:
        ...


class VideoInDeviceMap(DeviceMap):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'VideoInDeviceMap'
    getLogicalDevices: Callable


class VideoInFormat(Resource):
    """
    Format Descriptor for video capture
    
    This is meant as a descriptor of possible / desired / expected video capture
    formats, rather than a specification.
    It is used in user-facing situations to select and chose a format. Therefore
    every value (even invalid/unknown values) should be human-readable and make
    sense to end-users.
    """

    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'VideoInFormat'
    make: Callable

    @property
    def framerate(self) -> float:
        ...
    @framerate.setter
    def framerate(self, value: float) -> None:
        ...

    @property
    def interlaced(self) -> bool:
        ...
    @interlaced.setter
    def interlaced(self, value: bool) -> None:
        ...

    @property
    def name(self) -> str:
        ...
    @name.setter
    def name(self, value: str) -> None:
        ...

    @property
    def pixelFormat(self) -> str:
        ...
    @pixelFormat.setter
    def pixelFormat(self, value: str) -> None:
        ...

    @property
    def resolution(self) -> Vec2:
        ...
    @resolution.setter
    def resolution(self, value: Vec2) -> None:
        ...


class VideoInMetrics(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class VideoInSystem(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def autoMappedChannels(self) -> List[ChannelInfo]:
        ...

    @property
    def captureGroupsAvailable(self) -> bool:
        ...

    @property
    def inputChannels(self) -> List[ChannelInfo]:
        ...
    @inputChannels.setter
    def inputChannels(self, value: List[ChannelInfo]) -> None:
        ...

    def __init__(self) -> None:
        ...

    def findVideoIn(self, hardwareId: str) -> VideoIn:
        ...

    def getHardwareIds(self, hardwareId: str) -> List[str]:
        ...

    def makeMultiviewVideoInHardwareId(self, sourceHardware: HardwareIdentifier, regionOfInterest: Rect) -> HardwareVideoInIdentifier:
        ...

    def makeTeamedVideoInHardwareId(self, hardwareIds: List[str]) -> HardwareVideoInIdentifier:
        ...


class VideoInTexture(PreCompTexture):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'VideoInTexture'

    @property
    def videoIn(self) -> LogicalVideoInDevice:
        ...
    @videoIn.setter
    def videoIn(self, value: LogicalVideoInDevice) -> None:
        ...


class VideoInThread(Thread):
    null: Self
    _classInfo: 'ClassInfo'


class VideoInfo(ImageSequenceInfo):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def audioBigEndian(self) -> bool:
        ...
    @audioBigEndian.setter
    def audioBigEndian(self, value: bool) -> None:
        ...

    @property
    def audioSampleRate(self) -> float:
        ...
    @audioSampleRate.setter
    def audioSampleRate(self, value: float) -> None:
        ...

    @property
    def hasAudio(self) -> bool:
        ...
    @hasAudio.setter
    def hasAudio(self, value: bool) -> None:
        ...


class VideoModule(ProjectionAwareModule):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'LegacyVideoModule'

    @property
    def at_end_point(self) -> int:
        """
        Options: {0: 'Loop', 1: 'Ping-pong', 2: 'Pause'}
        Category: Media
        UserName: At end point
        """
        ...
    @at_end_point.setter
    def at_end_point(self, value: int) -> None:
        ...

    @property
    def bottom(self) -> float:
        """
        Category: Crop
        UserName: Bottom
        """
        ...
    @bottom.setter
    def bottom(self, value: float) -> None:
        ...

    @property
    def colour_shift(self) -> ColourShift:
        """
        Category: Audio
        UserName: Colour Shift
        """
        ...
    @colour_shift.setter
    def colour_shift(self, value: ColourShift) -> None:
        ...

    @property
    def cropSoftness(self) -> float:
        """
        Enables a vignette effect by softening the edges of the crop
        
        Category: Crop
        UserName: Vignette
        """
        ...
    @cropSoftness.setter
    def cropSoftness(self, value: float) -> None:
        ...

    @property
    def currentFrame(self) -> float:
        ...
    @currentFrame.setter
    def currentFrame(self, value: float) -> None:
        ...

    @property
    def left(self) -> float:
        """
        Category: Crop
        UserName: Left
        """
        ...
    @left.setter
    def left(self, value: float) -> None:
        ...

    @property
    def mode(self) -> int:
        """
        Options: {0: 'Locked', 1: 'Free-run', 2: 'Normal'}
        Category: Media
        UserName: Mode
        """
        ...
    @mode.setter
    def mode(self, value: int) -> None:
        ...

    @property
    def output(self) -> LogicalAudioOutDevice:
        """
        Category: Audio
        UserName: Output
        """
        ...
    @output.setter
    def output(self, value: LogicalAudioOutDevice) -> None:
        ...

    @property
    def pos(self) -> Vec2:
        """
        Category: Move
        UserName: Position
        """
        ...
    @pos.setter
    def pos(self, value: Vec2) -> None:
        ...

    @property
    def right(self) -> float:
        """
        Category: Crop
        UserName: Right
        """
        ...
    @right.setter
    def right(self, value: float) -> None:
        ...

    @property
    def rotation(self) -> float:
        """
        Category: Move
        UserName: Rotation
        """
        ...
    @rotation.setter
    def rotation(self, value: float) -> None:
        ...

    @property
    def scale(self) -> Vec2:
        """
        Category: Move
        UserName: Scale
        """
        ...
    @scale.setter
    def scale(self, value: Vec2) -> None:
        ...

    @property
    def size(self) -> float:
        """
        Category: Move
        UserName: Size
        """
        ...
    @size.setter
    def size(self, value: float) -> None:
        ...

    @property
    def speed(self) -> float:
        """
        Category: Media
        UserName: Speed
        """
        ...
    @speed.setter
    def speed(self, value: float) -> None:
        ...

    @property
    def top(self) -> float:
        """
        Category: Crop
        UserName: Top
        """
        ...
    @top.setter
    def top(self, value: float) -> None:
        ...

    @property
    def transition_time(self) -> float:
        """
        Category: Media
        UserName: Transition time
        """
        ...
    @transition_time.setter
    def transition_time(self, value: float) -> None:
        ...

    @property
    def video(self) -> VideoClip:
        """
        Category: Media
        UserName: Video
        """
        ...
    @video.setter
    def video(self, value: VideoClip) -> None:
        ...

    @property
    def volume(self) -> float:
        """
        Category: Audio
        UserName: Volume
        """
        ...
    @volume.setter
    def volume(self, value: float) -> None:
        ...


class VideoMoveModule(VideoModule):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'VideoMoveModule'

    def __init__(self) -> None:
        """
        Default constructor for VideoMoveModule
        """
        ...


class VideoPlayer(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def audioOutHardwareId(self) -> str:
        ...
    @audioOutHardwareId.setter
    def audioOutHardwareId(self, hardwareId: str) -> None:
        ...

    @property
    def clip(self) -> VideoClip:
        ...
    @clip.setter
    def clip(self, c: VideoClip) -> None:
        ...

    @property
    def volume(self) -> float:
        ...
    @volume.setter
    def volume(self, v: float) -> None:
        ...

    def __init__(self) -> None:
        ...

    def render(self, playing: bool, t: float, dt: float) -> int:
        ...

    def resetAudio(self) -> None:
        ...


class VideoPrefetcher(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class VideoRegion(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def name(self) -> str:
        ...
    @name.setter
    def name(self, value: str) -> None:
        ...

    @property
    def region(self) -> Rect:
        ...
    @region.setter
    def region(self, value: Rect) -> None:
        ...


class VideoRegionSet(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'VideoRegionSet'

    @property
    def regions(self) -> List[VideoRegion]:
        """
        UserName: Regions
        """
        ...
    @regions.setter
    def regions(self, value: List[VideoRegion]) -> None:
        ...


class VideoRegions(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def canvasSize(self) -> Vec2:
        ...
    @canvasSize.setter
    def canvasSize(self, value: Vec2) -> None:
        ...

    @property
    def uvRectangles(self) -> List[Rect]:
        ...
    @uvRectangles.setter
    def uvRectangles(self, value: List[Rect]) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for VideoRegions
        """
        ...


class VideoStitcher(Subsystem):
    null: Self
    _classInfo: 'ClassInfo'
    get: Callable

    def __init__(self) -> None:
        ...

    def getFrameMaterial(self, asset: VideoAsset, iFrame: int, regions: VideoRegions) -> Material:
        ...

    def getFrameTexture(self, asset: VideoAsset, iFrame: int, regions: VideoRegions) -> DecodedFrame:
        ...

    def getFrameTextureBestAvailable(self, asset: VideoAsset, iFrame: int, regions: VideoRegions) -> DecodedFrame:
        ...

    def requestVideo(self, asset: VideoAsset, iFrame: int, regions: VideoRegions, tDeadline: float, priority: int) -> None:
        ...


class VideoTransitionModule(VideoModule):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'LegacyVideoTransitionModule'

    @property
    def bias(self) -> float:
        """
        Category: Bias
        UserName: Bias
        """
        ...
    @bias.setter
    def bias(self, value: float) -> None:
        ...

    @property
    def mix_hardness(self) -> float:
        """
        Category: Bias
        UserName: Mix hardness
        """
        ...
    @mix_hardness.setter
    def mix_hardness(self, value: float) -> None:
        ...

    @property
    def source0(self) -> ContentSource:
        """
        UserName: Source 1
        """
        ...
    @source0.setter
    def source0(self, value: ContentSource) -> None:
        ...

    @property
    def source1(self) -> ContentSource:
        """
        UserName: Source 2
        """
        ...
    @source1.setter
    def source1(self, value: ContentSource) -> None:
        ...

    def __init__(self) -> None:
        ...


class VideoTriggerModule(ProjectionAwareModule):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'VideoTriggerModule'

    @property
    def bottom(self) -> float:
        """
        Category: Crop
        UserName: Bottom
        """
        ...
    @bottom.setter
    def bottom(self, value: float) -> None:
        ...

    @property
    def colour_shift(self) -> ColourShift:
        """
        Category: Media
        UserName: Colour Shift
        """
        ...
    @colour_shift.setter
    def colour_shift(self, value: ColourShift) -> None:
        ...

    @property
    def left(self) -> float:
        """
        Category: Crop
        UserName: Left
        """
        ...
    @left.setter
    def left(self, value: float) -> None:
        ...

    @property
    def pos(self) -> Vec2:
        """
        Category: Move
        UserName: Pos
        """
        ...
    @pos.setter
    def pos(self, value: Vec2) -> None:
        ...

    @property
    def right(self) -> float:
        """
        Category: Crop
        UserName: Right
        """
        ...
    @right.setter
    def right(self, value: float) -> None:
        ...

    @property
    def rotation(self) -> float:
        """
        Category: Move
        UserName: Rotation
        """
        ...
    @rotation.setter
    def rotation(self, value: float) -> None:
        ...

    @property
    def scale(self) -> Vec2:
        """
        Category: Move
        UserName: Scale
        """
        ...
    @scale.setter
    def scale(self, value: Vec2) -> None:
        ...

    @property
    def size(self) -> float:
        """
        Category: Move
        UserName: Size
        """
        ...
    @size.setter
    def size(self, value: float) -> None:
        ...

    @property
    def speed(self) -> float:
        """
        Category: Media
        UserName: Speed
        """
        ...
    @speed.setter
    def speed(self, value: float) -> None:
        ...

    @property
    def top(self) -> float:
        """
        Category: Crop
        UserName: Top
        """
        ...
    @top.setter
    def top(self, value: float) -> None:
        ...

    @property
    def trigger(self) -> float:
        """
        Category: Media
        UserName: Trigger
        """
        ...
    @trigger.setter
    def trigger(self, value: float) -> None:
        ...

    @property
    def triggerDelay(self) -> int:
        """
        Category: Media
        UserName: Trigger Delay
        """
        ...
    @triggerDelay.setter
    def triggerDelay(self, value: int) -> None:
        ...

    @property
    def triggerMode(self) -> int:
        """
        Options: {0: 'OnReset', 1: 'OnChange'}
        Category: Media
        UserName: Trigger Mode
        """
        ...
    @triggerMode.setter
    def triggerMode(self, value: int) -> None:
        ...

    @property
    def video(self) -> VideoClip:
        """
        Category: Media
        UserName: Video
        """
        ...
    @video.setter
    def video(self, value: VideoClip) -> None:
        ...

    def renderPreview(self, drawRect: Rect, colour: Colour, showAlpha: bool, inGuiColourSpace: bool) -> None:
        ...


class Viewer(Object):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'Viewer'

    @property
    def status(self) -> int:
        """
        Options: {0: 'Off', 1: 'On'}
        UserName: Status
        """
        ...
    @status.setter
    def status(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class VirtualCamera(Camera):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'VirtualCamera'
    INTRINSICS_FROM_PARENT: Final = 2
    LOCAL_INTRINSICS: Final = 0
    ZOOM_FROM_PARENT: Final = 1

    @property
    def coordSystemDisplay(self) -> int:
        """
        Options: {0: 'Relative', 1: 'Global'}
        Category: Settings
        UserName: Coordinate system
        """
        ...
    @coordSystemDisplay.setter
    def coordSystemDisplay(self, value: int) -> None:
        ...

    @property
    def lensSource(self) -> int:
        """
        Options: {0: 'Local intrinsics', 1: 'Zoom from parent', 2: 'Intrinsics from parent'}
        Category: Lens
        UserName: Lens source
        """
        ...
    @lensSource.setter
    def lensSource(self, value: int) -> None:
        ...

    @property
    def maxZoomInFactor(self) -> float:
        """
        Maximum factor the camera can zoom in by before using purely virtual content, to avoid excessive pixellation
        
        Category: Settings
        UserName: Max zoom in factor
        """
        ...
    @maxZoomInFactor.setter
    def maxZoomInFactor(self, value: float) -> None:
        ...

    @property
    def objectPositionReference(self) -> Object:
        """
        Object used as a reference for the average position of real objects on the stage.
        Used to calculate virtual camera viewpoints.
        
        Category: Settings
        UserName: Live action position marker
        """
        ...
    @objectPositionReference.setter
    def objectPositionReference(self, object: Object) -> None:
        ...

    @property
    def outputType(self) -> int:
        """
        Options: {0: 'Regular', 1: 'Spherical'}
        Category: Output
        UserName: Output type
        """
        ...
    @outputType.setter
    def outputType(self, type: int) -> None:
        ...

    @property
    def parentCamera(self) -> Camera:
        """
        Camera used as source for reprojection.
        
        Category: Settings
        UserName: Parent camera
        """
        ...
    @parentCamera.setter
    def parentCamera(self, cam: Camera) -> None:
        ...

    @property
    def posRelativeOrGlobal(self) -> Vec:
        ...
    @posRelativeOrGlobal.setter
    def posRelativeOrGlobal(self, p: Vec) -> None:
        ...

    @property
    def relativePosition(self) -> Vec:
        ...
    @relativePosition.setter
    def relativePosition(self, value: Vec) -> None:
        ...

    @property
    def relativeRotation(self) -> Vec:
        ...
    @relativeRotation.setter
    def relativeRotation(self, value: Vec) -> None:
        ...

    @property
    def rotRelativeOrGlobal(self) -> Vec:
        ...
    @rotRelativeOrGlobal.setter
    def rotRelativeOrGlobal(self, r: Vec) -> None:
        ...

    @property
    def sphericalImpl(self) -> SphericalCameraImpl:
        ...
    @sphericalImpl.setter
    def sphericalImpl(self, value: SphericalCameraImpl) -> None:
        ...

    @property
    def zoomScale(self) -> float:
        """
        Zoom scaling to be applied to the parent camera.
        
        Category: Lens
        UserName: Zoom scale
        """
        ...
    @zoomScale.setter
    def zoomScale(self, scale: float) -> None:
        ...


class VirtualCameraCommunication(CameraCommunication):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self, cameras: List[OptiCalCameraPlan]) -> None:
        ...


class VirtualCameraPosition(CameraPosition):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'VirtualCameraPosition'

    @property
    def animateZoomScale(self) -> bool:
        """
        When ticked, animate the zoom scale relative to the parent camera. When unticked, animate the global field of view.
        
        UserName: Animate zoom scale
        """
        ...
    @animateZoomScale.setter
    def animateZoomScale(self, value: bool) -> None:
        ...

    def __init__(self) -> None:
        ...


class VirtualLineupModule(TestPatternModule):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'VirtualLineupModule'

    def __init__(self) -> None:
        ...


class ViscaCamera(CameraDevice):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'ViscaCamera'

    @property
    def address(self) -> int:
        """
        UserName: Address
        """
        ...
    @address.setter
    def address(self, value: int) -> None:
        ...

    @property
    def cameraModel(self) -> int:
        """
        Select the type of camera that supports the VISCA protocol.
        
        Options: {0: '300H', 1: '360SHE'}
        UserName: Camera model
        """
        ...
    @cameraModel.setter
    def cameraModel(self, value: int) -> None:
        ...

    @property
    def control_device(self) -> ControlDevice:
        """
        UserName: Control device
        """
        ...
    @control_device.setter
    def control_device(self, value: ControlDevice) -> None:
        ...

    def __init__(self) -> None:
        ...


class VisibilityProxyLevels(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class VisualActDriver(UdpReceiverDriver):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'VisualActDriver'


class VisualActTrackerState(Tracking6DOFState):
    null: Self
    _classInfo: 'ClassInfo'


class VisualizerSettings(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'VisualizerSettings'

    def __init__(self) -> None:
        """
        Default constructor for VisualizerSettings
        """
        ...


class VpxFile(File):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...

    def isResolutionSupported(self, size: Vec2) -> bool:
        ...


class WMISystem(Subsystem):
    """
    A system that performs WMI queries.
    
    WMI stands for Windows Management Instrumentation. (https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmi-start-page)
    """

    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...

    def isDevicePresent(self, deviceId: str) -> bool:
        """
        Performs a WMI query against the Win32_PnPEntity WMI table to determine if a device with the given hardware ID is present on the system. (https://learn.microsoft.com/en-us/windows/win32/cimwin32prov/win32-pnpentity?redirectedfrom=MSDN)
        
        :param deviceId: The name of the device to check for presence. This is matched against the HardwareID column in the Win32_PnPEntity table.
        
        :return True if the device is present, False otherwise.
        """
        ...


class Waveform(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class WaveformComputeMaterial(DxMaterial):
    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...


class WaveformFragment(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class WaveformMetadataCache(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class WebBookmark(Resource):
    """
    A bookmark used in the web module
    """

    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'WebBookmark'

    @property
    def URL(self) -> str:
        """
        The URL of the web bookmark
        """
        ...
    @URL.setter
    def URL(self, value: str) -> None:
        ...

    @property
    def audio(self) -> bool:
        """
        When true the web browser should play audio when loading this web bookmark, otherwise it will be muted
        
        UserName: Audio
        """
        ...
    @audio.setter
    def audio(self, value: bool) -> None:
        ...

    @property
    def zoom(self) -> float:
        """
        The zoom level of the web browser when loading this bookmark. 1 = 100%.
        
        UserName: Zoom
        """
        ...
    @zoom.setter
    def zoom(self, value: float) -> None:
        ...


class WebBrowser(_BlipValue):
    """
    A wrapper around the Chromium WebView browser
    """

    null: Self
    _classInfo: 'ClassInfo'

    @property
    def size(self) -> Vec2:
        """
        The current size of the web browser window
        """
        ...

    def close(self) -> None:
        """
        Closes the web browser
        """
        ...

    def currentTitle(self) -> str:
        """
        Returns the current title of the web page being displayed in the browser
        
        :return The current title of the web page being displayed in the browser, or an error message.
        """
        ...

    def currentURL(self) -> str:
        """
        Returns the current URL of the web browser as a string
        
        :return The current URL of the web browser, or an error message.
        """
        ...

    def resize(self, width: int, height: int) -> None:
        """
        Resizes the web browser to a new width and height, up to the maximum texture size supported by the renderer (usually 16k x 16k)
        
        :param width: The new width of the web browser
        :param height: The new height of the web browser
        """
        ...

    def update(self) -> None:
        """
        Update the web browser
        *
        * This method updates the web browser by checking its current state, loading a new web bookmark if necessary, processing any web commands in the command queue, and uploading web page textures to the GPU.
        """
        ...

    def zoom(self, zoomFactor: float) -> None:
        """
        Set the zoom level in a browser
        
        :param zoomFactor: The new zoom level for the browser. 1= 100% zoom.
        """
        ...


class WebCommand(Resource):
    """
    The base class for commands to be sent to a WebBrowser.
    
    To send a WebCommand first inherit from WebCommand, or use one of the existing derived classes.
    It is possible to add web commands to a WebBrowser through its interface.
    Web commands are designed to be sent at some time in the future to keep browsers in sync.
    """

    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'WebCommand'

    @property
    def commitTime(self) -> float:
        """
        The time at which this command should be executed. This is in network time (os.timer.frameTime()) so that browsers are kept in sync.
        """
        ...
    @commitTime.setter
    def commitTime(self, t: float) -> None:
        ...

    def __init__(self) -> None:
        ...


class WebCommandJavascript(WebCommand):
    """
    A subclass of WebCommand that can be used to send arbitrary JavaScript to a WebBrowser
    """

    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'WebCommandJavascript'

    @property
    def JavaScript(self) -> str:
        """
        A string containing JavaScript to be executed in a WebBrowser.
        """
        ...
    @JavaScript.setter
    def JavaScript(self, value: str) -> None:
        ...

    def __init__(self) -> None:
        ...


class WebCommandKeyboard(WebCommand):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'WebCommandKeyboard'

    @property
    def ascii(self) -> int:
        ...
    @ascii.setter
    def ascii(self, ascii: int) -> None:
        ...

    @property
    def key(self) -> int:
        ...
    @key.setter
    def key(self, value: int) -> None:
        ...

    @property
    def keyState(self) -> int:
        ...
    @keyState.setter
    def keyState(self, value: int) -> None:
        ...

    @property
    def modifierAlt(self) -> int:
        ...
    @modifierAlt.setter
    def modifierAlt(self, value: int) -> None:
        ...

    @property
    def modifierCtrl(self) -> int:
        ...
    @modifierCtrl.setter
    def modifierCtrl(self, value: int) -> None:
        ...

    @property
    def modifierShift(self) -> int:
        ...
    @modifierShift.setter
    def modifierShift(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class WebCommandMouse(WebCommand):
    """
    A WebCommand that sends a mouse cursor event to the browser.
    """

    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'WebCommandMouse'

    @property
    def Normal_Pos(self) -> Vec2:
        """
        Sets the mouse cursor position event to send. This position is normalized where position (0, 0) is top left and position (1, 1) is bottom right. Setting this to a negative number will not send this event.
        """
        ...
    @Normal_Pos.setter
    def Normal_Pos(self, value: Vec2) -> None:
        ...

    @property
    def pressed_left(self) -> int:
        """
        A left button pressed event. Set to any non-zero value to trigger event.
        """
        ...
    @pressed_left.setter
    def pressed_left(self, value: int) -> None:
        ...

    @property
    def pressed_middle(self) -> int:
        """
        A middle mouse button pressed event. Set to any non-zero value to trigger event.
        """
        ...
    @pressed_middle.setter
    def pressed_middle(self, value: int) -> None:
        ...

    @property
    def pressed_right(self) -> int:
        """
        A right mouse button pressed event. Set to any non-zero value to trigger event.
        """
        ...
    @pressed_right.setter
    def pressed_right(self, value: int) -> None:
        ...

    @property
    def released_left(self) -> int:
        """
        A left mouse button released event. Set to any non-zero value to trigger event.
        """
        ...
    @released_left.setter
    def released_left(self, value: int) -> None:
        ...

    @property
    def released_middle(self) -> int:
        """
        A middle mouse button released event. Set to any non-zero value to trigger event.
        """
        ...
    @released_middle.setter
    def released_middle(self, value: int) -> None:
        ...

    @property
    def released_right(self) -> int:
        """
        A right mouse button released event. Set to any non-zero value to trigger event.
        """
        ...
    @released_right.setter
    def released_right(self, value: int) -> None:
        ...

    @property
    def scroll_wheel(self) -> int:
        """
        Sets a mouse scroll wheel value to send. Positive values scroll up, negative scroll down and zero does not send the event.
        """
        ...
    @scroll_wheel.setter
    def scroll_wheel(self, value: int) -> None:
        ...

    def __init__(self) -> None:
        ...


class WebCommandNavigate(WebCommand):
    """
    A WebCommand to control the WebBrowser's web address and navigation.
    """

    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'WebCommandNavigate'

    @property
    def NavCmd(self) -> int:
        """
        The type of navigation to perform
        
        Options: {0: 'NAVIGATE_RELOAD', 1: 'NAVIGATE_LOADURL'}
        """
        ...
    @NavCmd.setter
    def NavCmd(self, value: int) -> None:
        ...

    @property
    def url(self) -> str:
        """
        The URL the WebBrowser should navigate to in Load URL mode
        """
        ...
    @url.setter
    def url(self, goUrl: str) -> None:
        ...

    def __init__(self) -> None:
        ...


class WebModule(Module):
    """
    A Module allowing the user to render webpages with Chromium. Grabs the texture stream from its
    underlying WebBrowser object that does the actual interfacing with Chromium.
    
    Also allows for the sending of JavaScript commands and float/string parameters to the web page via its layer.
    """

    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'WebModule'

    @property
    def Command(self) -> WebCommand:
        """
        The currently selected command to send to the web browser.
        """
        ...
    @Command.setter
    def Command(self, value: WebCommand) -> None:
        ...

    @property
    def Name_1(self) -> str:
        """
        The name of a JavaScript function to call in the browser every frame.
        The function name in JavaScript will be d3.[Name 1](x)
        
        Category: Custom Parameters
        UserName: Name 1
        """
        ...
    @Name_1.setter
    def Name_1(self, value: str) -> None:
        ...

    @property
    def Name_2(self) -> str:
        """
        The name of a JavaScript function to call in the browser every frame.
        The function name in JavaScript will be d3.[Name 2](x)
        
        Category: Custom Parameters
        UserName: Name 2
        """
        ...
    @Name_2.setter
    def Name_2(self, value: str) -> None:
        ...

    @property
    def Name_3(self) -> str:
        """
        The name of a JavaScript function to call in the browser every frame.
        The function name in JavaScript will be d3.[Name 3](x)
        
        Category: Custom Parameters
        UserName: Name 3
        """
        ...
    @Name_3.setter
    def Name_3(self, value: str) -> None:
        ...

    @property
    def Name_4(self) -> str:
        """
        The name of a JavaScript function to call in the browser every frame.
        The function name in JavaScript will be d3.[Name 4](x)
        
        Category: Custom Parameters
        UserName: Name 4
        """
        ...
    @Name_4.setter
    def Name_4(self, value: str) -> None:
        ...

    @property
    def Name_5(self) -> str:
        """
        The name of a JavaScript function to call in the browser every frame.
        The function name in JavaScript will be d3.[Name 5](x)
        
        Category: Custom Parameters
        UserName: Name 5
        """
        ...
    @Name_5.setter
    def Name_5(self, value: str) -> None:
        ...

    @property
    def Name_6(self) -> str:
        """
        The name of a JavaScript function to call in the browser every frame.
        The function name in JavaScript will be d3.[Name 6](x)
        
        Category: Custom Parameters
        UserName: Name 6
        """
        ...
    @Name_6.setter
    def Name_6(self, value: str) -> None:
        ...

    @property
    def Name_7(self) -> str:
        """
        The name of a JavaScript function to call in the browser every frame.
        The function name in JavaScript will be d3.[Name 7](x)
        
        Category: Custom Parameters
        UserName: Name 7
        """
        ...
    @Name_7.setter
    def Name_7(self, value: str) -> None:
        ...

    @property
    def Name_8(self) -> str:
        """
        The name of a JavaScript function to call in the browser every frame.
        The function name in JavaScript will be d3.[Name 8](x)
        
        Category: Custom Parameters
        UserName: Name 8
        """
        ...
    @Name_8.setter
    def Name_8(self, value: str) -> None:
        ...

    @property
    def String_1(self) -> str:
        """
        A string value passed into the function String Name 1 each frame
        
        Category: Custom Parameters
        UserName: String 1
        """
        ...
    @String_1.setter
    def String_1(self, value: str) -> None:
        ...

    @property
    def String_2(self) -> str:
        """
        A string value passed into the function String Name 2 each frame
        
        Category: Custom Parameters
        UserName: String 2
        """
        ...
    @String_2.setter
    def String_2(self, value: str) -> None:
        ...

    @property
    def String_3(self) -> str:
        """
        A string value passed into the function String Name 3 each frame
        
        Category: Custom Parameters
        UserName: String 3
        """
        ...
    @String_3.setter
    def String_3(self, value: str) -> None:
        ...

    @property
    def String_4(self) -> str:
        """
        A string value passed into the function String Name 4 each frame
        
        Category: Custom Parameters
        UserName: String 4
        """
        ...
    @String_4.setter
    def String_4(self, value: str) -> None:
        ...

    @property
    def String_5(self) -> str:
        """
        A string value passed into the function String Name 5 each frame
        
        Category: Custom Parameters
        UserName: String 5
        """
        ...
    @String_5.setter
    def String_5(self, value: str) -> None:
        ...

    @property
    def String_6(self) -> str:
        """
        A string value passed into the function String Name 6 each frame
        
        Category: Custom Parameters
        UserName: String 6
        """
        ...
    @String_6.setter
    def String_6(self, value: str) -> None:
        ...

    @property
    def String_7(self) -> str:
        """
        A string value passed into the function String Name 7 each frame
        
        Category: Custom Parameters
        UserName: String 7
        """
        ...
    @String_7.setter
    def String_7(self, value: str) -> None:
        ...

    @property
    def String_8(self) -> str:
        """
        A string value passed into the function String Name 8 each frame
        
        Category: Custom Parameters
        UserName: String 8
        """
        ...
    @String_8.setter
    def String_8(self, value: str) -> None:
        ...

    @property
    def String_Name_1(self) -> str:
        """
        The name of a JavaScript function to call in the browser every frame.
        The function name in JavaScript will be d3.[String Name 1](x)
        
        Category: Custom Parameters
        UserName: String Name 1
        """
        ...
    @String_Name_1.setter
    def String_Name_1(self, value: str) -> None:
        ...

    @property
    def String_Name_2(self) -> str:
        """
        The name of a JavaScript function to call in the browser every frame.
        The function name in JavaScript will be d3.[String Name 2](x)
        
        Category: Custom Parameters
        UserName: String Name 2
        """
        ...
    @String_Name_2.setter
    def String_Name_2(self, value: str) -> None:
        ...

    @property
    def String_Name_3(self) -> str:
        """
        The name of a JavaScript function to call in the browser every frame.
        The function name in JavaScript will be d3.[String Name 3](x)
        
        Category: Custom Parameters
        UserName: String Name 3
        """
        ...
    @String_Name_3.setter
    def String_Name_3(self, value: str) -> None:
        ...

    @property
    def String_Name_4(self) -> str:
        """
        The name of a JavaScript function to call in the browser every frame.
        The function name in JavaScript will be d3.[String Name 4](x)
        
        Category: Custom Parameters
        UserName: String Name 4
        """
        ...
    @String_Name_4.setter
    def String_Name_4(self, value: str) -> None:
        ...

    @property
    def String_Name_5(self) -> str:
        """
        The name of a JavaScript function to call in the browser every frame.
        The function name in JavaScript will be d3.[String Name 5](x)
        
        Category: Custom Parameters
        UserName: String Name 5
        """
        ...
    @String_Name_5.setter
    def String_Name_5(self, value: str) -> None:
        ...

    @property
    def String_Name_6(self) -> str:
        """
        The name of a JavaScript function to call in the browser every frame.
        The function name in JavaScript will be d3.[String Name 6](x)
        
        Category: Custom Parameters
        UserName: String Name 6
        """
        ...
    @String_Name_6.setter
    def String_Name_6(self, value: str) -> None:
        ...

    @property
    def String_Name_7(self) -> str:
        """
        The name of a JavaScript function to call in the browser every frame.
        The function name in JavaScript will be d3.[String Name 7](x)
        
        Category: Custom Parameters
        UserName: String Name 7
        """
        ...
    @String_Name_7.setter
    def String_Name_7(self, value: str) -> None:
        ...

    @property
    def String_Name_8(self) -> str:
        """
        The name of a JavaScript function to call in the browser every frame.
        The function name in JavaScript will be d3.[String Name 8](x)
        
        Category: Custom Parameters
        UserName: String Name 8
        """
        ...
    @String_Name_8.setter
    def String_Name_8(self, value: str) -> None:
        ...

    @property
    def Universes(self) -> str:
        """
        A comma separated list of DMX universes. Universes specified here will pass DMX data through to the browser.
        
        Category: DMX Parameters
        UserName: Universes (1-based)
        """
        ...
    @Universes.setter
    def Universes(self, value: str) -> None:
        ...

    @property
    def Value_1(self) -> float:
        """
        A float value passed into the function Name 1 each frame
        
        Category: Custom Parameters
        UserName: Value 1
        """
        ...
    @Value_1.setter
    def Value_1(self, value: float) -> None:
        ...

    @property
    def Value_2(self) -> float:
        """
        A float value passed into the function Name 2 each frame
        
        Category: Custom Parameters
        UserName: Value 2
        """
        ...
    @Value_2.setter
    def Value_2(self, value: float) -> None:
        ...

    @property
    def Value_3(self) -> float:
        """
        A float value passed into the function Name 3 each frame
        
        Category: Custom Parameters
        UserName: Value 3
        """
        ...
    @Value_3.setter
    def Value_3(self, value: float) -> None:
        ...

    @property
    def Value_4(self) -> float:
        """
        A float value passed into the function Name 4 each frame
        
        Category: Custom Parameters
        UserName: Value 4
        """
        ...
    @Value_4.setter
    def Value_4(self, value: float) -> None:
        ...

    @property
    def Value_5(self) -> float:
        """
        A float value passed into the function Name 5 each frame
        
        Category: Custom Parameters
        UserName: Value 5
        """
        ...
    @Value_5.setter
    def Value_5(self, value: float) -> None:
        ...

    @property
    def Value_6(self) -> float:
        """
        A float value passed into the function Name 6 each frame
        
        Category: Custom Parameters
        UserName: Value 6
        """
        ...
    @Value_6.setter
    def Value_6(self, value: float) -> None:
        ...

    @property
    def Value_7(self) -> float:
        """
        A float value passed into the function Name 7 each frame
        
        Category: Custom Parameters
        UserName: Value 7
        """
        ...
    @Value_7.setter
    def Value_7(self, value: float) -> None:
        ...

    @property
    def Value_8(self) -> float:
        """
        A float value passed into the function Name 8 each frame
        
        Category: Custom Parameters
        UserName: Value 8
        """
        ...
    @Value_8.setter
    def Value_8(self, value: float) -> None:
        ...

    @property
    def bookmark(self) -> WebBookmark:
        """
        The currently loaded web bookmark.
        
        UserName: Bookmark
        """
        ...
    @bookmark.setter
    def bookmark(self, value: WebBookmark) -> None:
        ...

    @property
    def fade_up_time(self) -> float:
        """
        The time it takes for the web module to fade up from a completely transparent state.
        
        UserName: Fade up time
        """
        ...
    @fade_up_time.setter
    def fade_up_time(self, value: float) -> None:
        ...

    @property
    def framerateFraction(self) -> int:
        """
        The fraction of the framerate the web browser renders at. Can help performance with particularly large resolutions.
        Does not help when in low latency output modes.
        
        Options: {0: '1', 1: '1/2', 2: '1/3', 3: '1/4'}
        UserName: Framerate fraction
        """
        ...
    @framerateFraction.setter
    def framerateFraction(self, value: int) -> None:
        ...

    @property
    def height(self) -> int:
        """
        The height of the web view in pixels.
        
        Category: Size
        UserName: Height
        """
        ...
    @height.setter
    def height(self, value: int) -> None:
        ...

    @property
    def size_mode(self) -> int:
        """
        The sizing mode of the web view.
        
        Options: {0: 'Match Mapping', 1: 'Custom'}
        Category: Size
        UserName: Size mode
        """
        ...
    @size_mode.setter
    def size_mode(self, value: int) -> None:
        ...

    @property
    def width(self) -> int:
        """
        The width of the web view in pixels.
        
        Category: Size
        UserName: Width
        """
        ...
    @width.setter
    def width(self, value: int) -> None:
        ...

    def clearCache(self) -> None:
        """
        Clears the cache of the WebModule.
        """
        ...

    def greySizeFields(self) -> bool:
        """
        Returns whether the browser size fields should be greyed out (size mode is set to canvas).
        
        :return True if the browser size mode is set to canvas, False otherwise.
        """
        ...

    def reset(self) -> None:
        """
        Resets the WebModule to its initial state.
        """
        ...

    def webBrowser(self) -> WebBrowser:
        """
        Returns the underlying WebBrowser instance.
        
        :return A shared pointer to the WebBrowser object.
        """
        ...


class WebViewSystem(Subsystem):
    """
    A system for creating and storing web browser instances.
    
    Web browser instances will be freed automatically if they are no longer in use.
    """

    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        ...

    def createBrowser(self, size: Int2, url: str) -> WebBrowser:
        """
        Creates a new web browser instance with the specified size and URL.
        
        :param size: The size of the web browser window in pixels. The minimum width and height is 100 pixels, the maximum size is dependent on the graphics card.
        :param url: The URL to load in the web browser.
        
        :return The newly created web browser instance, or None if no web process exists.
        """
        ...


class WindowResizeParams(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class WireframeRenderParams(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self, _wireframeCleanup: float, _colour: Colour) -> None:
        ...

    @overload
    def __init__(self, other: WireframeRenderParams) -> None:
        ...


class WorkloadCommand(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def command(self) -> str:
        ...
    @command.setter
    def command(self, value: str) -> None:
        ...

    def __init__(self) -> None:
        ...


class WorkloadCommandResponseInfo(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class WorkloadHealth(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def details(self) -> str:
        ...
    @details.setter
    def details(self, value: str) -> None:
        ...

    @property
    def message(self) -> str:
        ...
    @message.setter
    def message(self, value: str) -> None:
        ...

    @property
    def priority(self) -> int:
        ...
    @priority.setter
    def priority(self, value: int) -> None:
        ...

    @property
    def status(self) -> int:
        ...
    @status.setter
    def status(self, value: int) -> None:
        ...

    @overload
    def __init__(self) -> None:
        """
        Default constructor for WorkloadHealth
        """
        ...

    @overload
    def __init__(self, other: WorkloadHealth) -> None:
        """
        Copy constructor for WorkloadHealth
        """
        ...


class WorkloadInstance(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def isDroppingFrames(self) -> bool:
        ...
    @isDroppingFrames.setter
    def isDroppingFrames(self, value: bool) -> None:
        ...

    @property
    def isDroppingInputFrames(self) -> bool:
        ...
    @isDroppingInputFrames.setter
    def isDroppingInputFrames(self, value: bool) -> None:
        ...

    @property
    def isHighActiveLatencyDetected(self) -> bool:
        ...
    @isHighActiveLatencyDetected.setter
    def isHighActiveLatencyDetected(self, value: bool) -> None:
        ...

    @property
    def isProcessRunning(self) -> bool:
        ...
    @isProcessRunning.setter
    def isProcessRunning(self, value: bool) -> None:
        ...

    @property
    def isStopping(self) -> bool:
        ...
    @isStopping.setter
    def isStopping(self, value: bool) -> None:
        ...

    @property
    def isremoteTextureEmpty(self) -> bool:
        ...
    @isremoteTextureEmpty.setter
    def isremoteTextureEmpty(self, value: bool) -> None:
        ...

    @property
    def machineName(self) -> str:
        ...
    @machineName.setter
    def machineName(self, value: str) -> None:
        ...

    @property
    def status(self) -> int:
        ...
    @status.setter
    def status(self, value: int) -> None:
        ...

    @property
    def unrecoverableError(self) -> bool:
        ...
    @unrecoverableError.setter
    def unrecoverableError(self, value: bool) -> None:
        ...

    def __init__(self) -> None:
        """
        Default constructor for WorkloadInstance
        """
        ...

    def health(self) -> WorkloadHealth:
        ...


class WorkloadInstanceID(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class WorkloadManager(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'


class XmlFile(Resource):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'XmlFile'

    def __init__(self) -> None:
        ...


class atomic_bool(_BlipValue):
    """
    Reflection of the std::atomic_bool class from the C++ standard library
    """

    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self) -> None:
        """
        Default constructor for atomic_bool
        """
        ...

    def load(self) -> bool:
        """
        Atomically read the value of the boolean
        """
        ...

    def store(self, arg0: bool) -> None:
        """
        Atomically set the value of the boolean
        """
        ...


class exception_ptr(_BlipValue):
    """
    Reflection of the std::exception_ptr class from the C++ standard library
    """

    null: Self
    _classInfo: 'ClassInfo'

    def __init__(self, other: exception_ptr) -> None:
        """
        Copy constructor for exception_ptr
        """
        ...


class float4(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def w(self) -> float:
        ...
    @w.setter
    def w(self, value: float) -> None:
        ...

    @property
    def x(self) -> float:
        ...
    @x.setter
    def x(self, value: float) -> None:
        ...

    @property
    def y(self) -> float:
        ...
    @y.setter
    def y(self, value: float) -> None:
        ...

    @property
    def z(self) -> float:
        ...
    @z.setter
    def z(self, value: float) -> None:
        ...

    def __init__(self, o: float4) -> None:
        ...


class netsys_NetworkAdaptor(_BlipValue):
    null: Self
    _classInfo: 'ClassInfo'

    @property
    def adaptorName(self) -> str:
        ...

    @property
    def broadcastAddress(self) -> IPAddress:
        ...

    @property
    def broadcastAddressStr(self) -> str:
        ...

    @property
    def gatewayAddress(self) -> IPAddress:
        ...

    @property
    def gatewayAddressStr(self) -> str:
        ...

    @property
    def ipAddressStr(self) -> str:
        ...

    @property
    def ipv4(self) -> IPAddress:
        ...

    @property
    def isUp(self) -> bool:
        ...

    @property
    def networkPrefix(self) -> IPAddress:
        ...

    @property
    def networkPrefixStr(self) -> str:
        ...

    @property
    def subnet(self) -> IPAddress:
        ...

    @property
    def subnetMaskStr(self) -> str:
        ...


class sACNDriverOptions(DmxDriverSpecificOptions):
    null: Self
    _classInfo: 'ClassInfo'
    __username__ = 'sACN Driver Options'

    @property
    def forceSynchronisation(self) -> bool:
        """
        When enabled, synchronised receivers shall not update with any new packets until synchronisation resumes - even if the timeout period of 2.5s expires
        
        UserName: Force Synchronisation
        """
        ...
    @forceSynchronisation.setter
    def forceSynchronisation(self, value: bool) -> None:
        ...

    @property
    def priority(self) -> int:
        """
        Data priority on packets if multiple sources exist
        
        UserName: Priority
        """
        ...
    @priority.setter
    def priority(self, value: int) -> None:
        ...

    @property
    def syncAddress(self) -> int:
        """
        Set universe address upon which the sync behaviour will be triggered
        
        UserName: Sync Address
        """
        ...
    @syncAddress.setter
    def syncAddress(self, value: int) -> None:
        ...

    @property
    def syncEnabled(self) -> bool:
        """
        Send a sync packet at the end of each frame's DMX output
        
        UserName: Enable Synchronisation
        """
        ...
    @syncEnabled.setter
    def syncEnabled(self, value: bool) -> None:
        ...

    @property
    def syncPacketDelay(self) -> float:
        """
        Delay after finishing outputting DMX for the current frame before sending sync packet, in seconds
        
        UserName: Sync Packet Delay
        """
        ...
    @syncPacketDelay.setter
    def syncPacketDelay(self, value: float) -> None:
        ...


class std_nullopt(_BlipValue):
    """
    Reflection of the std::nullopt_t class from the C++ standard library
    """

    null: Self
    _classInfo: 'ClassInfo'


class string_view(_BlipValue):
    """
    Reflection of the std::string_view class from the C++ standard library
    """

    null: Self
    _classInfo: 'ClassInfo'

    @overload
    def __init__(self) -> None:
        """
        Default constructor for string_view
        """
        ...

    @overload
    def __init__(self, other: string_view) -> None:
        """
        Copy constructor for string_view
        """
        ...

    @overload
    def __init__(self, arg0: str) -> None:
        """
        Construct a string_view from a string
        """
        ...

    def __str__(self) -> Any:
        """
        Returns the string_view as a string
        """
        ...

