using Avalonia.Controls.Notifications; namespace Ursa.Controls; /// /// Represents a message that can be shown in a window or by the host operating system. /// public interface IMessage { /// /// Gets the of the message. /// NotificationType Type { get; } /// /// Gets a value indicating whether the message should show an icon. /// bool ShowIcon { get; } /// /// Gets a value indicating whether the message should show a close button. /// bool ShowClose { get; } /// /// Gets the expiration time of the message after which it will automatically close. /// If the value is then the message will remain open until the user closes it. /// TimeSpan Expiration { get; } /// /// Gets an Action to be run when the message is clicked. /// Action? OnClick { get; } /// /// Gets an Action to be run when the message is closed. /// Action? OnClose { get; } }