using NodaTime; using DysonNetwork.Pass.Features.Account; using DysonNetwork.Common.Models; namespace DysonNetwork.Pass.Features.Account.Interfaces; public interface IMagicSpellService { Task CreateMagicSpell( Models.Account account, MagicSpellType type, Dictionary meta, Instant? expiredAt = null, Instant? affectedAt = null, bool preventRepeat = false ); Task NotifyMagicSpell(MagicSpell spell, bool bypassVerify = false); Task ApplyMagicSpell(MagicSpell spell); Task ApplyPasswordReset(MagicSpell spell, string newPassword); }