export interface CommerceFilterState {
  dateRange: 'today' | '7d' | '30d' | '90d' | 'custom';
  storeId: string;
  category: string;
  paymentMethod: string;
  salesChannel: string;
}

export interface MetricCardData {
  title: string;
  value: string;
  change: string;
  trendDirection: 'up' | 'down' | 'neutral';
  subtitle?: string;
}

export interface FunnelStage {
  stage: string;
  count: number;
  label: string;
  conversionRate: string;
  color: string;
}

export interface PaymentBreakdownItem {
  method: string;
  amount: string;
  percentage: number;
  color: string;
}

export interface TopProductRow {
  id: string;
  name: string;
  category: string;
  unitsSold: number;
  revenue: string;
  growth: string;
  growthDirection: 'up' | 'down';
  stockCount: number;
  stockStatus: 'in_stock' | 'low_stock' | 'out_of_stock';
}

export interface HeatmapCell {
  day: string;
  hour: string;
  value: number; // intensity 0 - 100
}

export interface ForecastDataPoint {
  date: string;
  actual?: number;
  forecast: number;
  lowerBound?: number;
  upperBound?: number;
}

export interface BusinessAlert {
  id: string;
  type: 'low_stock' | 'revenue_drop' | 'refund_spike' | 'best_seller' | 'promotion_opportunity';
  title: string;
  description: string;
  actionText: string;
  severity: 'critical' | 'warning' | 'info' | 'success';
}

export interface OperationalFlowStep {
  step: string;
  label: string;
  detail: string;
  iconName: string;
}
