using System;
namespace PKHeX.Core;
///
/// Exposes info about the Technical Record (TR) compatibility and history of use in Sword/Shield.
///
public interface ITechRecord8
{
///
/// Individual accessed indexes indicate if they can be learned.
///
ReadOnlySpan TechRecordPermitFlags { get; }
///
/// Individual accessed move IDs that a given TR teaches.
///
ReadOnlySpan TechRecordPermitIndexes { get; }
///
/// Indicates if the TR has been previously used on this entity to learn the move.
///
/// TR index
/// True if learned
bool GetMoveRecordFlag(int index);
///
/// Sets the flag indicating that the TR has been learned.
///
/// TR index
/// True if learned
void SetMoveRecordFlag(int index, bool value = true);
///
/// Indicates if any move has been learned via TR.
///
bool GetMoveRecordFlagAny();
}