import { Subscription } from './subscription.model'; export interface Channel { channel_id: string; owner_user_id: string; internal_name: string; display_name: string; description_name: string | null; subscribe_key?: string; send_key?: string; timestamp_created: string; timestamp_lastsent: string | null; messages_sent: number; } export interface ChannelWithSubscription extends Channel { subscription: Subscription | null; } export interface ChannelPreview { channel_id: string; owner_user_id: string; internal_name: string; display_name: string; } export type ChannelSelector = 'owned' | 'subscribed' | 'all' | 'subscribed_any' | 'all_any'; export interface CreateChannelRequest { name: string; subscribe?: boolean; } export interface UpdateChannelRequest { display_name?: string; description_name?: string; subscribe_key?: string; send_key?: string; } export interface ChannelListResponse { channels: ChannelWithSubscription[]; }