using System;
namespace RGB.NET.Core;
///
/// Represents a trigger causing an update.
///
public interface IUpdateTrigger : IDisposable
{
///
/// Gets the time spent for the last update.
///
double LastUpdateTime { get; }
///
/// Occurs when the trigger is starting up.
///
event EventHandler? Starting;
///
/// Occurs when the trigger wants to cause an update.
///
event EventHandler? Update;
///
/// Starts the update trigger.
///
void Start();
}