using System.Diagnostics.CodeAnalysis; namespace NeonSprawl.Server.Game.Contracts; /// /// Read-only access to validated entries loaded at startup (). /// public interface IContractTemplateRegistry { /// Attempts to resolve a contract template by stable id. Unknown ids and null return false without throwing. bool TryGetDefinition(string? templateId, [NotNullWhen(true)] out ContractTemplateRow? definition); /// Every loaded definition, ordered by (ordinal). IReadOnlyList GetDefinitionsInIdOrder(); }