using System;
using Barotrauma.LuaCs.Services;
using Barotrauma.Networking;
namespace Barotrauma.LuaCs.Data;
// TODO: Finish
public partial interface IConfigInfo : IDataInfo
{
///
/// Specifies the data type this should be initialized to (ie. string, int, vector, etc.)
/// Custom types can be registered by mods.
///
Type DataType { get; }
///
/// String version of the default value.
///
string DefaultValue { get; }
///
/// The value the last time this config was saved, if found in /data/.
///
string StoredValue { get; }
///
/// Custom data storage for other type-specific information needed. IE. Used to store the min,
/// max and step values for the IConfigRangeEntry(T).
///
string CustomParameters { get; }
///
/// [Multiplayer]
/// What permissions do clients require to change this setting.
///
ClientPermissions RequiredPermissions { get; }
///
/// In what s is this config editable.
///
/// Note: Setting this to value lower than 'Configuration` will render this config read-only.
///
RunState CanEditStates { get; }
///
/// Network synchronization rules for this config.
///
NetSync NetSync { get; }
///
/// User friendly name or Localization Token.
///
string DisplayName { get; }
///
/// User friendly description or Localization Token.
///
string Description { get; }
}