using SVSim.Database.Models;
namespace SVSim.EmulatedEntrypoint.Services;
/// Resolves the card pool a pack draws from. Pure function over master data.
public interface ICardPoolProvider
{
IReadOnlyList GetPool(PackConfigEntry pack);
///
/// Returns the foil twin of if it exists in master data
/// (foil card_id = base card_id + 1 by the cards.json convention), else null. One DB
/// hit per call; expected ~0.64 calls per 8-card pack at the default 8% rate.
/// TODO(caching): folds into the broader caching wave once one exists.
///
ShadowverseCardEntry? TryGetFoilTwin(long baseCardId);
}