using System.IO;
namespace MediaBrowser.Model.IO
{
    /// 
    /// Interface IZipClient
    /// 
    public interface IZipClient
    {
        /// 
        /// Extracts all.
        /// 
        /// The source file.
        /// The target path.
        /// if set to true [overwrite existing files].
        void ExtractAll(string sourceFile, string targetPath, bool overwriteExistingFiles);
        /// 
        /// Extracts all.
        /// 
        /// The source.
        /// The target path.
        /// if set to true [overwrite existing files].
        void ExtractAll(Stream source, string targetPath, bool overwriteExistingFiles);
        /// 
        /// Extracts all from zip.
        /// 
        /// The source.
        /// The target path.
        /// if set to true [overwrite existing files].
        void ExtractAllFromZip(Stream source, string targetPath, bool overwriteExistingFiles);
        /// 
        /// Extracts all from7z.
        /// 
        /// The source file.
        /// The target path.
        /// if set to true [overwrite existing files].
        void ExtractAllFrom7z(string sourceFile, string targetPath, bool overwriteExistingFiles);
        /// 
        /// Extracts all from7z.
        /// 
        /// The source.
        /// The target path.
        /// if set to true [overwrite existing files].
        void ExtractAllFrom7z(Stream source, string targetPath, bool overwriteExistingFiles);
        /// 
        /// Extracts all from tar.
        /// 
        /// The source file.
        /// The target path.
        /// if set to true [overwrite existing files].
        void ExtractAllFromTar(string sourceFile, string targetPath, bool overwriteExistingFiles);
        /// 
        /// Extracts all from tar.
        /// 
        /// The source.
        /// The target path.
        /// if set to true [overwrite existing files].
        void ExtractAllFromTar(Stream source, string targetPath, bool overwriteExistingFiles);
        /// 
        /// Extracts all from rar.
        /// 
        /// The source file.
        /// The target path.
        /// if set to true [overwrite existing files].
        void ExtractAllFromRar(string sourceFile, string targetPath, bool overwriteExistingFiles);
        /// 
        /// Extracts all from rar.
        /// 
        /// The source.
        /// The target path.
        /// if set to true [overwrite existing files].
        void ExtractAllFromRar(Stream source, string targetPath, bool overwriteExistingFiles);
    }
}