#include <Arduino.h>
#include <AsyncMqttClient.h>
#include "FS.h"
#include "SPIFFS.h"
#ifndef FILE_OPERATIONS
#define FILE_OPERATIONS
class FileOperations{
    private:
    public:
    FileOperations();
    static void deleteFile(fs::FS &fs, const char *path);
    static void printFile(fs::FS &fs, const char *path);
    static void writeFile(fs::FS &fs, const char *path, const char *message);
    static void appendFile(fs::FS &fs, const char *path, const char *message);
    static void listDir(fs::FS &fs, const char *dirname, uint8_t levels);
    static void removeUser(String userID);
    static void listUsers(char *MAC_char, AsyncMqttClient mqttClient);
    static void clearUsers();
    static void printInfo();
    static String humanReadableSize(const size_t bytes);
    static void readFile(char *buff,const char *filename);   
    void findSlots(String filename, int value, int* indexes, int& count);  
    void deleteKeys(String filename, uint64_t value);
};
#endif
