export interface Post {
  id: number;
  title: string;
  slug: string;
  date: string;
  categories: string[];
  tags: string[];
  thumbnail?: string;
  excerpt: string;
  readTime: string;
  content: string;
}

export interface Course {
  id: number;
  title: string;
  slug: string;
  excerpt: string;
  description: string;
  hours: string;
  level: string;
  category: string;
  icon: string;
  audience: string;
  price: string;
  rating: number;
  studentsCount: number;
}

export interface TeamMember {
  name: string;
  role: string;
  title: string;
  bio: string;
  image: string;
  degree: string;
  social?: {
    linkedin?: string;
    email?: string;
  };
}

export interface PricingPlan {
  id: string;
  name: string;
  subtitle: string;
  coins: number | string;
  bonusCoins?: number | string;
  totalCoins: number | string;
  priceRials: string;
  priceTomans: string;
  isPopular: boolean;
  badge?: string;
  features: string[];
}

export interface AITool {
  id: string;
  category: 'image' | 'text' | 'audio' | 'video' | 'bots';
  categoryName: string;
  title: string;
  description: string;
  icon: string;
  badge?: string;
  capabilities: string[];
  samplePrompt?: string;
}

export interface AIModel {
  id: string;
  name: string;
  provider: string;
  badge?: string;
  description: string;
  contextWindow: string;
  speed: string;
  intelligenceScore: number;
  isFree: boolean;
  pricingTier: string;
  strengths: string[];
}

export interface SiteInfo {
  name: string;
  englishName: string;
  tagline: string;
  description: string;
  phone: string[];
  email: string;
  address: string;
  postalCode: string;
  mapCoordinates: { lat: number; lng: number };
  workHours: string;
  appDownloadUrl: string;
  webAppUrl: string;
  story: {
    title: string;
    paragraphs: string[];
  };
  stats: { label: string; value: string }[];
  partners: { name: string; role: string }[];
  licenses: { title: string; desc: string }[];
}

export interface ChatMessage {
  id: string;
  sender: 'user' | 'assistant' | 'system';
  text: string;
  timestamp: string;
  model?: string;
}
