#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);
}
}