#pragma once

#include <cstdint>
#include <memory>

#include "features/items/contracts/ItemCatalogTypes.h"

namespace ta::features::items::contracts
{
    class IItemQueries
    {
    public:
        virtual ~IItemQueries() = default;
        [[nodiscard]] virtual std::shared_ptr<const ta::features::items::contracts::ItemCatalogSnapshot> catalog() const noexcept = 0;
        [[nodiscard]] virtual bool in_raid() const noexcept = 0;
        [[nodiscard]] virtual std::uint64_t navigation_revision() const noexcept = 0;
    };
}
