using System.Text.Json;
using System.Text.Json.Nodes;
using System.Text.Json.Serialization;
namespace PkmnLib.Dynamic.Libraries.DataLoaders.Models;
/// 
/// Represents a serialized item.
/// 
public class SerializedItem
{
    /// 
    public string Name { get; set; } = null!;
    /// 
    public string ItemType { get; set; } = null!;
    /// 
    public string BattleType { get; set; } = null!;
    /// 
    public string[] Flags { get; set; } = null!;
    /// 
    public int Price { get; set; }
    /// 
    public SerializedMoveEffect? Effect { get; set; }
    /// 
    public SerializedMoveEffect? BattleEffect { get; set; }
    /// 
    public Dictionary? AdditionalData { get; set; } = null!;
    /// 
    /// A collection of non-standard data that can be set on the item.
    /// 
    [JsonExtensionData]
    public Dictionary? ExtensionData { get; set; }
}