using System;
using System.Collections.Generic;
using MediaBrowser.Model.Drawing;
namespace MediaBrowser.Controller.Drawing
{
public interface IImageEncoder
{
///
/// Gets the supported input formats.
///
/// The supported input formats.
IReadOnlyCollection SupportedInputFormats { get; }
///
/// Gets the supported output formats.
///
/// The supported output formats.
IReadOnlyCollection SupportedOutputFormats { get; }
///
/// Gets the name.
///
/// The name.
string Name { get; }
///
/// Gets a value indicating whether [supports image collage creation].
///
/// true if [supports image collage creation]; otherwise, false.
bool SupportsImageCollageCreation { get; }
///
/// Gets a value indicating whether [supports image encoding].
///
/// true if [supports image encoding]; otherwise, false.
bool SupportsImageEncoding { get; }
ImageDimensions GetImageSize(string path);
///
/// Encodes the image.
///
string EncodeImage(string inputPath, DateTime dateModified, string outputPath, bool autoOrient, ImageOrientation? orientation, int quality, ImageProcessingOptions options, ImageFormat outputFormat);
///
/// Creates the image collage.
///
/// The options.
void CreateImageCollage(ImageCollageOptions options);
}
}