//
// IInfoService.cs
//
// Copyright (c) František Boháček. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
using NosSmooth.Data.Abstractions.Infos;
using Remora.Results;
namespace NosSmooth.Data.Abstractions;
///
/// Service for retrieving information about NosTale objects.
///
public interface IInfoService
{
///
/// Gets the information about an item.
///
/// The vnum identifier of the item.
/// The cancellation token for cancelling the operation.
/// An item info or an error.
public Task> GetItemInfoAsync(int vnum, CancellationToken ct = default);
///
/// Gets the information about a map.
///
/// The identifier of the map.
/// The cancellation token for cancelling the operation.
/// A map info or an error.
public Task> GetMapInfoAsync(int id, CancellationToken ct = default);
///
/// Gets the information about a monster.
///
/// The vnum identifier of the monster.
/// The cancellation token for cancelling the operation.
/// A monster or an error.
public Task> GetMonsterInfoAsync(int vnum, CancellationToken ct = default);
///
/// Gets the information about a skill.
///
/// The vnum identifier of the skill.
/// The cancellation token for cancelling the operation.
/// A map or an error.
public Task> GetSkillInfoAsync(int vnum, CancellationToken ct = default);
}