from __future__ import annotations
import typing
from typing import Any
from enum import IntEnum, IntFlag


class StateSave(typing.Any):
    @property
    def Name(self) -> Any: ...
    @Name.setter
    def Name(self, value: Any) -> None: ...
    @property
    def Variables(self) -> Any: ...
    @Variables.setter
    def Variables(self, value: Any) -> None: ...
    @property
    def VariableLists(self) -> Any: ...
    @VariableLists.setter
    def VariableLists(self, value: Any) -> None: ...
    @property
    def ParentContainer(self) -> Any: ...
    @ParentContainer.setter
    def ParentContainer(self, value: Any) -> None: ...
    def Clear(self, *args: Any, **kwargs: Any) -> Any: ...
    def Clone(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetVariableSave(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetVariableListSave(self, *args: Any, **kwargs: Any) -> Any: ...
    def TryGetValue(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetValueOrDefault(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetValue(self, *args: Any, **kwargs: Any) -> Any: ...
    def SetValue(self, *args: Any, **kwargs: Any) -> Any: ...
    def ToString(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetType(self, *args: Any, **kwargs: Any) -> Any: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self, *args: Any, **kwargs: Any) -> Any: ...

class StateSaveCategory(typing.Any):
    @property
    def Name(self) -> Any: ...
    @Name.setter
    def Name(self, value: Any) -> None: ...
    @property
    def States(self) -> Any: ...
    @States.setter
    def States(self, value: Any) -> None: ...
    def ToString(self, *args: Any, **kwargs: Any) -> Any: ...
    def Clone(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetType(self, *args: Any, **kwargs: Any) -> Any: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self, *args: Any, **kwargs: Any) -> Any: ...

class VariableListSave(typing.Any):
    @property
    def Type(self) -> Any: ...
    @Type.setter
    def Type(self, value: Any) -> None: ...
    @property
    def Name(self) -> Any: ...
    @Name.setter
    def Name(self, value: Any) -> None: ...
    @property
    def SourceObject(self) -> Any: ...
    @property
    def Category(self) -> Any: ...
    @Category.setter
    def Category(self, value: Any) -> None: ...
    @property
    def IsFile(self) -> Any: ...
    @IsFile.setter
    def IsFile(self, value: Any) -> None: ...
    @property
    def IsHiddenInPropertyGrid(self) -> Any: ...
    @IsHiddenInPropertyGrid.setter
    def IsHiddenInPropertyGrid(self, value: Any) -> None: ...
    @property
    def ValueAsIList(self) -> Any: ...
    @ValueAsIList.setter
    def ValueAsIList(self, value: Any) -> None: ...
    def GetRootName(self, *args: Any, **kwargs: Any) -> Any: ...
    def CreateNewList(self, *args: Any, **kwargs: Any) -> Any: ...
    def Clone(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetType(self, *args: Any, **kwargs: Any) -> Any: ...
    def ToString(self, *args: Any, **kwargs: Any) -> Any: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self, *args: Any, **kwargs: Any) -> Any: ...

class VariableListSave`1(typing.Any):
    @property
    def ValueAsIList(self) -> Any: ...
    @ValueAsIList.setter
    def ValueAsIList(self, value: Any) -> None: ...
    @property
    def Value(self) -> Any: ...
    @Value.setter
    def Value(self, value: Any) -> None: ...
    @property
    def Type(self) -> Any: ...
    @Type.setter
    def Type(self, value: Any) -> None: ...
    @property
    def Name(self) -> Any: ...
    @Name.setter
    def Name(self, value: Any) -> None: ...
    @property
    def SourceObject(self) -> Any: ...
    @property
    def Category(self) -> Any: ...
    @Category.setter
    def Category(self, value: Any) -> None: ...
    @property
    def IsFile(self) -> Any: ...
    @IsFile.setter
    def IsFile(self, value: Any) -> None: ...
    @property
    def IsHiddenInPropertyGrid(self) -> Any: ...
    @IsHiddenInPropertyGrid.setter
    def IsHiddenInPropertyGrid(self, value: Any) -> None: ...
    def Clone(self, *args: Any, **kwargs: Any) -> Any: ...
    def ToString(self, *args: Any, **kwargs: Any) -> Any: ...
    def CreateNewList(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetRootName(self, *args: Any, **kwargs: Any) -> Any: ...
    def Clone(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetType(self, *args: Any, **kwargs: Any) -> Any: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self, *args: Any, **kwargs: Any) -> Any: ...

class VariableSaveValues(typing.Any):
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self, *args: Any, **kwargs: Any) -> Any: ...
    def ToString(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetType(self, *args: Any, **kwargs: Any) -> Any: ...

class VariableSave(typing.Any):
    @property
    def IsFile(self) -> Any: ...
    @IsFile.setter
    def IsFile(self, value: Any) -> None: ...
    @property
    def IsFont(self) -> Any: ...
    @IsFont.setter
    def IsFont(self, value: Any) -> None: ...
    @property
    def Type(self) -> Any: ...
    @Type.setter
    def Type(self, value: Any) -> None: ...
    @property
    def Name(self) -> Any: ...
    @Name.setter
    def Name(self, value: Any) -> None: ...
    @property
    def Value(self) -> Any: ...
    @Value.setter
    def Value(self, value: Any) -> None: ...
    @property
    def SourceObject(self) -> Any: ...
    @property
    def ExposedAsName(self) -> Any: ...
    @ExposedAsName.setter
    def ExposedAsName(self, value: Any) -> None: ...
    @property
    def Category(self) -> Any: ...
    @Category.setter
    def Category(self, value: Any) -> None: ...
    @property
    def SetsValue(self) -> Any: ...
    @SetsValue.setter
    def SetsValue(self, value: Any) -> None: ...
    @property
    def IsHiddenInPropertyGrid(self) -> Any: ...
    @IsHiddenInPropertyGrid.setter
    def IsHiddenInPropertyGrid(self, value: Any) -> None: ...
    @property
    def IsCustomVariable(self) -> Any: ...
    @IsCustomVariable.setter
    def IsCustomVariable(self, value: Any) -> None: ...
    @property
    def ExcludedValuesForEnum(self) -> Any: ...
    @ExcludedValuesForEnum.setter
    def ExcludedValuesForEnum(self, value: Any) -> None: ...
    @property
    def CustomTypeConverter(self) -> Any: ...
    @CustomTypeConverter.setter
    def CustomTypeConverter(self, value: Any) -> None: ...
    @property
    def CanOnlyBeSetInDefaultState(self) -> Any: ...
    @CanOnlyBeSetInDefaultState.setter
    def CanOnlyBeSetInDefaultState(self, value: Any) -> None: ...
    @property
    def ExcludeFromInstances(self) -> Any: ...
    @ExcludeFromInstances.setter
    def ExcludeFromInstances(self, value: Any) -> None: ...
    @property
    def DesiredOrder(self) -> Any: ...
    @DesiredOrder.setter
    def DesiredOrder(self, value: Any) -> None: ...
    @property
    def PropertiesToSetOnDisplayer(self) -> Any: ...
    @PropertiesToSetOnDisplayer.setter
    def PropertiesToSetOnDisplayer(self, value: Any) -> None: ...
    @property
    def PreferredDisplayer(self) -> Any: ...
    @PreferredDisplayer.setter
    def PreferredDisplayer(self, value: Any) -> None: ...
    @property
    def DetailText(self) -> Any: ...
    @DetailText.setter
    def DetailText(self, value: Any) -> None: ...
    def ShouldSerializeIsFile(self, *args: Any, **kwargs: Any) -> Any: ...
    def ShouldSerializeIsFont(self, *args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def GetSourceObject(*args: Any, **kwargs: Any) -> Any: ...
    def ShouldSerializeIsHiddenInPropertyGrid(self, *args: Any, **kwargs: Any) -> Any: ...
    def ShouldSerializeIsCustomVariable(self, *args: Any, **kwargs: Any) -> Any: ...
    def Clone(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetRootName(self, *args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def GetRootName(*args: Any, **kwargs: Any) -> Any: ...
    def ToString(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetType(self, *args: Any, **kwargs: Any) -> Any: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self, *args: Any, **kwargs: Any) -> Any: ...

class StateSaveExtensionMethods(typing.Any):
    @staticmethod
    def Initialize(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def GetValueRecursive(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def GetVariableRecursive(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def GetVariableListRecursive(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def SetValue(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def Clone(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def Clone(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def ConvertEnumerationValuesToInts(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def FixEnumerations(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def Merge(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def MergeIntoThis(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def AddIntoThis(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def SubtractFromThis(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def RemoveValue(*args: Any, **kwargs: Any) -> Any: ...
    def GetType(self, *args: Any, **kwargs: Any) -> Any: ...
    def ToString(self, *args: Any, **kwargs: Any) -> Any: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self, *args: Any, **kwargs: Any) -> Any: ...

class StateSaveCategoryExtensions(typing.Any):
    @staticmethod
    def SetValues(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def RemoveValues(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def ResetAllStates(*args: Any, **kwargs: Any) -> Any: ...
    def GetType(self, *args: Any, **kwargs: Any) -> Any: ...
    def ToString(self, *args: Any, **kwargs: Any) -> Any: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self, *args: Any, **kwargs: Any) -> Any: ...

class <>c(typing.Any):
    def GetType(self, *args: Any, **kwargs: Any) -> Any: ...
    def ToString(self, *args: Any, **kwargs: Any) -> Any: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self, *args: Any, **kwargs: Any) -> Any: ...

class <>c__DisplayClass10_0(typing.Any):
    def GetType(self, *args: Any, **kwargs: Any) -> Any: ...
    def ToString(self, *args: Any, **kwargs: Any) -> Any: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self, *args: Any, **kwargs: Any) -> Any: ...

class <>c__DisplayClass1_0(typing.Any):
    def GetType(self, *args: Any, **kwargs: Any) -> Any: ...
    def ToString(self, *args: Any, **kwargs: Any) -> Any: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self, *args: Any, **kwargs: Any) -> Any: ...

class <>c__DisplayClass1_1(typing.Any):
    def GetType(self, *args: Any, **kwargs: Any) -> Any: ...
    def ToString(self, *args: Any, **kwargs: Any) -> Any: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self, *args: Any, **kwargs: Any) -> Any: ...

class <>c__DisplayClass1_2(typing.Any):
    def GetType(self, *args: Any, **kwargs: Any) -> Any: ...
    def ToString(self, *args: Any, **kwargs: Any) -> Any: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self, *args: Any, **kwargs: Any) -> Any: ...

class <>c__DisplayClass1_3(typing.Any):
    def GetType(self, *args: Any, **kwargs: Any) -> Any: ...
    def ToString(self, *args: Any, **kwargs: Any) -> Any: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self, *args: Any, **kwargs: Any) -> Any: ...

class <>c__DisplayClass4_0(typing.Any):
    def GetType(self, *args: Any, **kwargs: Any) -> Any: ...
    def ToString(self, *args: Any, **kwargs: Any) -> Any: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self, *args: Any, **kwargs: Any) -> Any: ...

class <>c__DisplayClass5_0(typing.Any):
    def GetType(self, *args: Any, **kwargs: Any) -> Any: ...
    def ToString(self, *args: Any, **kwargs: Any) -> Any: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self, *args: Any, **kwargs: Any) -> Any: ...

class <>c__DisplayClass5_1(typing.Any):
    def GetType(self, *args: Any, **kwargs: Any) -> Any: ...
    def ToString(self, *args: Any, **kwargs: Any) -> Any: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self, *args: Any, **kwargs: Any) -> Any: ...
