// SPDX-FileCopyrightText: 2026 FocusFlow contributors
// SPDX-License-Identifier: AGPL-3.0-only

part of '../../../desktop_notification_adapter_io.dart';

/// Platform-neutral backend used by [DesktopNotificationAdapter].
abstract interface class DesktopNotificationBackend {
  /// Whether this backend has native notification support.
  bool get isSupported;

  /// Deliver [request].
  Future<void> deliver(NotificationRequest request);

  /// Cancel a pending notification by [id], when supported.
  Future<void> cancel(String id);
}
