#pragma once

#include <optional>
#include <string>

namespace lm {

struct RosMapYaml
{
  std::string image;
  double resolution = 0.05;
  double origin_x = 0.0;
  double origin_y = 0.0;
  double origin_yaw = 0.0;
  int negate = 0;
  double occupied_thresh = 0.65;
  double free_thresh = 0.196;
};

class RosMapYamlParser
{
public:
  static std::optional<RosMapYaml> parse(const std::string& yaml_text, std::string& err);
};

}  // namespace lm
