using System;
namespace ElectronNET.API.Interfaces
{
///
/// Monitor power state changes..
///
public interface IPowerMonitor
{
///
/// Emitted when the system is about to lock the screen.
///
event Action OnLockScreen;
///
/// Emitted when the system is about to unlock the screen.
///
event Action OnUnLockScreen;
///
/// Emitted when the system is suspending.
///
event Action OnSuspend;
///
/// Emitted when system is resuming.
///
event Action OnResume;
///
/// Emitted when the system changes to AC power.
///
event Action OnAC;
///
/// Emitted when system changes to battery power.
///
event Action OnBattery;
///
/// Emitted when the system is about to reboot or shut down. If the event handler
/// invokes `e.preventDefault()`, Electron will attempt to delay system shutdown in
/// order for the app to exit cleanly.If `e.preventDefault()` is called, the app
/// should exit as soon as possible by calling something like `app.quit()`.
///
event Action OnShutdown;
}
}