#pragma once

#include "adapters/il2cpp/Il2CppObjectInstance.h"
#include "adapters/eft/world/WorldTypes.h"
#include "features/items/contracts/WishlistSnapshot.h"

namespace ta::adapters::eft::items
{
    class ItemTemplateCatalogService;
}

namespace ta::adapters::eft::world
{
    [[nodiscard]] WorldActionResult teleport_items_to_player(
        ta::adapters::il2cpp::Il2CppObjectInstance game_world_instance,
        ta::adapters::il2cpp::Il2CppObjectInstance main_player,
        const ItemTeleportRequest& request,
        const ta::features::items::contracts::WishlistSnapshot& wishlist,
        const ta::adapters::eft::items::ItemTemplateCatalogService& item_catalog);
}
