#pragma once

#include <filesystem>

using Path = std::filesystem::path;

class Image;

class IImageWriter
{
public:
    enum class ImgFormat
    {
        PNG,
        UNKNOWN
    };

    IImageWriter(ImgFormat format)
        : mFormat(format)
    {

    };

    virtual ~IImageWriter() = default;

    virtual void write(const Path& path, Image* image) = 0;

protected:
    ImgFormat mFormat{ ImgFormat::UNKNOWN };
};
