---@meta
---@class Barotrauma.VideoPlayer : System.Object
---`Field Public Instance`
---@field IsPlaying System.Boolean
---`Field Private Instance`
---@field currentVideo Barotrauma.Media.Video
---`Field Private Instance`
---@field filePath System.String
---`Field Private Instance`
---@field background Barotrauma.GUIFrame
---`Field Private Instance`
---@field videoFrame Barotrauma.GUIFrame
---`Field Private Instance`
---@field textFrame Barotrauma.GUIFrame
---`Field Private Instance`
---@field title Barotrauma.GUITextBlock
---`Field Private Instance`
---@field textContent Barotrauma.GUITextBlock
---`Field Private Instance`
---@field objectiveTitle Barotrauma.GUITextBlock
---`Field Private Instance`
---@field objectiveText Barotrauma.GUITextBlock
---`Field Private Instance`
---@field videoView Barotrauma.GUICustomComponent
---`Field Private Instance`
---@field okButton Barotrauma.GUIButton
---`Field Private Instance`
---@field backgroundColor Microsoft.Xna.Framework.Color
---`Field Private Instance`
---@field callbackOnStop (System.Action)|(fun())
---`Field Private Instance`
---@field scaledVideoResolution Microsoft.Xna.Framework.Point
---`Field Private Instance`
---@field borderSize System.Int32
---`Field Private Instance`
---@field buttonSize Microsoft.Xna.Framework.Point
---`Field Private Instance`
---@field titleHeight System.Int32
---`Field Private Instance`
---@field objectiveFrameHeight System.Int32
---`Field Private Instance`
---@field textHeight System.Int32
---`Field Private Instance`
---@field useTextOnRightSide System.Boolean
_G['GUI']['VideoPlayer'] = {}

---`Method Public Instance`
_G['GUI']['VideoPlayer'].Play = function() end

---`Method Public Instance`
_G['GUI']['VideoPlayer'].Stop = function() end

---`Method Private Instance`
---@param button Barotrauma.GUIButton
---@param userData System.Object
---@return System.Boolean
_G['GUI']['VideoPlayer'].DisposeVideo = function(button, userData) end

---`Method Public Instance`
_G['GUI']['VideoPlayer'].Update = function() end

---`Method Public Instance`
---@param ignoreChildren? System.Boolean
---@param order? System.Int32
_G['GUI']['VideoPlayer'].AddToGUIUpdateList = function(ignoreChildren, order) end

---`Method Public Instance`
---@overload fun(contentPath:System.String, videoSettings:Barotrauma.VideoPlayer.VideoSettings, textSettings:Barotrauma.VideoPlayer.TextSettings, contentId:Barotrauma.Identifier, startPlayback:System.Boolean)
---@param contentPath System.String
---@param videoSettings Barotrauma.VideoPlayer.VideoSettings
---@param textSettings Barotrauma.VideoPlayer.TextSettings
---@param contentId Barotrauma.Identifier
---@param startPlayback System.Boolean
---@param objective Barotrauma.LocalizedString
---@param onStop? (System.Action)|(fun())
_G['GUI']['VideoPlayer'].LoadContent = function(contentPath, videoSettings, textSettings, contentId, startPlayback, objective, onStop) end

---`Method Private Instance`
---@param videoSettings Barotrauma.VideoPlayer.VideoSettings
---@param textSettings Barotrauma.VideoPlayer.TextSettings
_G['GUI']['VideoPlayer'].AdjustFrames = function(videoSettings, textSettings) end

---`Method Private Instance`
---@return Barotrauma.Media.Video
_G['GUI']['VideoPlayer'].CreateVideo = function() end

---`Method Private Instance`
---@param spriteBatch Microsoft.Xna.Framework.Graphics.SpriteBatch
---@param rect Microsoft.Xna.Framework.Rectangle
_G['GUI']['VideoPlayer'].DrawVideo = function(spriteBatch, rect) end

---`Method Public Instance`
_G['GUI']['VideoPlayer'].Remove = function() end

---`Constructor Public Instance`
---@return Barotrauma.VideoPlayer
_G['GUI']['VideoPlayer'] = function() end

---`Constructor Public Instance`
---@return Barotrauma.VideoPlayer
_G['GUI']['VideoPlayer'].__new = function() end

