using System.Threading.Tasks; using Dalamud.Interface.ImGuiNotification.Internal; using Dalamud.Interface.Textures; using Dalamud.Interface.Textures.TextureWraps; using Serilog; namespace Dalamud.Interface.ImGuiNotification; /// Represents a blueprint for a notification. public sealed record Notification : INotification { /// /// Gets the default value for and . /// public static TimeSpan DefaultDuration => NotificationConstants.DefaultDuration; /// public string Content { get; set; } = string.Empty; /// public string? Title { get; set; } /// public string? MinimizedText { get; set; } /// public NotificationType Type { get; set; } = NotificationType.None; /// public INotificationIcon? Icon { get; set; } /// public ISharedImmediateTexture? IconTexture { get; set; } /// public DateTime HardExpiry { get; set; } = DateTime.MaxValue; /// public TimeSpan InitialDuration { get; set; } = DefaultDuration; /// public TimeSpan ExtensionDurationSinceLastInterest { get; set; } = DefaultDuration; /// public bool ShowIndeterminateIfNoExpiry { get; set; } = true; /// public bool RespectUiHidden { get; set; } = true; /// public bool Minimized { get; set; } = true; /// public bool UserDismissable { get; set; } = true; /// public float Progress { get; set; } = 1f; }