#pragma once

#include <maps/libs/geolib/include/multipolygon.h>
#include <maps/libs/pgpool/include/pgpool3.h>
#include <maps/wikimap/mapspro/services/mrc/libs/db/include/feature.h>
#include <maps/wikimap/mapspro/services/mrc/libs/db/include/object_in_photo.h>

#include <unordered_map>

namespace maps::mrc::blur_mds {

db::Features loadFeatures(pgpool3::Pool&,
                          const geolib3::MultiPolygon2& mercatorGeom);

using ObjectsByFeatureId = std::unordered_map<db::TId, db::ObjectsInPhoto>;

ObjectsByFeatureId loadObjectsInPhoto(pgpool3::Pool&,
                                      const db::TIds& featureIds);

}  // namespace maps::mrc::blur_mds
