using System.Diagnostics.CodeAnalysis;
namespace NeonSprawl.Server.Game.Factions;
///
/// Read-only access to validated entries loaded at startup ().
///
public interface IFactionDefinitionRegistry
{
/// Attempts to resolve a faction by stable id (see faction-def.schema.json). Unknown ids and null return false without throwing.
bool TryGetDefinition(string? factionId, [NotNullWhen(true)] out FactionDefRow? definition);
/// Every loaded definition, ordered by (ordinal).
IReadOnlyList GetDefinitionsInIdOrder();
}