#pragma once

#include <maps/libs/geolib/include/point.h>
#include <maps/libs/geolib/include/polygon.h>
#include <yandex/maps/wiki/common/pgpool3_helpers.h>
#include <yandex/maps/wiki/revision/common.h>

#include <vector>
#include <utility>

namespace maps::wiki::guide_pedestrian {

struct BuildingData
{
    revision::DBID objectId;
    geolib3::Polygon2 polygonMerc;
    geolib3::Point2 pointMerc; // determined center of the building
};

std::vector<BuildingData> loadAllBuildings(
    const geolib3::Polygon2& polygonMerc,
    common::PoolHolder& viewTrunkPoolHolder);

} // namespace maps::wiki::guide_pedestrian
