#nullable disable using System; using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Threading.Tasks; using Tmds.DBus; [assembly: InternalsVisibleTo(Connection.DynamicAssemblyName)] namespace DesktopNotifications.FreeDesktop { /// http://www.galago-project.org/specs/notification/0.9/x408.html /// /// Interface for notifications /// [DBusInterface("org.freedesktop.Notifications")] internal interface IFreeDesktopNotificationsProxy : IDBusObject { Task NotifyAsync(string appName, uint replacesId, string appIcon, string summary, string body, string[] actions, IDictionary hints, int expireTimeout); Task CloseNotificationAsync(uint id); Task GetCapabilitiesAsync(); Task<(string name, string vendor, string version, string spec_version)> GetServerInformationAsync(); Task WatchNotificationClosedAsync(Action<(uint id, uint reason)> handler, Action onError = null); Task WatchActionInvokedAsync(Action<(uint id, string action_key)> handler, Action onError = null); } }