namespace NeonSprawl.Server.Game.Rewards;
/// Idempotent per-player quest completion reward delivery record (NEO-126).
public interface IRewardDeliveryStore
{
/// First record returns true; replays for the same player+quest return false.
bool TryRecord(RewardDeliveryEvent deliveryEvent);
bool TryGet(string playerId, string questId, out RewardDeliveryEvent deliveryEvent);
///
/// Dev fixture only — removes one delivery row so completion grants can re-apply on Bruno reset.
/// Idempotent when the row is already absent.
///
bool TryClear(string playerId, string questId);
}