namespace NeonSprawl.Server.Game.AbilityInput;

/// <summary>Persistence abstraction for per-player hotbar bindings (NEO-29).</summary>
public interface IPlayerHotbarLoadoutStore
{
    bool TryGetBindings(string playerId, out IReadOnlyDictionary<int, string> bindings);

    bool TryUpsertBindings(string playerId, IReadOnlyList<HotbarSlotBinding> updates, out IReadOnlyDictionary<int, string> bindings);
}

public readonly record struct HotbarSlotBinding(int SlotIndex, string AbilityId);
