using System;
namespace PKHeX.Core;
///
/// Exposes permissions about Item Storage (Pouch) constraints.
///
public interface IItemStorage
{
///
/// Indicates if the item is actually obtainable for the given .
///
///
/// This is used to check if the item is legal to obtain, not if the item can exist in the pouch.
///
/// Type of inventory to check.
/// Item ID to check.
/// Quantity value for the item.
/// True if the item is possible to obtain.
bool IsLegal(InventoryType type, int itemIndex, int itemCount);
///
/// Gets all possible item IDs that can exist in the given pouch .
///
/// Type of inventory to check.
/// List of all possible item IDs.
ReadOnlySpan GetItems(InventoryType type);
}