from typing import Tuple, Set, Iterable, List


class AssetProperty:
    @property
    def Name(self) -> str: ...
    @property
    def Type(self) -> AssetPropertyType: ...
    def GetTypeName(type: AssetPropertyType) -> str: ...
    @property
    def NumberOfConnectedProperties(self) -> int: ...
    @property
    def IsReadOnly(self) -> bool: ...
    @property
    def IsValidObject(self) -> bool: ...
    def GetConnectedProperty(self, index: int) -> AssetProperty: ...
    def GetSingleConnectedAsset(self) -> Asset: ...
    def GetAllConnectedProperties(self) -> List[AssetProperty]: ...
    def IsEditable(self) -> bool: ...
    def AddConnectedAsset(self, schema: str) -> None: ...
    def AddCopyAsConnectedAsset(self, pRenderingAsset: Asset) -> None: ...
    def RemoveConnectedAsset(self) -> None: ...
    def IsValidSchemaIdentifier(self, schemaID: str) -> bool: ...
    def Dispose(self) -> None: ...


class AssetProperties(AssetProperty):
    @property
    def Item(self, index: int) -> AssetProperty: ...
    @property
    def Size(self) -> int: ...
    def FindByName(self, name: str) -> AssetProperty: ...
    def Get(self, index: int) -> AssetProperty: ...
    def IsValidIndex(self, index: int) -> bool: ...


class Asset(AssetProperties):
    @property
    def Title(self) -> str: ...
    @property
    def LibraryName(self) -> str: ...
    @property
    def AssetType(self) -> AssetType: ...


class AssetPropertyType:
    Unknown = 0
    Properties = 1
    Boolean = 2
    Enumeration = 3
    Integer = 4
    Float = 5
    Double1 = 6
    Double2 = 7
    Double3 = 8
    Double4 = 9
    Double44 = 10
    String = 11
    Time = 12
    Distance = 14
    Asset = 15
    Reference = 16
    Longlong = 17
    ULonglong = 18
    List = 19
    Float3 = 20


class AssetType:
    Appearance = 4
    Content = 5


class AssetPropertyTime(AssetProperty):
    @property
    def Value(self) -> DateTime: ...


class AssetSet(APIObject):
    def __init__(self): ...
    def Clear(self) -> None: ...
    @property
    def Size(self) -> int: ...
    @property
    def IsEmpty(self) -> bool: ...
    def ForwardIterator(self) -> AssetSetIterator: ...
    def ReverseIterator(self) -> AssetSetIterator: ...
    def GetEnumerator(self) -> IEnumerator: ...
    def Contains(self, item: Asset) -> bool: ...
    def Insert(self, item: Asset) -> bool: ...
    def Erase(self, item: Asset) -> int: ...


class AssetSetIterator(APIObject):
    def __init__(self): ...
    @property
    def Current(self) -> Object: ...
    def MoveNext(self) -> bool: ...
    def Reset(self) -> None: ...


class AssetPropertyDoubleArray2d(AssetProperty):
    @property
    def Value(self) -> DoubleArray: ...


class AssetPropertyDoubleMatrix44(AssetProperty):
    @property
    def Value(self) -> DoubleArray: ...


class AssetPropertyFloatArray(AssetProperty):
    def GetValue(self) -> List[Single]: ...


class AssetPropertyInt64(AssetProperty):
    @property
    def Value(self) -> Int64: ...


class AssetPropertyUInt64(AssetProperty):
    @property
    def Value(self) -> UInt64: ...


class AssetPropertyBoolean(AssetProperty):
    @property
    def Value(self) -> bool: ...
    @Value.setter
    def Value(self, value: bool) -> None: ...


class AssetPropertyDistance(AssetProperty):
    @property
    def Value(self) -> float: ...
    @Value.setter
    def Value(self, value: float) -> None: ...
    @property
    def DisplayUnitType(self) -> DisplayUnitType: ...
    def IsValidValue(self, value: float) -> bool: ...
    def GetUnitTypeId(self) -> ForgeTypeId: ...


class AssetPropertyDouble(AssetProperty):
    @property
    def Value(self) -> float: ...
    @Value.setter
    def Value(self, value: float) -> None: ...
    def IsValidValue(self, value: float) -> bool: ...


class AssetPropertyDoubleArray3d(AssetProperty):
    def GetValueAsDoubles(self) -> List[float]: ...
    def GetValueAsXYZ(self) -> XYZ: ...
    def IsValidValue(self, xyz: XYZ) -> bool: ...
    def SetValueAsXYZ(self, xyz: XYZ) -> None: ...


class AssetPropertyDoubleArray4d(AssetProperty):
    def GetValueAsDoubles(self) -> List[float]: ...
    @overload
    def IsValidValue(self, color: Color) -> bool: ...
    @overload
    def IsValidValue(self, value: List[float]) -> bool: ...
    def SetValueAsDoubles(self, value: List[float]) -> None: ...
    def GetValueAsColor(self) -> Color: ...
    def SetValueAsColor(self, color: Color) -> None: ...


class AssetPropertyEnum(AssetProperty):
    @property
    def Value(self) -> int: ...
    @Value.setter
    def Value(self, value: int) -> None: ...
    def IsValidValue(self, value: int) -> bool: ...


class AssetPropertyFloat(AssetProperty):
    @property
    def Value(self) -> Single: ...
    @Value.setter
    def Value(self, value: Single) -> None: ...
    def IsValidValue(self, value: Single) -> bool: ...


class AssetPropertyInteger(AssetProperty):
    @property
    def Value(self) -> int: ...
    @Value.setter
    def Value(self, value: int) -> None: ...
    def IsValidValue(self, value: int) -> bool: ...


class AssetPropertyList(AssetProperty):
    def GetValue(self) -> List[AssetProperty]: ...
    def SetValue(self, value: List[AssetProperty]) -> None: ...
    def IsValidValue(self, value: List[AssetProperty]) -> bool: ...
    def AddNewAssetPropertyDouble(self, value: float) -> None: ...
    def AddNewAssetAsColor(self, value: Color) -> None: ...
    def AddNewAssetPropertyInteger(self, value: int) -> None: ...
    def InsertNewAssetPropertyDouble(self, value: float, index: int) -> None: ...
    def InsertNewAssetAsColor(self, value: Color, index: int) -> None: ...
    def InsertNewAssetPropertyInteger(self, value: int, index: int) -> None: ...
    def RemoveAssetProperty(self, index: int) -> None: ...


class AssetPropertyReference(AssetProperty):


class AssetPropertyString(AssetProperty):
    @property
    def Value(self) -> str: ...
    @Value.setter
    def Value(self, value: str) -> None: ...
    def IsValidValue(self, value: str) -> bool: ...


class AdvancedGlazing:
    @property
    def GlazingTransmissionColor() -> str: ...
    @property
    def GlazingTransmissionRoughness() -> str: ...
    @property
    def GlazingF0() -> str: ...
    @property
    def GlazingBackfaceCulling() -> str: ...
    @property
    def SurfaceAlbedo() -> str: ...
    @property
    def SurfaceAnisotropy() -> str: ...
    @property
    def SurfaceNormal() -> str: ...
    @property
    def SurfaceCutout() -> str: ...
    @property
    def SurfaceRotation() -> str: ...
    @property
    def SurfaceRoughness() -> str: ...
    @property
    def SurfaceNdfType() -> str: ...


class AdvancedLayered:
    @property
    def LayeredBottomF0() -> str: ...
    @property
    def LayeredF0() -> str: ...
    @property
    def LayeredFraction() -> str: ...
    @property
    def LayeredDiffuse() -> str: ...
    @property
    def LayeredAnisotropy() -> str: ...
    @property
    def LayeredNormal() -> str: ...
    @property
    def LayeredRotation() -> str: ...
    @property
    def LayeredRoughness() -> str: ...
    @property
    def LayeredNdfType() -> str: ...
    @property
    def SurfaceAlbedo() -> str: ...
    @property
    def SurfaceAnisotropy() -> str: ...
    @property
    def SurfaceNormal() -> str: ...
    @property
    def SurfaceCutout() -> str: ...
    @property
    def SurfaceRotation() -> str: ...
    @property
    def SurfaceRoughness() -> str: ...
    @property
    def SurfaceNdfType() -> str: ...


class AdvancedMetal:
    @property
    def MetalF0() -> str: ...
    @property
    def SurfaceAlbedo() -> str: ...
    @property
    def SurfaceAnisotropy() -> str: ...
    @property
    def SurfaceNormal() -> str: ...
    @property
    def SurfaceCutout() -> str: ...
    @property
    def SurfaceRotation() -> str: ...
    @property
    def SurfaceRoughness() -> str: ...
    @property
    def SurfaceNdfType() -> str: ...


class AdvancedOpaque:
    @property
    def OpaqueAlbedo() -> str: ...
    @property
    def OpaqueF0() -> str: ...
    @property
    def OpaqueTranslucency() -> str: ...
    @property
    def OpaqueMfp() -> str: ...
    @property
    def OpaqueMfpModifier() -> str: ...
    @property
    def OpaqueEmission() -> str: ...
    @property
    def OpaqueLuminance() -> str: ...
    @property
    def OpaqueLuminanceModifier() -> str: ...
    @property
    def SurfaceAlbedo() -> str: ...
    @property
    def SurfaceAnisotropy() -> str: ...
    @property
    def SurfaceNormal() -> str: ...
    @property
    def SurfaceCutout() -> str: ...
    @property
    def SurfaceRotation() -> str: ...
    @property
    def SurfaceRoughness() -> str: ...
    @property
    def SurfaceNdfType() -> str: ...


class AdvancedTransparent:
    @property
    def TransparentColor() -> str: ...
    @property
    def TransparentDistance() -> str: ...
    @property
    def TransparentIor() -> str: ...
    @property
    def SurfaceAlbedo() -> str: ...
    @property
    def SurfaceAnisotropy() -> str: ...
    @property
    def SurfaceNormal() -> str: ...
    @property
    def SurfaceCutout() -> str: ...
    @property
    def SurfaceRotation() -> str: ...
    @property
    def SurfaceRoughness() -> str: ...
    @property
    def SurfaceNdfType() -> str: ...


class AdvancedWood:
    @property
    def WoodRingThickness() -> str: ...
    @property
    def WoodLatewoodRatio() -> str: ...
    @property
    def WoodEarlywoodSharpness() -> str: ...
    @property
    def WoodLatewoodSharpness() -> str: ...
    @property
    def WoodEarlyColor() -> str: ...
    @property
    def WoodLateColorPower() -> str: ...
    @property
    def WoodSecondaryColorPower() -> str: ...
    @property
    def WoodUseManualLateColor() -> str: ...
    @property
    def WoodManualLateColor() -> str: ...
    @property
    def WoodUsePores() -> str: ...
    @property
    def WoodPoreType() -> str: ...
    @property
    def WoodPoreCellDim() -> str: ...
    @property
    def WoodPoreRadius() -> str: ...
    @property
    def WoodPoreColorPower() -> str: ...
    @property
    def WoodPoreDepth() -> str: ...
    @property
    def WoodUseRays() -> str: ...
    @property
    def WoodRayColorPower() -> str: ...
    @property
    def WoodRaySegLengthZ() -> str: ...
    @property
    def WoodRayNumSlices() -> str: ...
    @property
    def WoodRayEllipseRadiusX() -> str: ...
    @property
    def WoodRayEllipseZ2x() -> str: ...
    @property
    def WoodFiberRoughness() -> str: ...
    @property
    def WoodDiffuseLobeWeight() -> str: ...
    @property
    def WoodUseLatewoodBump() -> str: ...
    @property
    def WoodLatewoodBumpDepth() -> str: ...
    @property
    def WoodUseGrooveRoughness() -> str: ...
    @property
    def WoodGrooveRoughness() -> str: ...
    @property
    def WoodFiberPerlinEnable() -> str: ...
    @property
    def WoodFiberPerlinProf() -> str: ...
    @property
    def WoodFiberPerlinScaleZ() -> str: ...
    @property
    def WoodFiberCosineEnable() -> str: ...
    @property
    def WoodFiberCosineProf() -> str: ...
    @property
    def WoodGrowthPerlinEnable() -> str: ...
    @property
    def WoodGrowthPerlinProf() -> str: ...
    @property
    def WoodDiffusePerlinEnable() -> str: ...
    @property
    def WoodDiffusePerlinProf() -> str: ...
    @property
    def WoodDiffusePerlinScaleZ() -> str: ...
    @property
    def WoodSecondaryPerlinEnable() -> str: ...
    @property
    def WoodSecondaryPerlinProf() -> str: ...
    @property
    def WoodSecondaryPerlinScaleZ() -> str: ...
    @property
    def WoodEarlycolorPerlinEnable() -> str: ...
    @property
    def WoodEarlycolorPerlinProf() -> str: ...
    @property
    def WoodLatecolorPerlinEnable() -> str: ...
    @property
    def WoodLatecolorPerlinProf() -> str: ...
    @property
    def WoodCurlyDistortionEnable() -> str: ...
    @property
    def WoodCurlyDistortionScale() -> str: ...
    @property
    def WoodCurlyDistortionMap() -> str: ...


class AppearanceAssetEditScope:
    def __init__(self, document: Document): ...
    @property
    def IsActive(self) -> bool: ...
    @property
    def IsValidObject(self) -> bool: ...
    def Start(self, assetElementId: ElementId) -> Asset: ...
    def Cancel(self) -> None: ...
    def Commit(self, updateOpenViews: bool) -> None: ...
    def Dispose(self) -> None: ...


class LayeredNdfType:
    Beckmann = 0
    Ggx = 1


class SurfaceNdfType:
    Beckmann = 0
    Ggx = 1


class WoodPoreType:
    InBothWoods = 0
    EarlywoodOnly = 1
    LatewoodOnly = 2


class CeramicType:
    Ceramic = 0
    Porcelain = 1


class CeramicApplicationType:
    HighGlossy = 0
    Satin = 1
    Matte = 2


class CeramicBumpType:
    #None = 0
    Wavy = 1
    Custom = 2


class CeramicPatternType:
    #None = 0
    Custom = 1


class CommonSharedAssetType:
    Shared = 0
    Independent = 1


class ConcreteSealantType:
    #None = 0
    Epoxy = 1
    Acrylic = 2


class ConcreteFinishType:
    Straight = 0
    Curved = 1
    Smooth = 2
    Polished = 3
    Custom = 4


class ConcreteBrightmodeType:
    #None = 0
    Automatic = 1
    Custom = 2


class GlazingTransmittanceColorType:
    Clear = 0
    Green = 1
    Gray = 2
    Blue = 3
    Bluegreen = 4
    Bronze = 5
    Custom = 6


class HardwoodTintEnabledType:
    NoColor = 0
    ColorChoice = 1


class HardwoodFinishType:
    Gloss = 0
    Semigloss = 1
    Satin = 2
    Unfinished = 3


class HardwoodApplicationType:
    looring = 0
    urniture = 1


class HardwoodImperfectionsType:
    #None = 0
    Automatic = 1
    Custom = 2


class MasonryCMUType:
    Cmu = 0
    Masonry = 1


class MasonryCMUApplicationType:
    Glossy = 0
    Matte = 1
    Unfinished = 2


class MasonryCMUPatternType:
    #None = 0
    Custom = 1


class MetalType:
    Aluminum = 0
    GalvanizedAlu = 1
    Chrome = 2
    Copper = 3
    Brass = 4
    Bronze = 5
    StainlessSteel = 6
    Zinc = 7


class MetalFinishType:
    Polished = 0
    SemiPolished = 1
    Satin = 2
    Brushed = 3


class MetalPatternType:
    #None = 0
    Knurl = 1
    DiamondPlate = 2
    CheckerPlate = 3
    Custom = 4


class MetalPerforationsType:
    #None = 0
    CirclesStaggered = 1
    CirclesStraight = 2
    Squares = 3
    Grecian = 4
    Cloverleaf = 5
    Hexagon = 6
    Custom = 7


class MetallicpaintFlecksType:
    #None = 0
    Enable = 1


class MetallicpaintPearlType:
    #None = 0
    Chromatic = 1
    Custom = 2


class MetallicpaintTopcoatType:
    Carpaint = 0
    Chrome = 1
    Matte = 2
    Custom = 3


class MetallicpaintFinishType:
    Smooth = 0
    Peeling = 1


class PlasticvinylType:
    Plasticsolid = 0
    Plastictransparent = 1
    Vinyl = 2


class PlasticvinylApplicationType:
    Polished = 0
    Glossy = 1
    Matte = 2


class PlasticvinylBumpType:
    #None = 0
    Custom = 1


class PlasticvinylPatternType:
    #None = 0
    Custom = 1


class SolidglassTransmittanceType:
    Clear = 0
    Green = 1
    Gray = 2
    Blue = 3
    Bluegreen = 4
    Bronze = 5
    CustomColor = 6


class SolidglassBumpEnableType:
    #None = 0
    Rippled = 1
    Wavy = 2
    Custom = 3


class StoneApplicationType:
    Polished = 0
    Glossy = 1
    Matte = 2
    Unfinished = 3


class StoneBumpType:
    #None = 0
    Polishedgranite = 1
    Stonewall = 2
    Glossymarble = 3
    Custom = 4


class StonePatternType:
    #None = 0
    Custom = 1


class WallpaintFinishType:
    Flat = 0
    Eggshell = 1
    Platinum = 2
    Pearl = 3
    Semigloss = 4
    Gloss = 5


class WallpaintApplicationType:
    Roller = 0
    Brush = 1
    Spray = 2


class WaterType:
    SwimmingPool = 0
    ReflectingPool = 1
    River = 2
    Lake = 3
    Ocean = 4


class WaterTintEnableType:
    Tropical = 0
    Algae = 1
    Murky = 2
    ReflectingPool = 3
    River = 4
    Lake = 5
    Ocean = 6
    Custom = 7


class BumpmapType:
    HeightMap = 0
    NormalMap = 1


class GradientInterpolationType:
    Custom = 0
    Easein = 1
    Easeinout = 2
    Easeout = 3
    Linear = 4
    Solid = 5


class GradientNoiseType:
    Regular = 0
    Turbulence = 1
    Fractal = 2


class GradientType:
    Fourcorner = 0
    Box = 1
    Diagonal = 2
    Lighting = 3
    Linear = 4
    Mapped = 5
    Normal = 6
    Pong = 7
    Radial = 8
    Spiral = 9
    Sweep = 10
    Tartan = 11


class NoiseType:
    Regular = 0
    Fractal = 1
    Turbulence = 2


class TileBrickType:
    RunningBond = 0
    CommonFlemishBond = 1
    EnglishBond = 2
    HalfRunningBond = 3
    StackBond = 4
    FineRunningBond = 5
    FineStackBond = 6
    Custom = 7


class WaveDistributionType:
    TwoD = 0
    ThreeD = 1


class BumpMap:
    @property
    def BumpmapBitmap() -> str: ...
    @property
    def TextureLinkTextureTransforms() -> str: ...
    @property
    def TextureRealWorldOffsetX() -> str: ...
    @property
    def TextureRealWorldOffsetY() -> str: ...
    @property
    def TextureOffsetLock() -> str: ...
    @property
    def TextureWAngle() -> str: ...
    @property
    def TextureRealWorldScaleX() -> str: ...
    @property
    def TextureRealWorldScaleY() -> str: ...
    @property
    def TextureScaleLock() -> str: ...
    @property
    def BumpmapDepth() -> str: ...
    @property
    def BumpmapNormalScale() -> str: ...
    @property
    def TextureURepeat() -> str: ...
    @property
    def TextureVRepeat() -> str: ...
    @property
    def BumpmapType() -> str: ...


class Ceramic:
    @property
    def CeramicType() -> str: ...
    @property
    def CeramicColor() -> str: ...
    @property
    def CeramicColorByObject() -> str: ...
    @property
    def CeramicApplication() -> str: ...
    @property
    def CeramicBump() -> str: ...
    @property
    def CeramicBumpMap() -> str: ...
    @property
    def CeramicBumpAmount() -> str: ...
    @property
    def CeramicPattern() -> str: ...
    @property
    def CeramicPatternMap() -> str: ...
    @property
    def CeramicPatternAmount() -> str: ...
    @property
    def CommonTintToggle() -> str: ...
    @property
    def CommonTintColor() -> str: ...


class Checker:
    @property
    def CheckerColor1() -> str: ...
    @property
    def CheckerColor2() -> str: ...
    @property
    def CheckerSoften() -> str: ...
    @property
    def TextureLinkTextureTransforms() -> str: ...
    @property
    def TextureRealWorldOffsetX() -> str: ...
    @property
    def TextureRealWorldOffsetY() -> str: ...
    @property
    def TextureOffsetLock() -> str: ...
    @property
    def TextureWAngle() -> str: ...
    @property
    def TextureRealWorldScaleX() -> str: ...
    @property
    def TextureRealWorldScaleY() -> str: ...
    @property
    def TextureScaleLock() -> str: ...
    @property
    def TextureURepeat() -> str: ...
    @property
    def TextureVRepeat() -> str: ...


class SchemaCommon:
    @property
    def Hidden() -> str: ...
    @property
    def VersionGUID() -> str: ...
    @property
    def BaseSchema() -> str: ...
    @property
    def Thumbnail() -> str: ...
    @property
    def Description() -> str: ...
    @property
    def UIName() -> str: ...
    @property
    def Keyword() -> str: ...
    @property
    def Category() -> str: ...


class Concrete:
    @property
    def ConcreteColor() -> str: ...
    @property
    def ConcreteSealant() -> str: ...
    @property
    def ConcreteFinish() -> str: ...
    @property
    def ConcreteBumpMap() -> str: ...
    @property
    def ConcreteBumpAmount() -> str: ...
    @property
    def ConcreteBrightmode() -> str: ...
    @property
    def ConcreteBmMap() -> str: ...
    @property
    def CommonTintToggle() -> str: ...
    @property
    def CommonTintColor() -> str: ...


class Generic:
    @property
    def GenericDiffuse() -> str: ...
    @property
    def ColorByObject() -> str: ...
    @property
    def GenericDiffuseImageFade() -> str: ...
    @property
    def GenericGlossiness() -> str: ...
    @property
    def GenericIsMetal() -> str: ...
    @property
    def GenericReflectivityAt0deg() -> str: ...
    @property
    def GenericReflectivityAt90deg() -> str: ...
    @property
    def GenericTransparency() -> str: ...
    @property
    def GenericTransparencyImageFade() -> str: ...
    @property
    def GenericRefractionTranslucencyWeight() -> str: ...
    @property
    def GenericRefractionIndex() -> str: ...
    @property
    def GenericCutoutOpacity() -> str: ...
    @property
    def GenericSelfIllumFilterMap() -> str: ...
    @property
    def GenericSelfIllumLuminance() -> str: ...
    @property
    def GenericSelfIllumColorTemperature() -> str: ...
    @property
    def GenericBumpMap() -> str: ...
    @property
    def GenericBumpAmount() -> str: ...
    @property
    def CommonTintToggle() -> str: ...
    @property
    def CommonTintColor() -> str: ...


class Glazing:
    @property
    def GlazingTransmittanceColor() -> str: ...
    @property
    def GlazingTransmittanceMap() -> str: ...
    @property
    def GlazingColorByObject() -> str: ...
    @property
    def GlazingReflectance() -> str: ...
    @property
    def GlazingNoLevels() -> str: ...
    @property
    def CommonTintToggle() -> str: ...
    @property
    def CommonTintColor() -> str: ...


class Gradient:
    @property
    def GradientColor() -> str: ...
    @property
    def GradientInterpolation() -> str: ...
    @property
    def GradientNoise() -> str: ...
    @property
    def GradientNoiseAmount() -> str: ...
    @property
    def GradientNoiseHigh() -> str: ...
    @property
    def GradientNoiseLevels() -> str: ...
    @property
    def GradientNoiseLow() -> str: ...
    @property
    def GradientNoisePhase() -> str: ...
    @property
    def GradientNoiseSize() -> str: ...
    @property
    def GradientNoiseSmooth() -> str: ...
    @property
    def GradientPosition() -> str: ...
    @property
    def GradientType() -> str: ...
    @property
    def TextureLinkTextureTransforms() -> str: ...
    @property
    def TextureRealWorldOffsetX() -> str: ...
    @property
    def TextureRealWorldOffsetY() -> str: ...
    @property
    def TextureOffsetLock() -> str: ...
    @property
    def TextureWAngle() -> str: ...
    @property
    def TextureRealWorldScaleX() -> str: ...
    @property
    def TextureRealWorldScaleY() -> str: ...
    @property
    def TextureScaleLock() -> str: ...
    @property
    def TextureURepeat() -> str: ...
    @property
    def TextureVRepeat() -> str: ...


class Hardwood:
    @property
    def HardwoodColor() -> str: ...
    @property
    def HardwoodTintEnabled() -> str: ...
    @property
    def HardwoodTintColor() -> str: ...
    @property
    def HardwoodFinish() -> str: ...
    @property
    def HardwoodApplication() -> str: ...
    @property
    def HardwoodImperfections() -> str: ...
    @property
    def HardwoodImperfectionsShader() -> str: ...
    @property
    def HardwoodImperfectionsAmount() -> str: ...
    @property
    def CommonTintToggle() -> str: ...
    @property
    def CommonTintColor() -> str: ...


class Marble:
    @property
    def MarbleColor1() -> str: ...
    @property
    def MarbleColor2() -> str: ...
    @property
    def MarbleSize() -> str: ...
    @property
    def MarbleWidth() -> str: ...
    @property
    def TextureAngle() -> str: ...
    @property
    def TextureLinkTextureTransforms() -> str: ...
    @property
    def TextureRealWorldOffsetX() -> str: ...
    @property
    def TextureRealWorldOffsetY() -> str: ...
    @property
    def TextureRealWorldOffsetZ() -> str: ...


class MasonryCMU:
    @property
    def MasonryCMUType() -> str: ...
    @property
    def MasonryCMUColor() -> str: ...
    @property
    def MasonryCMUColorByObject() -> str: ...
    @property
    def MasonryCMUApplication() -> str: ...
    @property
    def MasonryCMUPattern() -> str: ...
    @property
    def MasonryCMUPatternMap() -> str: ...
    @property
    def MasonryCMUPatternHeight() -> str: ...
    @property
    def CommonTintToggle() -> str: ...
    @property
    def CommonTintColor() -> str: ...


class Metal:
    @property
    def MetalType() -> str: ...
    @property
    def MetalColor() -> str: ...
    @property
    def MetalPatina() -> str: ...
    @property
    def MetalFinish() -> str: ...
    @property
    def MetalPattern() -> str: ...
    @property
    def MetalPatternShader() -> str: ...
    @property
    def MetalPatternHeight() -> str: ...
    @property
    def MetalPatternScale() -> str: ...
    @property
    def MetalPerforations() -> str: ...
    @property
    def MetalPerforationsShader() -> str: ...
    @property
    def MetalPerforationsSize() -> str: ...
    @property
    def MetalPerforationsCenter() -> str: ...
    @property
    def CommonTintToggle() -> str: ...
    @property
    def CommonTintColor() -> str: ...


class MetallicPaint:
    @property
    def MetallicpaintBaseColor() -> str: ...
    @property
    def MetallicpaintBaseColorByObject() -> str: ...
    @property
    def MetallicpaintBaseHighlightspread() -> str: ...
    @property
    def MetallicpaintFlecks() -> str: ...
    @property
    def MetallicpaintFlecksColorByObject() -> str: ...
    @property
    def MetallicpaintFlecksColor() -> str: ...
    @property
    def MetallicpaintFlecksSize() -> str: ...
    @property
    def MetallicpaintPearl() -> str: ...
    @property
    def MetallicpaintPearlAmount() -> str: ...
    @property
    def MetallicpaintPearlColorByObject() -> str: ...
    @property
    def MetallicpaintPearlColor() -> str: ...
    @property
    def MetallicpaintPearlIor() -> str: ...
    @property
    def MetallicpaintTopcoat() -> str: ...
    @property
    def MetallicpaintTopcoatGlossy() -> str: ...
    @property
    def MetallicpaintTopcoatFalloff() -> str: ...
    @property
    def MetallicpaintFinish() -> str: ...
    @property
    def MetallicpaintFinishPeelamount() -> str: ...
    @property
    def CommonTintToggle() -> str: ...
    @property
    def CommonTintColor() -> str: ...


class Mirror:
    @property
    def MirrorTintcolor() -> str: ...
    @property
    def MirrorColorByObject() -> str: ...
    @property
    def CommonTintToggle() -> str: ...
    @property
    def CommonTintColor() -> str: ...


class Noise:
    @property
    def NoiseType() -> str: ...
    @property
    def NoiseColor1() -> str: ...
    @property
    def NoiseColor2() -> str: ...
    @property
    def NoiseThresholdHigh() -> str: ...
    @property
    def NoiseThresholdLow() -> str: ...
    @property
    def NoiseSize() -> str: ...
    @property
    def NoiseLevels() -> str: ...
    @property
    def NoisePhase() -> str: ...
    @property
    def TextureAngle() -> str: ...
    @property
    def TextureLinkTextureTransforms() -> str: ...
    @property
    def TextureRealWorldOffsetX() -> str: ...
    @property
    def TextureRealWorldOffsetY() -> str: ...
    @property
    def TextureRealWorldOffsetZ() -> str: ...


class PlasticVinyl:
    @property
    def PlasticvinylType() -> str: ...
    @property
    def PlasticvinylColor() -> str: ...
    @property
    def PlasticvinylColorByObject() -> str: ...
    @property
    def PlasticvinylApplication() -> str: ...
    @property
    def PlasticvinylBump() -> str: ...
    @property
    def PlasticvinylBumpMap() -> str: ...
    @property
    def PlasticvinylBumpAmount() -> str: ...
    @property
    def PlasticvinylPattern() -> str: ...
    @property
    def PlasticvinylPatternMap() -> str: ...
    @property
    def PlasticvinylPatternAmount() -> str: ...
    @property
    def CommonTintToggle() -> str: ...
    @property
    def CommonTintColor() -> str: ...


class SolidGlass:
    @property
    def SolidglassTransmittance() -> str: ...
    @property
    def SolidglassTransmittanceCustomColor() -> str: ...
    @property
    def SolidglassColorByObject() -> str: ...
    @property
    def SolidglassReflectance() -> str: ...
    @property
    def SolidglassRefractionIor() -> str: ...
    @property
    def SolidglassGlossiness() -> str: ...
    @property
    def SolidglassBumpEnable() -> str: ...
    @property
    def SolidglassBumpMap() -> str: ...
    @property
    def SolidglassBumpAmount() -> str: ...
    @property
    def CommonTintToggle() -> str: ...
    @property
    def CommonTintColor() -> str: ...


class Speckle:
    @property
    def SpeckleColor1() -> str: ...
    @property
    def SpeckleColor2() -> str: ...
    @property
    def SpeckleSize() -> str: ...
    @property
    def TextureLinkTextureTransforms() -> str: ...
    @property
    def TextureRealWorldOffsetX() -> str: ...
    @property
    def TextureRealWorldOffsetY() -> str: ...
    @property
    def TextureRealWorldOffsetZ() -> str: ...
    @property
    def TextureAngle() -> str: ...


class Stone:
    @property
    def StoneColor() -> str: ...
    @property
    def StoneApplication() -> str: ...
    @property
    def StoneBump() -> str: ...
    @property
    def StoneBumpMap() -> str: ...
    @property
    def StoneBumpAmount() -> str: ...
    @property
    def StonePattern() -> str: ...
    @property
    def StonePatternMap() -> str: ...
    @property
    def StonePatternAmount() -> str: ...
    @property
    def CommonTintToggle() -> str: ...
    @property
    def CommonTintColor() -> str: ...


class Tile:
    @property
    def TileBrickType() -> str: ...
    @property
    def TileHorizontalCount() -> str: ...
    @property
    def TileVerticalCount() -> str: ...
    @property
    def TileBrickColor() -> str: ...
    @property
    def TileColorVariance() -> str: ...
    @property
    def TileFadeVariance() -> str: ...
    @property
    def TileRandomSeed() -> str: ...
    @property
    def TileMortarColor() -> str: ...
    @property
    def TileHorizontalGap() -> str: ...
    @property
    def TileVerticalGap() -> str: ...
    @property
    def TileEdgeRoughness() -> str: ...
    @property
    def TileLineShift() -> str: ...
    @property
    def TileRandomShift() -> str: ...
    @property
    def TileUseRowEdit() -> str: ...
    @property
    def TilePerRow() -> str: ...
    @property
    def TileChangeRow() -> str: ...
    @property
    def TileUseColumnEdit() -> str: ...
    @property
    def TilePerColumn() -> str: ...
    @property
    def TileChangeColumn() -> str: ...
    @property
    def TextureLinkTextureTransforms() -> str: ...
    @property
    def TextureRealWorldOffsetX() -> str: ...
    @property
    def TextureRealWorldOffsetY() -> str: ...
    @property
    def TextureOffsetLock() -> str: ...
    @property
    def TextureWAngle() -> str: ...
    @property
    def TextureRealWorldScaleX() -> str: ...
    @property
    def TextureRealWorldScaleY() -> str: ...
    @property
    def TextureScaleLock() -> str: ...
    @property
    def TextureURepeat() -> str: ...
    @property
    def TextureVRepeat() -> str: ...


class UnifiedBitmap:
    @property
    def UnifiedbitmapBitmap() -> str: ...
    @property
    def UnifiedbitmapRGBAmount() -> str: ...
    @property
    def UnifiedbitmapInvert() -> str: ...
    @property
    def TextureLinkTextureTransforms() -> str: ...
    @property
    def TextureRealWorldOffsetX() -> str: ...
    @property
    def TextureRealWorldOffsetY() -> str: ...
    @property
    def TextureOffsetLock() -> str: ...
    @property
    def TextureWAngle() -> str: ...
    @property
    def TextureRealWorldScaleX() -> str: ...
    @property
    def TextureRealWorldScaleY() -> str: ...
    @property
    def TextureScaleLock() -> str: ...
    @property
    def TextureURepeat() -> str: ...
    @property
    def TextureVRepeat() -> str: ...


class WallPaint:
    @property
    def WallpaintColor() -> str: ...
    @property
    def WallpaintFinish() -> str: ...
    @property
    def WallpaintApplication() -> str: ...
    @property
    def CommonTintToggle() -> str: ...
    @property
    def CommonTintColor() -> str: ...


class Water:
    @property
    def WaterType() -> str: ...
    @property
    def WaterTintEnable() -> str: ...
    @property
    def WaterTintColor() -> str: ...
    @property
    def WaterColorByObject() -> str: ...
    @property
    def WaterBumpAmount() -> str: ...
    @property
    def CommonTintToggle() -> str: ...
    @property
    def CommonTintColor() -> str: ...


class Wave:
    @property
    def WaveColor1() -> str: ...
    @property
    def WaveColor2() -> str: ...
    @property
    def WaveDistribution() -> str: ...
    @property
    def WaveNumWaveSets() -> str: ...
    @property
    def WaveWaveRadius() -> str: ...
    @property
    def WaveWaveLenMin() -> str: ...
    @property
    def WaveWaveLenMax() -> str: ...
    @property
    def WaveAmplitude() -> str: ...
    @property
    def WavePhase() -> str: ...
    @property
    def WaveRandomSeed() -> str: ...
    @property
    def TextureLinkTextureTransforms() -> str: ...
    @property
    def TextureRealWorldOffsetX() -> str: ...
    @property
    def TextureRealWorldOffsetY() -> str: ...
    @property
    def TextureRealWorldOffsetZ() -> str: ...
    @property
    def TextureAngle() -> str: ...


class Wood:
    @property
    def WoodColor1() -> str: ...
    @property
    def WoodColor2() -> str: ...
    @property
    def WoodRadialNoise() -> str: ...
    @property
    def WoodAxialNoise() -> str: ...
    @property
    def WoodThickness() -> str: ...
    @property
    def TextureLinkTextureTransforms() -> str: ...
    @property
    def TextureRealWorldOffsetX() -> str: ...
    @property
    def TextureRealWorldOffsetY() -> str: ...
    @property
    def TextureRealWorldOffsetZ() -> str: ...
    @property
    def TextureAngle() -> str: ...
