export type TrendDirection = "up" | "down" | "neutral";

export type StatMetric = {
  id: string;
  label: string;
  value: string;
  delta: string;
  trend: TrendDirection;
  note?: string;
};

export type RevenuePoint = {
  month: string;
  revenue: number;
  orders: number;
};

export type ChannelPoint = {
  name: string;
  value: number;
};

export type UserStatus = "active" | "pending" | "suspended";

export type User = {
  id: string;
  fullName: string;
  email: string;
  plan: "Silver" | "Gold" | "Maestro";
  status: UserStatus;
  joinedAt: string;
  totalSpent: number;
  city: string;
};

export type ContentStatus = "published" | "draft" | "review";

export type ContentItem = {
  id: string;
  title: string;
  artist: string;
  genre: string;
  duration: string;
  status: ContentStatus;
  createdAt: string;
  listens: number;
};

export type OrderStatus = "paid" | "processing" | "refunded" | "failed";

export type Order = {
  id: string;
  customer: string;
  product: string;
  amount: number;
  paymentMethod: "Card" | "Apple Pay" | "Wallet";
  status: OrderStatus;
  createdAt: string;
  city: string;
};

export type MessageState = "unread" | "open" | "closed";

export type MessageThread = {
  id: string;
  customer: string;
  subject: string;
  state: MessageState;
  lastMessageAt: string;
  channel: "Email" | "WhatsApp" | "In-App";
  preview: string;
  priority: "low" | "normal" | "high";
};

export type Insight = {
  label: string;
  value: number;
};

export type SettingsProfile = {
  businessName: string;
  supportEmail: string;
  supportPhone: string;
  city: string;
  currency: string;
};

export type SettingsNotifications = {
  orders: boolean;
  newUsers: boolean;
  payouts: boolean;
  weeklyDigest: boolean;
};
