using System;
using SharpCompress.Common;
using SharpCompress.Compressors.Deflate;

namespace SharpCompress.Writers.Zip
{
    public class ZipWriterEntryOptions
    {
        public CompressionType? CompressionType { get; set; }
        /// <summary>
        /// When CompressionType.Deflate is used, this property is referenced.  Defaults to CompressionLevel.Default.
        /// </summary>
        public CompressionLevel? DeflateCompressionLevel { get; set; }

        public string? EntryComment { get; set; }

        public DateTime? ModificationDateTime { get; set; }

        /// <summary>
        /// Allocate an extra 20 bytes for this entry to store,
		/// 64 bit length values, thus enabling streams
		/// larger than 4GiB.
		/// This option is not supported with non-seekable streams.
        /// </summary>
        public bool? EnableZip64 { get; set; }
    }
}