export interface AdminNotificationBarkRecipient {
  id: string
  name: string
  deviceKey: string
  deviceKeyMasked: string
  enabled: boolean
}

export interface AdminNotificationConfig {
  enabled: boolean
  channels: {
    bark: {
      enabled: boolean
      serverUrl: string
      recipients: AdminNotificationBarkRecipient[]
    }
  }
}

export interface AdminNotificationSendResult {
  recipientId: string
  recipientName: string
  recipientKeyMasked: string
  ok: boolean
  status: number
  errorMessage: string
  response: unknown
}

export interface AdminNotificationTestResult {
  enabled: boolean
  channel: string
  successCount: number
  failedCount: number
  skippedCount: number
  results: AdminNotificationSendResult[]
}
