// ReSharper disable All

namespace MyTelegram.Schema;

/// <summary>
/// User's received star gift
/// See <a href="https://corefork.telegram.org/constructor/UserStarGift" />
/// </summary>
[JsonDerivedType(typeof(TUserStarGift), nameof(TUserStarGift))]
public interface IUserStarGift : IObject
{
    int Flags { get; set; }
    bool NameHidden { get; set; }
    bool Unsaved { get; set; }
    bool Refunded { get; set; }
    bool CanUpgrade { get; set; }
    bool PinnedToTop { get; set; }
    MyTelegram.Schema.IPeer? FromId { get; set; }
    int Date { get; set; }
    MyTelegram.Schema.IStarGift Gift { get; set; }
    MyTelegram.Schema.ITextWithEntities? Message { get; set; }
    int? MsgId { get; set; }
    long? SavedId { get; set; }
    long? ConvertStars { get; set; }
    long? UpgradeStars { get; set; }
    int? CanExportAt { get; set; }
    long? TransferStars { get; set; }
    int? CanTransferAt { get; set; }
    int? CanResellAt { get; set; }
}
