/// Domain Entity
/// - 表達「通知權限狀態」這個業務概念
/// - 穩定、可被 Facade 回傳
/// - 不要包含 JSON / platform / plugin
class NotificationSdkPermissionStatus {
  final bool isGranted;
  final bool isPermanentlyDenied;
  final DateTime? grantedAt;

  const NotificationSdkPermissionStatus({
    required this.isGranted,
    required this.isPermanentlyDenied,
    this.grantedAt,
  });

  /// 純業務邏輯允許
  bool get canRequestAgain => !isGranted && !isPermanentlyDenied;
}
