#ifndef __TEXTURE_LOADER__
#define __TEXTURE_LOADER__

#include <string>
#include <memory>
#include "../io/filesystem.h"

namespace sleek
{
    namespace driver
    {
        class texture;
    }
    namespace loader
    {
        class textureloader
        {
            public:
                virtual std::shared_ptr<driver::texture> read(io::filesystem*, const std::string&) const noexcept = 0;

                virtual bool write(io::filesystem*, driver::texture*,const std::string&) const noexcept = 0;

                virtual bool match(const std::string&) const noexcept = 0;
        };
    }
}

#endif // __TEXTURE_LOADER__