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


class ComponentSave(typing.Any):
    @property
    def DefaultChildContainer(self) -> Any: ...
    @DefaultChildContainer.setter
    def DefaultChildContainer(self, value: Any) -> None: ...
    @property
    def FileExtension(self) -> Any: ...
    @property
    def Subfolder(self) -> Any: ...
    @property
    def Name(self) -> Any: ...
    @Name.setter
    def Name(self, value: Any) -> None: ...
    @property
    def StrippedName(self) -> Any: ...
    @property
    def BaseType(self) -> Any: ...
    @BaseType.setter
    def BaseType(self, value: Any) -> None: ...
    @property
    def FileName(self) -> Any: ...
    @FileName.setter
    def FileName(self, value: Any) -> None: ...
    @property
    def States(self) -> Any: ...
    @States.setter
    def States(self, value: Any) -> None: ...
    @property
    def Categories(self) -> Any: ...
    @Categories.setter
    def Categories(self, value: Any) -> None: ...
    @property
    def Instances(self) -> Any: ...
    @Instances.setter
    def Instances(self, value: Any) -> None: ...
    @property
    def Events(self) -> Any: ...
    @Events.setter
    def Events(self, value: Any) -> None: ...
    @property
    def DefaultState(self) -> Any: ...
    @property
    def IsSourceFileMissing(self) -> Any: ...
    @IsSourceFileMissing.setter
    def IsSourceFileMissing(self, value: Any) -> None: ...
    @property
    def AllStates(self) -> Any: ...
    @property
    def Behaviors(self) -> Any: ...
    @Behaviors.setter
    def Behaviors(self, value: Any) -> None: ...
    def Clone(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetInstance(self, *args: Any, **kwargs: Any) -> Any: ...
    def Save(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 CustomPropertySave(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 CustomPropertySaveListExtensions(typing.Any):
    @staticmethod
    def ContainsValue(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def GetValue(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def GetValue(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def Remove(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def SetValue(*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 DimensionUnitType(IntEnum):
    Absolute = 0
    Percentage = 1
    PercentageOfParent = 1
    RelativeToContainer = 2
    RelativeToParent = 2
    PercentageOfSourceFile = 3
    RelativeToChildren = 4
    PercentageOfOtherDimension = 5
    MaintainFileAspectRatio = 6
    Ratio = 7
    AbsoluteMultipliedByFontScale = 8
    ScreenPixel = 9

class HierarchyDependencyType(IntEnum):
    NoDependency = 0
    DependsOnParent = 1
    DependsOnChildren = 2
    DependsOnSiblings = 3

class DimensionUnitTypeExtensions(typing.Any):
    @staticmethod
    def GetIsPixelBased(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def GetDependencyType(*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 ElementType(IntEnum):
    Screen = 0
    Component = 1
    Standard = 2

class LinkType(IntEnum):
    ReferenceOriginal = 0
    CopyLocally = 1

class ElementReference(typing.Any):
    @property
    def ElementType(self) -> Any: ...
    @ElementType.setter
    def ElementType(self, value: Any) -> None: ...
    @property
    def LinkType(self) -> Any: ...
    @LinkType.setter
    def LinkType(self, value: Any) -> None: ...
    @property
    def Extension(self) -> Any: ...
    @property
    def Subfolder(self) -> Any: ...
    @property
    def Link(self) -> Any: ...
    @Link.setter
    def Link(self, value: Any) -> None: ...
    def ToElementSave(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 ElementSave(typing.Any):
    @property
    def Name(self) -> Any: ...
    @Name.setter
    def Name(self, value: Any) -> None: ...
    @property
    def StrippedName(self) -> Any: ...
    @property
    def BaseType(self) -> Any: ...
    @BaseType.setter
    def BaseType(self, value: Any) -> None: ...
    @property
    def FileName(self) -> Any: ...
    @FileName.setter
    def FileName(self, value: Any) -> None: ...
    @property
    def States(self) -> Any: ...
    @States.setter
    def States(self, value: Any) -> None: ...
    @property
    def Categories(self) -> Any: ...
    @Categories.setter
    def Categories(self, value: Any) -> None: ...
    @property
    def Instances(self) -> Any: ...
    @Instances.setter
    def Instances(self, value: Any) -> None: ...
    @property
    def Events(self) -> Any: ...
    @Events.setter
    def Events(self, value: Any) -> None: ...
    @property
    def Subfolder(self) -> Any: ...
    @property
    def FileExtension(self) -> Any: ...
    @property
    def DefaultState(self) -> Any: ...
    @property
    def IsSourceFileMissing(self) -> Any: ...
    @IsSourceFileMissing.setter
    def IsSourceFileMissing(self, value: Any) -> None: ...
    @property
    def AllStates(self) -> Any: ...
    @property
    def Behaviors(self) -> Any: ...
    @Behaviors.setter
    def Behaviors(self, value: Any) -> None: ...
    def GetInstance(self, *args: Any, **kwargs: Any) -> Any: ...
    def Save(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 EventSave(typing.Any):
    @property
    def Name(self) -> Any: ...
    @Name.setter
    def Name(self, value: Any) -> None: ...
    @property
    def Enabled(self) -> Any: ...
    @Enabled.setter
    def Enabled(self, value: Any) -> None: ...
    @property
    def ExposedAsName(self) -> Any: ...
    @ExposedAsName.setter
    def ExposedAsName(self, value: Any) -> None: ...
    def GetExposedOrRootName(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetRootName(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetSourceObject(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 GuideRectangle(typing.Any):
    @property
    def X(self) -> Any: ...
    @X.setter
    def X(self, value: Any) -> None: ...
    @property
    def Y(self) -> Any: ...
    @Y.setter
    def Y(self, value: Any) -> None: ...
    @property
    def Width(self) -> Any: ...
    @Width.setter
    def Width(self, value: Any) -> None: ...
    @property
    def Height(self) -> Any: ...
    @Height.setter
    def Height(self, value: Any) -> None: ...
    @property
    def Name(self) -> Any: ...
    @Name.setter
    def Name(self, value: Any) -> None: ...
    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 LinkLoadingPreference(IntEnum):
    PreferLinked = 0
    RequireLinked = 1

class GumLoadResult(typing.Any):
    @property
    def ErrorMessage(self) -> Any: ...
    @ErrorMessage.setter
    def ErrorMessage(self, value: Any) -> None: ...
    @property
    def MissingFiles(self) -> Any: ...
    @MissingFiles.setter
    def MissingFiles(self, value: Any) -> None: ...
    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 GumProjectSave(typing.Any):
    @property
    def FontRanges(self) -> Any: ...
    @FontRanges.setter
    def FontRanges(self, value: Any) -> None: ...
    @property
    def FontSpacingVertical(self) -> Any: ...
    @FontSpacingVertical.setter
    def FontSpacingVertical(self, value: Any) -> None: ...
    @property
    def FontSpacingHorizontal(self) -> Any: ...
    @FontSpacingHorizontal.setter
    def FontSpacingHorizontal(self, value: Any) -> None: ...
    @property
    def Version(self) -> Any: ...
    @Version.setter
    def Version(self, value: Any) -> None: ...
    @property
    def DefaultCanvasWidth(self) -> Any: ...
    @DefaultCanvasWidth.setter
    def DefaultCanvasWidth(self, value: Any) -> None: ...
    @property
    def DefaultCanvasHeight(self) -> Any: ...
    @DefaultCanvasHeight.setter
    def DefaultCanvasHeight(self, value: Any) -> None: ...
    @property
    def ShowOutlines(self) -> Any: ...
    @ShowOutlines.setter
    def ShowOutlines(self, value: Any) -> None: ...
    @property
    def ShowCanvasOutline(self) -> Any: ...
    @ShowCanvasOutline.setter
    def ShowCanvasOutline(self, value: Any) -> None: ...
    @property
    def ShowRuler(self) -> Any: ...
    @ShowRuler.setter
    def ShowRuler(self, value: Any) -> None: ...
    @property
    def ShowCheckerBackground(self) -> Any: ...
    @ShowCheckerBackground.setter
    def ShowCheckerBackground(self, value: Any) -> None: ...
    @property
    def TextureFilter(self) -> Any: ...
    @TextureFilter.setter
    def TextureFilter(self, value: Any) -> None: ...
    @property
    def ConvertVariablesOnUnitTypeChange(self) -> Any: ...
    @ConvertVariablesOnUnitTypeChange.setter
    def ConvertVariablesOnUnitTypeChange(self, value: Any) -> None: ...
    @property
    def RestrictToUnitValues(self) -> Any: ...
    @RestrictToUnitValues.setter
    def RestrictToUnitValues(self, value: Any) -> None: ...
    @property
    def RestrictFileNamesForAndroid(self) -> Any: ...
    @RestrictFileNamesForAndroid.setter
    def RestrictFileNamesForAndroid(self, value: Any) -> None: ...
    @property
    def Guides(self) -> Any: ...
    @Guides.setter
    def Guides(self, value: Any) -> None: ...
    @property
    def ParentProjectRoot(self) -> Any: ...
    @ParentProjectRoot.setter
    def ParentProjectRoot(self, value: Any) -> None: ...
    @property
    def LocalizationFile(self) -> Any: ...
    @LocalizationFile.setter
    def LocalizationFile(self, value: Any) -> None: ...
    @property
    def ShowLocalizationInGum(self) -> Any: ...
    @ShowLocalizationInGum.setter
    def ShowLocalizationInGum(self, value: Any) -> None: ...
    @property
    def CurrentLanguageIndex(self) -> Any: ...
    @CurrentLanguageIndex.setter
    def CurrentLanguageIndex(self, value: Any) -> None: ...
    @property
    def FullFileName(self) -> Any: ...
    @FullFileName.setter
    def FullFileName(self, value: Any) -> None: ...
    @property
    def Screens(self) -> Any: ...
    @Screens.setter
    def Screens(self, value: Any) -> None: ...
    @property
    def Components(self) -> Any: ...
    @Components.setter
    def Components(self, value: Any) -> None: ...
    @property
    def StandardElements(self) -> Any: ...
    @StandardElements.setter
    def StandardElements(self, value: Any) -> None: ...
    @property
    def Behaviors(self) -> Any: ...
    @Behaviors.setter
    def Behaviors(self, value: Any) -> None: ...
    @property
    def ElementAnimations(self) -> Any: ...
    @ElementAnimations.setter
    def ElementAnimations(self, value: Any) -> None: ...
    @property
    def AllElements(self) -> Any: ...
    @property
    def ScreenReferences(self) -> Any: ...
    @ScreenReferences.setter
    def ScreenReferences(self, value: Any) -> None: ...
    @property
    def ComponentReferences(self) -> Any: ...
    @ComponentReferences.setter
    def ComponentReferences(self, value: Any) -> None: ...
    @property
    def StandardElementReferences(self) -> Any: ...
    @StandardElementReferences.setter
    def StandardElementReferences(self, value: Any) -> None: ...
    @property
    def BehaviorReferences(self) -> Any: ...
    @BehaviorReferences.setter
    def BehaviorReferences(self, value: Any) -> None: ...
    @property
    def SinglePixelTextureFile(self) -> Any: ...
    @SinglePixelTextureFile.setter
    def SinglePixelTextureFile(self, value: Any) -> None: ...
    @property
    def SinglePixelTextureTop(self) -> Any: ...
    @SinglePixelTextureTop.setter
    def SinglePixelTextureTop(self, value: Any) -> None: ...
    @property
    def SinglePixelTextureLeft(self) -> Any: ...
    @SinglePixelTextureLeft.setter
    def SinglePixelTextureLeft(self, value: Any) -> None: ...
    @property
    def SinglePixelTextureRight(self) -> Any: ...
    @SinglePixelTextureRight.setter
    def SinglePixelTextureRight(self, value: Any) -> None: ...
    @property
    def SinglePixelTextureBottom(self) -> Any: ...
    @SinglePixelTextureBottom.setter
    def SinglePixelTextureBottom(self, value: Any) -> None: ...
    @staticmethod
    def Load(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def Load(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def Load(*args: Any, **kwargs: Any) -> Any: ...
    def GetScreenSave(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetComponentSave(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetStandardElementSave(self, *args: Any, **kwargs: Any) -> Any: ...
    def ReloadBehavior(self, *args: Any, **kwargs: Any) -> Any: ...
    def ReloadElement(self, *args: Any, **kwargs: Any) -> Any: ...
    def Save(self, *args: Any, **kwargs: Any) -> Any: ...
    def SaveStandardElements(self, *args: Any, **kwargs: Any) -> Any: ...
    def ReactToRenamed(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 IInstanceContainer(typing.Any):
    @property
    def Name(self) -> Any: ...
    @property
    def Instances(self) -> Any: ...

class InstanceSave(typing.Any):
    @property
    def Locked(self) -> Any: ...
    @Locked.setter
    def Locked(self, value: Any) -> None: ...
    @property
    def ParentContainer(self) -> Any: ...
    @ParentContainer.setter
    def ParentContainer(self, value: Any) -> None: ...
    def ShouldSerializeLocked(self, *args: Any, **kwargs: Any) -> Any: ...
    def Clone(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 IStateContainer(typing.Any):
    @property
    def UncategorizedStates(self) -> Any: ...
    @property
    def AllStates(self) -> Any: ...
    @property
    def Categories(self) -> Any: ...

class NamedRectangle(typing.Any):
    @property
    def X(self) -> Any: ...
    @X.setter
    def X(self, value: Any) -> None: ...
    @property
    def Y(self) -> Any: ...
    @Y.setter
    def Y(self, value: Any) -> None: ...
    @property
    def Width(self) -> Any: ...
    @Width.setter
    def Width(self, value: Any) -> None: ...
    @property
    def Height(self) -> Any: ...
    @Height.setter
    def Height(self, value: Any) -> None: ...
    @property
    def Name(self) -> Any: ...
    @Name.setter
    def Name(self, value: Any) -> None: ...
    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 ScreenSave(typing.Any):
    @property
    def FileExtension(self) -> Any: ...
    @property
    def Subfolder(self) -> Any: ...
    @property
    def Name(self) -> Any: ...
    @Name.setter
    def Name(self, value: Any) -> None: ...
    @property
    def StrippedName(self) -> Any: ...
    @property
    def BaseType(self) -> Any: ...
    @BaseType.setter
    def BaseType(self, value: Any) -> None: ...
    @property
    def FileName(self) -> Any: ...
    @FileName.setter
    def FileName(self, value: Any) -> None: ...
    @property
    def States(self) -> Any: ...
    @States.setter
    def States(self, value: Any) -> None: ...
    @property
    def Categories(self) -> Any: ...
    @Categories.setter
    def Categories(self, value: Any) -> None: ...
    @property
    def Instances(self) -> Any: ...
    @Instances.setter
    def Instances(self, value: Any) -> None: ...
    @property
    def Events(self) -> Any: ...
    @Events.setter
    def Events(self, value: Any) -> None: ...
    @property
    def DefaultState(self) -> Any: ...
    @property
    def IsSourceFileMissing(self) -> Any: ...
    @IsSourceFileMissing.setter
    def IsSourceFileMissing(self, value: Any) -> None: ...
    @property
    def AllStates(self) -> Any: ...
    @property
    def Behaviors(self) -> Any: ...
    @Behaviors.setter
    def Behaviors(self, value: Any) -> None: ...
    def Clone(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetInstance(self, *args: Any, **kwargs: Any) -> Any: ...
    def Save(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 StandardElementTypes(IntEnum):
    Text = 0
    Sprite = 1
    Container = 2
    NineSlice = 3
    ColoredRectangle = 4
    Polygon = 5
    Circle = 6
    Rectangle = 7

class StandardElementSave(typing.Any):
    @property
    def FileExtension(self) -> Any: ...
    @property
    def Subfolder(self) -> Any: ...
    @property
    def Name(self) -> Any: ...
    @Name.setter
    def Name(self, value: Any) -> None: ...
    @property
    def StrippedName(self) -> Any: ...
    @property
    def BaseType(self) -> Any: ...
    @BaseType.setter
    def BaseType(self, value: Any) -> None: ...
    @property
    def FileName(self) -> Any: ...
    @FileName.setter
    def FileName(self, value: Any) -> None: ...
    @property
    def States(self) -> Any: ...
    @States.setter
    def States(self, value: Any) -> None: ...
    @property
    def Categories(self) -> Any: ...
    @Categories.setter
    def Categories(self, value: Any) -> None: ...
    @property
    def Instances(self) -> Any: ...
    @Instances.setter
    def Instances(self, value: Any) -> None: ...
    @property
    def Events(self) -> Any: ...
    @Events.setter
    def Events(self, value: Any) -> None: ...
    @property
    def DefaultState(self) -> Any: ...
    @property
    def IsSourceFileMissing(self) -> Any: ...
    @IsSourceFileMissing.setter
    def IsSourceFileMissing(self, value: Any) -> None: ...
    @property
    def AllStates(self) -> Any: ...
    @property
    def Behaviors(self) -> Any: ...
    @Behaviors.setter
    def Behaviors(self, value: Any) -> None: ...
    def GetInstance(self, *args: Any, **kwargs: Any) -> Any: ...
    def Save(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 BehaviorSaveExtensionMethods(typing.Any):
    @staticmethod
    def Initialize(*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 ComponentSaveExtensionMethods(typing.Any):
    @staticmethod
    def IsOfType(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def InitializeDefaultAndComponentVariables(*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 VariableSaveSorter(typing.Any):
    @property
    def ListOrderToMatch(self) -> Any: ...
    @ListOrderToMatch.setter
    def ListOrderToMatch(self, value: Any) -> None: ...
    def Compare(self, *args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def IndexOfByName(*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 ElementSaveExtensionMethods(typing.Any):
    @staticmethod
    def Initialize(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def ContainsName(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def IsOfType(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def GetStateSaveRecursively(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def GetStateSaveCategoryRecursively(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def GetStateSaveCategoryRecursively(*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 InstanceStatePair(typing.Any):
    @property
    def InstanceSave(self) -> Any: ...
    @InstanceSave.setter
    def InstanceSave(self, value: Any) -> None: ...
    @property
    def VariableName(self) -> Any: ...
    @VariableName.setter
    def VariableName(self, value: Any) -> None: ...
    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 InstanceSaveExtensionMethods(typing.Any):
    @staticmethod
    def IsParentASibling(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def Initialize(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def IsComponent(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def GetVariableFromThisOrBase(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def GetVariableFromThisOrBase(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def GetVariableListFromThisOrBase(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def GetValueFromThisOrBase(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def IsOfType(*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 GumProjectSaveExtensionMethods(typing.Any):
    @staticmethod
    def Initialize(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def SortElementAndBehaviors(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def AddNewStandardElementTypes(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def RemoveDuplicateVariables(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def FixStandardVariables(*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 PluginSettingsSave(typing.Any):
    @property
    def DisabledPlugins(self) -> Any: ...
    @DisabledPlugins.setter
    def DisabledPlugins(self, value: Any) -> None: ...
    @staticmethod
    def Load(*args: Any, **kwargs: Any) -> Any: ...
    def Save(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 RecursiveVariableFinder(typing.Any):
    @property
    def InstanceSave(self) -> Any: ...
    @property
    def ElementStack(self) -> Any: ...
    @ElementStack.setter
    def ElementStack(self, value: Any) -> None: ...
    @property
    def ContainerType(self) -> Any: ...
    @ContainerType.setter
    def ContainerType(self, value: Any) -> None: ...
    def GetValue(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetValue(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetVariable(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetVariableList(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetExposedVariablesForThisInstance(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetValueByBottomName(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 VariableSaveExtensionMethods(typing.Any):
    @staticmethod
    def GetPrimitiveType(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def IsState(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def IsState(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def IsEnumeration(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def ConvertEnumerationValuesToInts(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def FixEnumerations(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def GetIsFileFromRoot(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def GetIsFileFromRoot(*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 VariableSaveListExtensionMethods(typing.Any):
    @staticmethod
    def GetVariableSave(*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 VariableListSaveExtensionMethods(typing.Any):
    @staticmethod
    def GetTypeConverter(*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 <get_AllStates>d__47(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 GumxVersions(IntEnum):
    InitialVersion = 1

class <>c__DisplayClass148_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__DisplayClass149_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__DisplayClass150_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__DisplayClass152_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__DisplayClass153_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 <get_AllElements>d__107(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(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(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__DisplayClass2_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__DisplayClass2_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__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__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__DisplayClass8_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(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 VariableContainerType(IntEnum):
    InstanceSave = 0
    StateSave = 1

class <>c__DisplayClass21_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__DisplayClass22_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__DisplayClass7_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__DisplayClass8_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__DisplayClass8_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: ...
