---@meta

---@class FScriptingCommand
local FScriptingCommand = {}


---@class FScriptingCommandInfo
---@field ContextName FName
---@field Set FName
---@field Name FName
---@field Label FText
---@field Description FText
---@field InputChord FInputChord
local FScriptingCommandInfo = {}



---@class FScriptingCommandSet
local FScriptingCommandSet = {}


---@class FScriptingCommandsContext
local FScriptingCommandsContext = {}


---@class UUICommandsScriptingSubsystem : UEngineSubsystem
local UUICommandsScriptingSubsystem = {}

---@param SetName FName
---@return boolean
function UUICommandsScriptingSubsystem:UnregisterCommandSet(SetName) end
---@param CommandInfo FScriptingCommandInfo
---@return boolean
function UUICommandsScriptingSubsystem:UnregisterCommand(CommandInfo) end
function UUICommandsScriptingSubsystem:UnregisterAllSets() end
---@param SetName FName
---@param bShouldExecuteCommands boolean
function UUICommandsScriptingSubsystem:SetCanSetExecuteCommands(SetName, bShouldExecuteCommands) end
---@param bShouldExecuteCommands boolean
function UUICommandsScriptingSubsystem:SetCanExecuteCommands(bShouldExecuteCommands) end
---@param SetName FName
---@return boolean
function UUICommandsScriptingSubsystem:RegisterCommandSet(SetName) end
---@param CommandInfo FScriptingCommandInfo
---@param OnExecuteCommand FRegisterCommandCheckedOnExecuteCommand
---@param OnCanExecuteCommand FRegisterCommandCheckedOnCanExecuteCommand
---@param bOverrideExisting boolean
---@return boolean
function UUICommandsScriptingSubsystem:RegisterCommandChecked(CommandInfo, OnExecuteCommand, OnCanExecuteCommand, bOverrideExisting) end
---@param CommandInfo FScriptingCommandInfo
---@param OnExecuteCommand FRegisterCommandOnExecuteCommand
---@param bOverrideExisting boolean
---@return boolean
function UUICommandsScriptingSubsystem:RegisterCommand(CommandInfo, OnExecuteCommand, bOverrideExisting) end
---@param ContextName FName
---@param InputChord FInputChord
---@return boolean
function UUICommandsScriptingSubsystem:IsInputChordMapped(ContextName, InputChord) end
---@param ContextName FName
---@return boolean
function UUICommandsScriptingSubsystem:IsContextRegistered(ContextName) end
---@param SetName FName
---@return boolean
function UUICommandsScriptingSubsystem:IsCommandSetRegistered(SetName) end
---@param CommandInfo FScriptingCommandInfo
---@param bCheckInputChord boolean
---@return boolean
function UUICommandsScriptingSubsystem:IsCommandRegistered(CommandInfo, bCheckInputChord) end
---@param OnExecuteAction FHandleExecuteActionOnExecuteAction
---@param CommandInfo FScriptingCommandInfo
function UUICommandsScriptingSubsystem:HandleExecuteAction(OnExecuteAction, CommandInfo) end
---@param OnCanExecuteAction FHandleCanExecuteActionOnCanExecuteAction
---@param CommandInfo FScriptingCommandInfo
---@return boolean
function UUICommandsScriptingSubsystem:HandleCanExecuteAction(OnCanExecuteAction, CommandInfo) end
---@return TArray<FScriptingCommandInfo>
function UUICommandsScriptingSubsystem:GetRegisteredCommands() end
---@param ContextName FName
---@return int32
function UUICommandsScriptingSubsystem:GetBindingCountForContext(ContextName) end
---@return TArray<FName>
function UUICommandsScriptingSubsystem:GetAvailableContexts() end
---@param SetName FName
---@return boolean
function UUICommandsScriptingSubsystem:DefaultCanExecuteAction(SetName) end
---@param SetName FName
---@return boolean
function UUICommandsScriptingSubsystem:CanSetExecuteCommands(SetName) end
---@return boolean
function UUICommandsScriptingSubsystem:CanExecuteCommands() end


