using PkmnLib.Dynamic.Models;
using PkmnLib.Dynamic.Models.Choices;
using PkmnLib.Static;
namespace PkmnLib.Dynamic.Libraries;
///
/// Miscellaneous handlings for battles.
///
public interface IMiscLibrary
{
///
/// Returns the choice that's used when a Pokemon is unable to make the move choice it wants to, or when it has no
/// moves left, yet wants to make a move.
///
ITurnChoice ReplacementChoice(IPokemon user, byte targetSide, byte targetPosition);
///
/// Gets the current time of day for the battle.
///
TimeOfDay GetTimeOfDay();
bool CanFlee(IBattle battle, IFleeChoice fleeChoice);
}