using System;
using System.Xml.Linq;
using Barotrauma.LuaCs;
using Barotrauma.Networking;
namespace Barotrauma.LuaCs.Data;
///
/// Parsed data from a configuration xml.
///
public partial interface IConfigInfo : IDataInfo
{
///
/// Specifies the type initializer that will be used to instantiate the config var.
///
string DataType { get; }
///
/// The 'Setting' XML element.
///
XElement Element { get; }
///
/// In what (s) is this config editable. Will be editable in the selected state, and lower value states.
///
/// [Important]
Setting this to value lower than 'Configuration` will render this config read-only.
///
Expected Behaviour:
///
[|]: Read-Only.
///
[]: Can only be changed at the Main Menu (not in a lobby).
///
[]: Can be changed at the Main Menu and while a lobby is active.
///
RunState EditableStates { get; }
///
/// Network synchronization rules for this config.
///
NetSync NetSync { get; }
}