<!-- source-hash: fb3fd496072e045ecd7a83597b0beb8a -->
TypeScript interfaces and types for building Slack community features, providing comprehensive data models for users, channels, messages, and real-time interactions based on Figma Frame 651 specifications.

## Key Components

- **SlackUser** - User profile data with online status and display information
- **SlackChannel** - Channel metadata including privacy, member count, and activity indicators
- **SlackMessage** - Message structure with reactions, threading, and typing support
- **SlackCommunityData** - Complete community state combining stats, channels, messages, and users
- **UseSlackCommunityReturn** - Hook interface for React components with loading states and actions
- **SlackApiResponse** - Standardized API response wrapper with error handling
- **SlackAttachment** - File and media attachment handling for messages
- **SlackMessageSendRequest** - Message composition interface with threading support

## Usage Example

```typescript
// Component state management
const slackData: SlackCommunityData = {
  stats: {
    totalMembers: 1250,
    onlineMembers: 89,
    activeToday: 234,
    channelCount: 12,
    messagesThisWeek: 1840
  },
  channels: [
    {
      id: 'ch_001',
      name: 'general',
      isPrivate: false,
      memberCount: 1250,
      hasActivity: true,
      isJoined: true,
      unreadCount: 3
    }
  ],
  recentMessages: [],
  onlineUsers: []
};

// Hook integration
const {
  data,
  isLoading,
  sendMessage,
  switchChannel,
  activeChannelId
} = useSlackCommunity();

// Send message with attachments
await sendMessage('Hello team!', 'ch_001');
```