namespace SVSim.EmulatedEntrypoint.Services;
public interface ICardAcquisitionService
{
///
/// Grant N cards + their CardCosmeticReward cascades in a single transaction.
/// Used by /pack/open and any future endpoint that grants new cards in bulk.
/// Returns wire-shape reward_list entries (post-state counts for cards, single-grant
/// entries for any newly-added cosmetics).
///
Task GrantManyAsync(long viewerId, IEnumerable newCardIds);
///
/// Scan all owned cards for missing CardCosmeticReward cosmetics; grant any not yet owned.
/// Used by /load/index for retroactive cosmetic reconciliation. Card counts are NOT mutated.
///
Task BackfillCosmeticsAsync(long viewerId);
}