#pragma once

#include <maps/wikimap/mapspro/services/mrc/eye/experiments/signs_map/toloka/matches/lib/include/object.h>
#include <maps/wikimap/mapspro/services/mrc/eye/experiments/signs_map/toloka/matches/lib/include/match.h>

#include <maps/wikimap/mapspro/services/mrc/libs/db/include/feature.h>

#include <vector>
#include <optional>


namespace maps::mrc::eye {

struct Task {
    Task(
        const db::Feature& feature1, const Objects& objects1,
        const db::Feature& feature2, const Objects& objects2,
        const std::optional<Matches>& matches = std::nullopt);

    db::Feature feature1;
    Objects objects1;
    db::Feature feature2;
    Objects objects2;
    std::optional<Matches> matches;
};

using Tasks = std::vector<Task>;

} // namespace maps::mrc::eye
