<!-- source-hash: a917ee27e043dad6c17be2d270d254ab -->
Defines comprehensive TypeScript interfaces and types for managing Luma events across platform admin interfaces, including database models, API responses, and UI component props.

## Key Components

**Core Interfaces:**
- `LumaEvent` - Main database model with event details, location, timing, and metadata
- `EventFilters` - Query parameters for filtering and pagination
- `EventsResponse` - API response wrapper with pagination info
- `EventStatsResponse` - Aggregated event statistics

**UI Component Types:**
- `EventCardProps` - Props for individual event display components
- `EventsDashboardProps` - Props for the main events dashboard
- `EventMedia` - Media attachments and display metadata

**Helper Types:**
- `EventTimeInfo` - Computed time status and display formatting
- `EventLocationInfo` - Location parsing for online/in-person events
- `LumaEventHost`/`LumaEventGuest` - User participation models

## Usage Example

```typescript
// Filtering events by platform and status
const filters: EventFilters = {
  platform: 'luma',
  status: 'upcoming',
  search: 'workshop',
  page: 1,
  pageSize: 10
};

// Event card component usage
const eventCard: EventCardProps = {
  event: lumaEvent,
  onViewInLuma: (event) => window.open(event.event_url, '_blank'),
  className: 'custom-event-card'
};

// Time status checking
const timeInfo: EventTimeInfo = {
  isUpcoming: new Date(event.start_at) > new Date(),
  isPast: new Date(event.end_at) < new Date(),
  isLive: false,
  displayDate: '2024-01-15',
  displayTime: '2:00 PM PST'
};
```