---@meta
---@class Barotrauma.LevelGenerationParams : Barotrauma.PrefabWithUintIdentifier
---`Field Private Instance`
---@field minWidth System.Int32
---`Field Private Instance`
---@field maxWidth System.Int32
---`Field Private Instance`
---@field height System.Int32
---`Field Private Instance`
---@field voronoiSiteInterval Microsoft.Xna.Framework.Point
---`Field Private Instance`
---@field voronoiSiteVariance Microsoft.Xna.Framework.Point
---`Field Private Instance`
---@field mainPathNodeIntervalRange Microsoft.Xna.Framework.Point
---`Field Private Instance`
---@field caveCount System.Int32
---`Field Private Instance`
---@field bottomHoleProbability System.Single
---`Field Private Instance`
---@field seaFloorBaseDepth System.Int32
---`Field Private Instance`
---@field seaFloorVariance System.Int32
---`Field Private Instance`
---@field cellSubdivisionLength System.Int32
---`Field Private Instance`
---@field cellRoundingAmount System.Single
---`Field Private Instance`
---@field cellIrregularity System.Single
---`Field Private Instance`
---@field mountainCountMin System.Int32
---`Field Private Instance`
---@field mountainCountMax System.Int32
---`Field Private Instance`
---@field mountainHeightMin System.Int32
---`Field Private Instance`
---@field mountainHeightMax System.Int32
---`Field Private Instance`
---@field waterParticleScale System.Single
---`Field Private Instance`
---@field initialDepthMin System.Int32
---`Field Private Instance`
---@field initialDepthMax System.Int32
---`Field Public Instance`
---@field AllowedBiomeIdentifiers (System.Collections.Immutable.ImmutableHashSet*1Barotrauma*Identifier)|(Barotrauma.Identifier[])
---`Field Public Instance`
---@field AnyBiomeAllowed System.Boolean
---`Field Private Instance`
---@field startPosition Microsoft.Xna.Framework.Vector2
---`Field Private Instance`
---@field endPosition Microsoft.Xna.Framework.Vector2
---`Field Private Instance`
---@field forceOutpostPosition Microsoft.Xna.Framework.Vector2
---`Field Private Instance`
---@field waterParticleVelocity Microsoft.Xna.Framework.Vector2
---`Field Public Static`
---@field LevelParams (Barotrauma.PrefabCollection*1Barotrauma*LevelGenerationParams)|(fun():(Barotrauma.LevelGenerationParams))
---`Getter Public Instance`
---<br/>`Setter Private Instance`
---@field DisplayName Barotrauma.LocalizedString
---`Getter Public Instance`
---<br/>`Setter Private Instance`
---@field Description Barotrauma.LocalizedString
---`Getter Public Instance Virtual`
---@field Name System.String
---`Getter Public Instance`
---@field OldIdentifier Barotrauma.Identifier
---`Getter Public Instance Virtual`
---<br/>`Setter Public Instance`
---@field SerializableProperties (System.Collections.Generic.Dictionary*1Barotrauma*Identifier*1Barotrauma*SerializableProperty)|({[Barotrauma.Identifier]:(Barotrauma.SerializableProperty)})
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field Type Barotrauma.LevelData.LevelType
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field IsPvPLevel System.Boolean
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field Commonness System.Single
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field TransitionFromPreviousBiome System.Boolean
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field MinLevelDifficulty System.Single
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field MaxLevelDifficulty System.Single
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field StartPosition Microsoft.Xna.Framework.Vector2
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field EndPosition Microsoft.Xna.Framework.Vector2
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field ForceOutpostPosition Microsoft.Xna.Framework.Vector2
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field CreateHoleNextToEnd System.Boolean
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field BottomHoleProbability System.Single
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field MinWidth System.Int32
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field MaxWidth System.Int32
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field Height System.Int32
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field InitialDepthMin System.Int32
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field InitialDepthMax System.Int32
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field NoLevelGeometry System.Boolean
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field VoronoiSiteInterval Microsoft.Xna.Framework.Point
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field VoronoiSiteVariance Microsoft.Xna.Framework.Point
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field CellSubdivisionLength System.Int32
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field CellRoundingAmount System.Single
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field CellIrregularity System.Single
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field MinTunnelRadius System.Int32
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field SideTunnelCount Microsoft.Xna.Framework.Point
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field SideTunnelVariance System.Single
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field MinSideTunnelRadius Microsoft.Xna.Framework.Point
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field MainPathNodeIntervalRange Microsoft.Xna.Framework.Point
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field MainPathVariance System.Single
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field LevelObjectAmount System.Int32
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field BackgroundCreatureAmount System.Int32
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field CaveCount System.Int32
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field ItemCount System.Int32
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field ResourceIntervalRange Microsoft.Xna.Framework.Point
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field CaveResourceIntervalRange Microsoft.Xna.Framework.Point
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field ResourceClusterSizeRange Microsoft.Xna.Framework.Point
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field ResourceSpawnChance System.Single
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field CaveResourceSpawnChance System.Single
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field FloatingIceChunkCount System.Int32
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field IslandCount System.Int32
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field IceSpireCount System.Int32
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field CreateHoleToAbyss System.Boolean
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field AbyssIslandCount System.Int32
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field AbyssIslandSizeMin Microsoft.Xna.Framework.Point
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field AbyssIslandSizeMax Microsoft.Xna.Framework.Point
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field AbyssIslandCaveProbability System.Single
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field AbyssResourceClustersMin System.Int32
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field AbyssResourceClustersMax System.Int32
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field SeaFloorDepth System.Int32
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field SeaFloorVariance System.Int32
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field MountainCountMin System.Int32
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field MountainCountMax System.Int32
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field MountainHeightMin System.Int32
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field MountainHeightMax System.Int32
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field RuinCount System.Int32
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field MinRuinCount System.Int32
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field MaxRuinCount System.Int32
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field RuinSpawnProbability System.Single
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field MinWreckCount System.Int32
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field MaxWreckCount System.Int32
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field MinCorpseCount System.Int32
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field MaxCorpseCount System.Int32
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field HuskProbability System.Single
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field ThalamusProbability System.Single
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field WreckHullFloodingChance System.Single
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field WreckFloodingHullMinWaterPercentage System.Single
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field WreckFloodingHullMaxWaterPercentage System.Single
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field ForceBeaconStation System.String
---`Getter Public Instance`
---<br/>`Setter Private Instance`
---@field WaterParticleScale System.Single
---`Getter Public Instance`
---<br/>`Setter Private Instance`
---@field WaterParticleVelocity Microsoft.Xna.Framework.Vector2
---`Getter Public Instance`
---<br/>`Setter Private Instance`
---@field WallTextureSize System.Single
---`Getter Public Instance`
---<br/>`Setter Private Instance`
---@field WallEdgeTextureWidth System.Single
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field FlashInterval Microsoft.Xna.Framework.Vector2
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field FlashColor Microsoft.Xna.Framework.Color
---`Getter Public Instance`
---<br/>`Setter Private Instance`
---@field WallEdgeExpandOutwardsAmount System.Single
---`Getter Public Instance`
---<br/>`Setter Private Instance`
---@field WallEdgeExpandInwardsAmount System.Single
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field AmbientLightColor Microsoft.Xna.Framework.Color
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field BackgroundTextureColor Microsoft.Xna.Framework.Color
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field BackgroundColor Microsoft.Xna.Framework.Color
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field WallColor Microsoft.Xna.Framework.Color
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field WaterParticleColor Microsoft.Xna.Framework.Color
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field PlayNoiseLoopInOutpostLevel System.Boolean
---`Getter Public Instance`
---<br/>`Setter Public Instance`
---@field WaterAmbienceVolume System.Single
---`Getter Public Instance`
---<br/>`Setter Private Instance`
---@field BackgroundSprite Barotrauma.Sprite
---`Getter Public Instance`
---<br/>`Setter Private Instance`
---@field BackgroundTopSprite Barotrauma.Sprite
---`Getter Public Instance`
---<br/>`Setter Private Instance`
---@field WallSprite Barotrauma.Sprite
---`Getter Public Instance`
---<br/>`Setter Private Instance`
---@field WallEdgeSprite Barotrauma.Sprite
---`Getter Public Instance`
---<br/>`Setter Private Instance`
---@field DestructibleWallSprite Barotrauma.Sprite
---`Getter Public Instance`
---<br/>`Setter Private Instance`
---@field DestructibleWallEdgeSprite Barotrauma.Sprite
---`Getter Public Instance`
---<br/>`Setter Private Instance`
---@field WallSpriteDestroyed Barotrauma.Sprite
---`Getter Public Instance`
---<br/>`Setter Private Instance`
---@field WaterParticles Barotrauma.Sprite
_G['LevelGenerationParams'] = {}

---`Method Public Static`
_G['LevelGenerationParams'].CheckValidity = function() end

---`Method Public Static`
---@param seed System.String
---@param type Barotrauma.LevelData.LevelType
---@param difficulty System.Single
---@param biomeId? Barotrauma.Identifier
---@param pvpOnly? System.Boolean
---@param biomeTransition? System.Boolean
---@return Barotrauma.LevelGenerationParams
_G['LevelGenerationParams'].GetRandom = function(seed, type, difficulty, biomeId, pvpOnly, biomeTransition) end

---`Method Public Instance Virtual`
_G['LevelGenerationParams'].Dispose = function() end

---`Method Public Instance`
---@return System.Boolean
_G['LevelGenerationParams'].UseRandomRuinCount = function() end

---`Method Public Instance`
---@return System.Int32
_G['LevelGenerationParams'].GetMaxRuinCount = function() end

---`Constructor Public Instance`
---@overload fun(element:Barotrauma.ContentXElement, file:Barotrauma.LevelGenerationParametersFile):Barotrauma.LevelGenerationParams
---@return Barotrauma.LevelGenerationParams
_G['LevelGenerationParams'] = function() end

---`Constructor Public Instance`
---@overload fun(element:Barotrauma.ContentXElement, file:Barotrauma.LevelGenerationParametersFile):Barotrauma.LevelGenerationParams
---@return Barotrauma.LevelGenerationParams
_G['LevelGenerationParams'].__new = function() end

---`Constructor Private Static`
---@overload fun(element:Barotrauma.ContentXElement, file:Barotrauma.LevelGenerationParametersFile):Barotrauma.LevelGenerationParams
---@return Barotrauma.LevelGenerationParams
_G['LevelGenerationParams'] = function() end

---`Constructor Private Static`
---@overload fun(element:Barotrauma.ContentXElement, file:Barotrauma.LevelGenerationParametersFile):Barotrauma.LevelGenerationParams
---@return Barotrauma.LevelGenerationParams
_G['LevelGenerationParams'].__new = function() end

