#nullable disable
using System;
namespace MediaBrowser.Model.Updates
{
    /// 
    /// Class PackageVersionInfo.
    /// 
    public class VersionInfo
    {
        private Version _version;
        /// 
        /// Gets or sets the version.
        /// 
        /// The version.
        public string version
        {
            get
            {
                return _version == null ? string.Empty : _version.ToString();
            }
            set
            {
                _version = Version.Parse(value);
            }
        }
        /// 
        /// Gets the version as a .
        /// 
        public Version VersionNumber => _version;
        /// 
        /// Gets or sets the changelog for this version.
        /// 
        /// The changelog.
        public string changelog { get; set; }
        /// 
        /// Gets or sets the ABI that this version was built against.
        /// 
        /// The target ABI version.
        public string targetAbi { get; set; }
        /// 
        /// Gets or sets the source URL.
        /// 
        /// The source URL.
        public string sourceUrl { get; set; }
        /// 
        /// Gets or sets a checksum for the binary.
        /// 
        /// The checksum.
        public string checksum { get; set; }
        /// 
        /// Gets or sets a timestamp of when the binary was built.
        /// 
        /// The timestamp.
        public string timestamp { get; set; }
        /// 
        /// Gets or sets the repository name.
        /// 
        public string repositoryName { get; set; }
        /// 
        /// Gets or sets the repository url.
        /// 
        public string repositoryUrl { get; set; }
    }
}