// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "../Global.h"
#include "Core.hpp"
#include "TransactionalWorldBlockTarget.hpp"

#define BEFORE_EXTRA

#undef BEFORE_EXTRA

class SnapshotEnv : public TransactionalWorldBlockTarget {

#define AFTER_EXTRA

#undef AFTER_EXTRA
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_SNAPSHOTENV
public:
    class SnapshotEnv& operator=(class SnapshotEnv const &) = delete;
    SnapshotEnv(class SnapshotEnv const &) = delete;
    SnapshotEnv() = delete;
#endif

public:
    /*0*/ virtual ~SnapshotEnv();
    /*1*/ virtual class leveldb::Status NewSequentialFile(std::string const &, class leveldb::SequentialFile **);
    /*2*/ virtual class leveldb::Status NewRandomAccessFile(std::string const &, class leveldb::RandomAccessFile **);
    /*3*/ virtual class leveldb::Status NewWritableFile(std::string const &, class leveldb::WritableFile **);
    /*4*/ virtual class leveldb::Status NewAppendableFile(std::string const &, class leveldb::WritableFile **);
    /*7*/ virtual class leveldb::Status DeleteFileA(std::string const &);
    /*10*/ virtual void __unk_vfn_10();
    /*11*/ virtual class leveldb::Status RenameFile(std::string const &, std::string const &);
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_SNAPSHOTENV
#endif
    MCAPI std::vector<struct SnapshotFilenameAndLength> createSnapshot(class Core::Path const &);
    MCAPI void releaseSnapshot();

//private:
    MCAPI bool _isQueuedForRemoval(class Core::PathBuffer<std::string> const &);

private:

};