---@meta

---@class FConvertBoolArrayTypesDataflowNode : FDataflowNode
---@field In FDataflowBoolArrayTypes
---@field Out FDataflowBoolArrayTypes
local FConvertBoolArrayTypesDataflowNode = {}



---@class FConvertBoolTypesDataflowNode : FDataflowNode
---@field In FDataflowBoolTypes
---@field Out FDataflowBoolTypes
local FConvertBoolTypesDataflowNode = {}



---@class FConvertNumericArrayTypesDataflowNode : FDataflowNode
---@field In FDataflowNumericArrayTypes
---@field Out FDataflowNumericArrayTypes
local FConvertNumericArrayTypesDataflowNode = {}



---@class FConvertNumericTypesDataflowNode : FDataflowNode
---@field In FDataflowNumericTypes
---@field Out FDataflowNumericTypes
local FConvertNumericTypesDataflowNode = {}



---@class FConvertRotationDataflowNode : FDataflowNode
---@field In FDataflowRotationTypes
---@field Out FDataflowRotationTypes
local FConvertRotationDataflowNode = {}



---@class FConvertSelectionTypesDataflowNode : FDataflowNode
---@field Collection FManagedArrayCollection
---@field In FDataflowSelectionTypes
---@field bAllElementsMustBeSelected boolean
---@field Out FDataflowSelectionTypes
local FConvertSelectionTypesDataflowNode = {}



---@class FConvertStringArrayTypesDataflowNode : FDataflowNode
---@field In FDataflowStringArrayTypes
---@field Out FDataflowStringArrayTypes
local FConvertStringArrayTypesDataflowNode = {}



---@class FConvertStringConvertibleTypesDataflowNode : FDataflowNode
---@field In FDataflowStringConvertibleTypes
---@field Out FDataflowStringConvertibleTypes
local FConvertStringConvertibleTypesDataflowNode = {}



---@class FConvertStringTypesDataflowNode : FDataflowNode
---@field In FDataflowStringTypes
---@field Out FDataflowStringTypes
local FConvertStringTypesDataflowNode = {}



---@class FConvertTransformArrayTypesDataflowNode : FDataflowNode
---@field In FDataflowTransformArrayTypes
---@field Out FDataflowTransformArrayTypes
local FConvertTransformArrayTypesDataflowNode = {}



---@class FConvertTransformTypesDataflowNode : FDataflowNode
---@field In FDataflowTransformTypes
---@field Out FDataflowTransformTypes
local FConvertTransformTypesDataflowNode = {}



---@class FConvertUObjectConvertibleTypesDataflowNode : FDataflowNode
---@field In FDataflowUObjectConvertibleTypes
---@field Out FDataflowUObjectConvertibleTypes
local FConvertUObjectConvertibleTypesDataflowNode = {}



---@class FConvertVectorArrayTypesDataflowNode : FDataflowNode
---@field In FDataflowVectorArrayTypes
---@field Out FDataflowVectorArrayTypes
local FConvertVectorArrayTypesDataflowNode = {}



---@class FConvertVectorTypesDataflowNode : FDataflowNode
---@field In FDataflowVectorTypes
---@field Out FDataflowVectorTypes
local FConvertVectorTypesDataflowNode = {}



---@class FDataflowAllTypes : FDataflowAnyType
local FDataflowAllTypes = {}


---@class FDataflowAnyType
local FDataflowAnyType = {}


---@class FDataflowArrayInput : FDataflowInput
local FDataflowArrayInput = {}


---@class FDataflowArrayOutput : FDataflowOutput
local FDataflowArrayOutput = {}


---@class FDataflowArrayTypes : FDataflowAnyType
local FDataflowArrayTypes = {}


---@class FDataflowBaseElement
local FDataflowBaseElement = {}


---@class FDataflowBoolArrayTypes : FDataflowAnyType
---@field Value TArray<boolean>
local FDataflowBoolArrayTypes = {}



---@class FDataflowBoolTypes : FDataflowAnyType
---@field Value boolean
local FDataflowBoolTypes = {}



---@class FDataflowBranchNode : FDataflowNode
---@field TrueValue FDataflowAnyType
---@field FalseValue FDataflowAnyType
---@field bCondition boolean
---@field Result FDataflowAnyType
local FDataflowBranchNode = {}



---@class FDataflowConnection
local FDataflowConnection = {}


---@class FDataflowFaceSelection : FDataflowSelection
local FDataflowFaceSelection = {}


---@class FDataflowForceDependencyNode : FDataflowNode
---@field Value FDataflowAnyType
---@field DependentValue FDataflowAnyType
local FDataflowForceDependencyNode = {}



---@class FDataflowFreezeActions
local FDataflowFreezeActions = {}


---@class FDataflowGeometrySelection : FDataflowSelection
local FDataflowGeometrySelection = {}


---@class FDataflowImage
local FDataflowImage = {}


---@class FDataflowImageCombineChannelsNode : FDataflowNode
---@field Red FDataflowImage
---@field Green FDataflowImage
---@field Blue FDataflowImage
---@field Alpha FDataflowImage
---@field Image FDataflowImage
---@field ResolutionOptions EDataflowImageCombineResolutionOption
---@field Resolution EDataflowImageResolution
local FDataflowImageCombineChannelsNode = {}



---@class FDataflowImageFromColorNode : FDataflowNode
---@field FillColor FLinearColor
---@field Resolution EDataflowImageResolution
---@field Image FDataflowImage
local FDataflowImageFromColorNode = {}



---@class FDataflowImageSplitChannelsNode : FDataflowNode
---@field Image FDataflowImage
---@field Red FDataflowImage
---@field Green FDataflowImage
---@field Blue FDataflowImage
---@field Alpha FDataflowImage
local FDataflowImageSplitChannelsNode = {}



---@class FDataflowInput : FDataflowConnection
local FDataflowInput = {}


---@class FDataflowMaterialSelection : FDataflowSelection
local FDataflowMaterialSelection = {}


---@class FDataflowMathAbsNode : FDataflowMathOneInputOperatorNode
local FDataflowMathAbsNode = {}


---@class FDataflowMathAddNode : FDataflowMathTwoInputsOperatorNode
local FDataflowMathAddNode = {}


---@class FDataflowMathArcCosNode : FDataflowMathOneInputOperatorNode
local FDataflowMathArcCosNode = {}


---@class FDataflowMathArcSinNode : FDataflowMathOneInputOperatorNode
local FDataflowMathArcSinNode = {}


---@class FDataflowMathArcTan2Node : FDataflowMathTwoInputsOperatorNode
local FDataflowMathArcTan2Node = {}


---@class FDataflowMathArcTanNode : FDataflowMathOneInputOperatorNode
local FDataflowMathArcTanNode = {}


---@class FDataflowMathCeilNode : FDataflowMathOneInputOperatorNode
local FDataflowMathCeilNode = {}


---@class FDataflowMathClampNode : FDataflowMathOneInputOperatorNode
---@field Min FDataflowNumericTypes
---@field Max FDataflowNumericTypes
local FDataflowMathClampNode = {}



---@class FDataflowMathConstantNode : FDataflowNode
---@field Constant EDataflowMathConstantsEnum
---@field Result FDataflowNumericTypes
local FDataflowMathConstantNode = {}



---@class FDataflowMathCosNode : FDataflowMathOneInputOperatorNode
local FDataflowMathCosNode = {}


---@class FDataflowMathCubeNode : FDataflowMathOneInputOperatorNode
local FDataflowMathCubeNode = {}


---@class FDataflowMathDegToRadNode : FDataflowMathOneInputOperatorNode
local FDataflowMathDegToRadNode = {}


---@class FDataflowMathDivideNode : FDataflowMathTwoInputsOperatorNode
---@field Fallback FDataflowNumericTypes
local FDataflowMathDivideNode = {}



---@class FDataflowMathExpNode : FDataflowMathOneInputOperatorNode
local FDataflowMathExpNode = {}


---@class FDataflowMathFloorNode : FDataflowMathOneInputOperatorNode
local FDataflowMathFloorNode = {}


---@class FDataflowMathFracNode : FDataflowMathOneInputOperatorNode
local FDataflowMathFracNode = {}


---@class FDataflowMathInverseSquareRootNode : FDataflowMathOneInputOperatorNode
---@field Fallback FDataflowNumericTypes
local FDataflowMathInverseSquareRootNode = {}



---@class FDataflowMathLogNode : FDataflowMathOneInputOperatorNode
local FDataflowMathLogNode = {}


---@class FDataflowMathLogXNode : FDataflowMathOneInputOperatorNode
---@field base FDataflowNumericTypes
local FDataflowMathLogXNode = {}



---@class FDataflowMathMaximumNode : FDataflowMathTwoInputsOperatorNode
local FDataflowMathMaximumNode = {}


---@class FDataflowMathMaximumNode_v2 : FDataflowNode
---@field Inputs TArray<FDataflowNumericTypes>
---@field Result FDataflowNumericTypes
local FDataflowMathMaximumNode_v2 = {}



---@class FDataflowMathMinimumNode : FDataflowMathTwoInputsOperatorNode
local FDataflowMathMinimumNode = {}


---@class FDataflowMathMinimumNode_v2 : FDataflowNode
---@field Inputs TArray<FDataflowNumericTypes>
---@field Result FDataflowNumericTypes
local FDataflowMathMinimumNode_v2 = {}



---@class FDataflowMathMultiplyNode : FDataflowMathTwoInputsOperatorNode
local FDataflowMathMultiplyNode = {}


---@class FDataflowMathNegateNode : FDataflowMathOneInputOperatorNode
local FDataflowMathNegateNode = {}


---@class FDataflowMathOneInputOperatorNode : FDataflowNode
---@field A FDataflowNumericTypes
---@field Result FDataflowNumericTypes
local FDataflowMathOneInputOperatorNode = {}



---@class FDataflowMathOneMinusNode : FDataflowMathOneInputOperatorNode
local FDataflowMathOneMinusNode = {}


---@class FDataflowMathPowNode : FDataflowMathTwoInputsOperatorNode
local FDataflowMathPowNode = {}


---@class FDataflowMathRadToDegNode : FDataflowMathOneInputOperatorNode
local FDataflowMathRadToDegNode = {}


---@class FDataflowMathReciprocalNode : FDataflowMathOneInputOperatorNode
---@field Fallback FDataflowNumericTypes
local FDataflowMathReciprocalNode = {}



---@class FDataflowMathRoundNode : FDataflowMathOneInputOperatorNode
local FDataflowMathRoundNode = {}


---@class FDataflowMathSignNode : FDataflowMathOneInputOperatorNode
local FDataflowMathSignNode = {}


---@class FDataflowMathSinNode : FDataflowMathOneInputOperatorNode
local FDataflowMathSinNode = {}


---@class FDataflowMathSquareNode : FDataflowMathOneInputOperatorNode
local FDataflowMathSquareNode = {}


---@class FDataflowMathSquareRootNode : FDataflowMathOneInputOperatorNode
local FDataflowMathSquareRootNode = {}


---@class FDataflowMathSubtractNode : FDataflowMathTwoInputsOperatorNode
local FDataflowMathSubtractNode = {}


---@class FDataflowMathTanNode : FDataflowMathOneInputOperatorNode
local FDataflowMathTanNode = {}


---@class FDataflowMathTruncNode : FDataflowMathOneInputOperatorNode
local FDataflowMathTruncNode = {}


---@class FDataflowMathTwoInputsOperatorNode : FDataflowNode
---@field A FDataflowNumericTypes
---@field B FDataflowNumericTypes
---@field Result FDataflowNumericTypes
local FDataflowMathTwoInputsOperatorNode = {}



---@class FDataflowNode
---@field bActive boolean
---@field bOverrideColor boolean
---@field OverrideColor FLinearColor
---@field FrozenProperties FInstancedPropertyBag
---@field bIsFrozen boolean
local FDataflowNode = {}



---@class FDataflowNumericArrayTypes : FDataflowAnyType
---@field Value TArray<double>
local FDataflowNumericArrayTypes = {}



---@class FDataflowNumericTypes : FDataflowAnyType
---@field Value double
local FDataflowNumericTypes = {}



---@class FDataflowOutput : FDataflowConnection
local FDataflowOutput = {}


---@class FDataflowOverrideNode : FDataflowNode
---@field Key FName
---@field Default FString
---@field IsOverriden boolean
local FDataflowOverrideNode = {}



---@class FDataflowPath
local FDataflowPath = {}


---@class FDataflowPrintNode : FDataflowNode
---@field Value FDataflowStringConvertibleTypes
local FDataflowPrintNode = {}



---@class FDataflowReRouteNode : FDataflowNode
---@field Value FDataflowAnyType
local FDataflowReRouteNode = {}



---@class FDataflowRotationTypes : FDataflowAnyType
---@field Value FRotator
local FDataflowRotationTypes = {}



---@class FDataflowSelectNode : FDataflowNode
---@field Inputs TArray<FDataflowAnyType>
---@field SelectedIndex int32
---@field Result FDataflowAnyType
local FDataflowSelectNode = {}



---@class FDataflowSelection
local FDataflowSelection = {}


---@class FDataflowSelectionTypes : FDataflowAnyType
---@field Value FDataflowSelection
local FDataflowSelectionTypes = {}



---@class FDataflowStringArrayTypes : FDataflowAnyType
---@field Value TArray<FString>
local FDataflowStringArrayTypes = {}



---@class FDataflowStringConvertibleTypes : FDataflowAnyType
---@field Value FString
local FDataflowStringConvertibleTypes = {}



---@class FDataflowStringTypes : FDataflowAnyType
---@field Value FString
local FDataflowStringTypes = {}



---@class FDataflowTerminalNode : FDataflowNode
local FDataflowTerminalNode = {}


---@class FDataflowTransformArrayTypes : FDataflowAnyType
---@field Value TArray<FTransform>
local FDataflowTransformArrayTypes = {}



---@class FDataflowTransformSelection : FDataflowSelection
local FDataflowTransformSelection = {}


---@class FDataflowTransformTypes : FDataflowAnyType
---@field Value FTransform
local FDataflowTransformTypes = {}



---@class FDataflowUObjectConvertibleTypes : FDataflowAnyType
---@field Value UObject
local FDataflowUObjectConvertibleTypes = {}



---@class FDataflowVectorAddNode : FDataflowNode
---@field A FDataflowVectorTypes
---@field B FDataflowVectorTypes
---@field V FDataflowVectorTypes
local FDataflowVectorAddNode = {}



---@class FDataflowVectorArrayTypes : FDataflowAnyType
---@field Value TArray<FVector4>
local FDataflowVectorArrayTypes = {}



---@class FDataflowVectorBreakNode : FDataflowNode
---@field V FDataflowVectorTypes
---@field X FDataflowNumericTypes
---@field Y FDataflowNumericTypes
---@field Z FDataflowNumericTypes
---@field W FDataflowNumericTypes
local FDataflowVectorBreakNode = {}



---@class FDataflowVectorCrossProductNode : FDataflowNode
---@field A FDataflowVectorTypes
---@field B FDataflowVectorTypes
---@field CrossProduct FDataflowVectorTypes
local FDataflowVectorCrossProductNode = {}



---@class FDataflowVectorDistanceNode : FDataflowNode
---@field A FDataflowVectorTypes
---@field B FDataflowVectorTypes
---@field Distance FDataflowNumericTypes
local FDataflowVectorDistanceNode = {}



---@class FDataflowVectorDotProductNode : FDataflowNode
---@field A FDataflowVectorTypes
---@field B FDataflowVectorTypes
---@field DotProduct FDataflowNumericTypes
local FDataflowVectorDotProductNode = {}



---@class FDataflowVectorLengthNode : FDataflowNode
---@field V FDataflowVectorTypes
---@field Length FDataflowNumericTypes
local FDataflowVectorLengthNode = {}



---@class FDataflowVectorMakeVec2Node : FDataflowNode
---@field X FDataflowNumericTypes
---@field Y FDataflowNumericTypes
---@field Vector2D FDataflowVectorTypes
local FDataflowVectorMakeVec2Node = {}



---@class FDataflowVectorMakeVec3Node : FDataflowNode
---@field X FDataflowNumericTypes
---@field Y FDataflowNumericTypes
---@field Z FDataflowNumericTypes
---@field Vector3d FDataflowVectorTypes
local FDataflowVectorMakeVec3Node = {}



---@class FDataflowVectorMakeVec4Node : FDataflowNode
---@field X FDataflowNumericTypes
---@field Y FDataflowNumericTypes
---@field Z FDataflowNumericTypes
---@field W FDataflowNumericTypes
---@field Vector4d FDataflowVectorTypes
local FDataflowVectorMakeVec4Node = {}



---@class FDataflowVectorNormalize : FDataflowNode
---@field V FDataflowVectorTypes
---@field Normalized FDataflowVectorTypes
local FDataflowVectorNormalize = {}



---@class FDataflowVectorScaleNode : FDataflowNode
---@field V FDataflowVectorTypes
---@field Scale FDataflowNumericTypes
---@field Scaled FDataflowVectorTypes
local FDataflowVectorScaleNode = {}



---@class FDataflowVectorSquaredLengthNode : FDataflowNode
---@field V FDataflowVectorTypes
---@field SquaredLength FDataflowNumericTypes
local FDataflowVectorSquaredLengthNode = {}



---@class FDataflowVectorSubtractNode : FDataflowNode
---@field A FDataflowVectorTypes
---@field B FDataflowVectorTypes
---@field V FDataflowVectorTypes
local FDataflowVectorSubtractNode = {}



---@class FDataflowVectorTypes : FDataflowAnyType
---@field Value FVector4
local FDataflowVectorTypes = {}



---@class FDataflowVertexSelection : FDataflowSelection
local FDataflowVertexSelection = {}


---@class FNodeColors
---@field NodeTitleColor FLinearColor
---@field NodeBodyTintColor FLinearColor
local FNodeColors = {}



---@class FPinSettings
---@field PinColor FLinearColor
---@field WireThickness float
local FPinSettings = {}



---@class FTransformLevelColors
---@field LevelColors TArray<FLinearColor>
---@field BlankColor FLinearColor
local FTransformLevelColors = {}



---@class IDataflowGraphInterface : IInterface
local IDataflowGraphInterface = {}


---@class UDataflowSettings : UDeveloperSettings
---@field NodeColorsMap TMap<FName, FNodeColors>
---@field PinSettingsMap TMap<FName, FPinSettings>
---@field TransformLevelColors FTransformLevelColors
local UDataflowSettings = {}



