export interface Post {
  id: string;
  title: string;
  content: string;
  media?: MediaFile[];
  author: {
    name: string;
    avatar: string;
  };
  timestamp: Date;
  scheduledFor?: Date;
  isScheduled: boolean;
  likes: number;
  isLiked: boolean;
  sharing: SharingSettings;
  comments: Comment[];
}

export interface MediaFile {
  id: string;
  type: 'image' | 'video';
  url: string;
  filename: string;
  position?: number; // Position in content for inline media
}

export interface SharingSettings {
  type: 'private' | 'groups' | 'public';
  specificUsers?: string[];
  groups?: string[];
  description?: string;
}

export interface Comment {
  id: string;
  content: string;
  author: {
    name: string;
    avatar: string;
  };
  timestamp: Date;
}

export interface ContentBlock {
  id: string;
  type: 'text' | 'image' | 'video';
  content: string;
  mediaFile?: MediaFile;
}