using System;
namespace StardewModdingAPI.Framework.StateTracking
{
/// A watcher which detects changes to something.
internal interface IWatcher : IDisposable
{
/*********
** Accessors
*********/
/// A name which identifies what the watcher is watching, used for troubleshooting.
string Name { get; }
/// Whether the value changed since the last reset.
bool IsChanged { get; }
/*********
** Methods
*********/
/// Update the current value if needed.
void Update();
/// Set the current value as the baseline.
void Reset();
}
}