#pragma once

#include <maps/wikimap/mapspro/libs/poi_feed/include/feed_object_data.h>
#include <unordered_set>

namespace maps::wiki::merge_poi {

struct Summary
{
    size_t toDelete = 0;
    size_t toMove = 0;
    size_t toRenameOfficial = 0;
    size_t toRenameShort = 0;
    size_t toChangeRubrics = 0;
    size_t addedObjects = 0;
    size_t deletedObjects = 0;
};

struct PatchesContext
{
    Summary summary;
    poi_feed::FeedObjectDataVector patches;
    std::unordered_set<poi_feed::ObjectId> movingToSamePositionIds;
    std::unordered_set<poi_feed::ObjectId> objectIdsForActiveTasks;
    std::unordered_set<poi_feed::ObjectId> notYetToDelete;
};

} // namespace maps::wiki::merge_poi
