#pragma once

#include "xtr/doc/FileTypes.h"
#include "xtr/io/OptionsIO.hpp"

namespace xtr::io {

//! Export RSForm schema
class SchemaExporter {
  const ccl::semantic::RSForm& target;

public:
  explicit SchemaExporter(const ccl::semantic::RSForm& schema) noexcept
    : target{ schema } {}

public:
  [[nodiscard]] BOOL Export(const SchemaOptions& params, CString fileName, FileType type);
};

} // namespace xtr::io