<!-- source-hash: 30636d800aad270ef8c49d64c5fe172d -->
Defines TypeScript types for the notification system, including variant styles, notification shape, and input for creating new notifications.

## Key Components

| Export | Type | Description |
|--------|------|-------------|
| `NotificationVariant` | `type` | Union type for notification styles: `default`, `success`, `warning`, `error`, `info` |
| `Notification` | `interface` | Full notification object shape including metadata and state |
| `AddNotificationInput` | `type` | Partial input type for creating notifications, omitting auto-generated fields |

## Usage Example

```typescript
import type { Notification, AddNotificationInput, NotificationVariant } from './types'

// Creating a new notification input
const input: AddNotificationInput = {
  variant: 'success',
  title: 'Ticket Resolved',
  description: 'Issue #1042 has been closed successfully.',
  meta: { ticketId: '1042' }
}

// Full notification object (after system assigns id, createdAt, etc.)
const notification: Notification = {
  id: 'notif-abc123',
  variant: 'error',
  title: 'Connection Failed',
  description: 'Unable to reach the RMM agent.',
  createdAt: Date.now(),
  read: false,
  settled: false,
  meta: { agentId: 'agent-007' }
}

// Using the variant type directly
const variant: NotificationVariant = 'warning'
```

## Notes

- `title` and `description` accept `ReactNode`, allowing rich content (strings, JSX elements).
- `AddNotificationInput` makes `id` and `createdAt` optional, allowing the system to auto-generate them.
- `meta` is an open-ended `Record<string, unknown>` for attaching arbitrary contextual data.