---@meta

---@class FNamingTokenData
---@field TokenKey FString
---@field DisplayName FText
---@field Description FText
---@field FunctionName FName
local FNamingTokenData = {}



---@class FNamingTokenFilterArgs
---@field AdditionalNamespacesToInclude TArray<FString>
---@field bIncludeGlobal boolean
---@field bForceCaseSensitive boolean
---@field bNativeOnly boolean
local FNamingTokenFilterArgs = {}



---@class FNamingTokenResultData
---@field OriginalText FText
---@field EvaluatedText FText
---@field TokenValues TArray<FNamingTokenValueData>
local FNamingTokenResultData = {}



---@class FNamingTokenValueData
---@field TokenKey FString
---@field ProvidedNamespace FString
---@field TokenValue FText
---@field bWasEvaluated boolean
local FNamingTokenValueData = {}



---@class FNamingTokensEvaluationData
---@field CurrentDateTime FDateTime
---@field Contexts TArray<UObject>
local FNamingTokensEvaluationData = {}



---@class UGlobalNamingTokens : UNamingTokens
local UGlobalNamingTokens = {}


---@class UNamingTokens : UObject
---@field CustomTokens TArray<FNamingTokenData>
---@field CurrentEvaluationData FNamingTokensEvaluationData
---@field Namespace FString
local UNamingTokens = {}

---@return FText
function UNamingTokens:ProcessTokenTemplateFunction() end
---@param InEvaluationData FNamingTokensEvaluationData
function UNamingTokens:OnPreEvaluate(InEvaluationData) end
function UNamingTokens:OnPostEvaluate() end
---@return FDateTime
function UNamingTokens:GetCurrentDateTime() end


---@class UNamingTokensEngineSubsystem : UEngineSubsystem
---@field CachedNamingTokens TMap<FString, UNamingTokens>
local UNamingTokensEngineSubsystem = {}

---@param InNameSpace FString
function UNamingTokensEngineSubsystem:UnregisterGlobalNamespace(InNameSpace) end
---@param InNameSpace FString
function UNamingTokensEngineSubsystem:RegisterGlobalNamespace(InNameSpace) end
---@param InNameSpace FString
---@return boolean
function UNamingTokensEngineSubsystem:IsGlobalNamespaceRegistered(InNameSpace) end
---@param InNameSpace FString
---@return UNamingTokens
function UNamingTokensEngineSubsystem:GetNamingTokensNative(InNameSpace) end
---@param InNameSpace FString
---@return UNamingTokens
function UNamingTokensEngineSubsystem:GetNamingTokens(InNameSpace) end
---@param InNamespaces TArray<FString>
---@return TArray<UNamingTokens>
function UNamingTokensEngineSubsystem:GetMultipleNamingTokens(InNamespaces) end
---@return TArray<FString>
function UNamingTokensEngineSubsystem:GetGlobalNamespaces() end
---@return TArray<FString>
function UNamingTokensEngineSubsystem:GetAllNamespaces() end
---@param InTokenText FText
---@param InFilter FNamingTokenFilterArgs
---@param InContexts TArray<UObject>
---@return FNamingTokenResultData
function UNamingTokensEngineSubsystem:EvaluateTokenText(InTokenText, InFilter, InContexts) end
---@param InTokenString FString
---@param InFilter FNamingTokenFilterArgs
---@param InContexts TArray<UObject>
---@return FNamingTokenResultData
function UNamingTokensEngineSubsystem:EvaluateTokenString(InTokenString, InFilter, InContexts) end
function UNamingTokensEngineSubsystem:ClearCachedNamingTokens() end


