namespace NeonSprawl.Server.Game.Targeting;
/// In-memory per-player combat target lock for prototype HTTP (NEO-23).
public interface IPlayerTargetLockStore
{
/// Current lock id (lowercase registry key) and sequence; missing player ⇒ (null, 0).
(string? LockIdLowercase, int Sequence) GetLockState(string playerId);
/// Clears lock; bumps sequence only if a lock was present.
(string? LockIdLowercase, int Sequence) ApplyClear(string playerId);
/// Sets lock to ; no sequence bump if already equal (idempotent).
(string? LockIdLowercase, int Sequence) ApplySet(string playerId, string targetIdLowercase);
}