interface Channel { id: number; name: string; totalClients: number; neededSubscribePower: number; subchannels: Channel[]; } interface Client { databaseId: number; channelId: number; nickname: string; type: number; away: boolean; awayMessage: string; } interface ChannelState { loaded: boolean; channels: Channel[]; clients: Client[]; } interface ChannelListProps { channels: Channel[]; clients: Client[]; } interface ChannelEntryProps { channel: Channel; clients: Client[]; } interface ChannelViewProps { channel: Channel; }