export interface KpiCardModel {
  title: string;
  value: number | string;
  change?: number;
  changeType?: 'positive' | 'negative' | 'neutral';
  icon: string;
  color: string;
  format?: 'currency' | 'number' | 'percentage';
  currency?: string;
}

export interface PaymentChartData {
  period: string;
  successful: number;
  failed: number;
  pending: number;
  revenue: number;
}

export interface SubscriptionStatsModel {
  total: number;
  active: number;
  trial: number;
  cancelled: number;
  expired: number;
  growthRate: number;
}

export interface Alert {
  id: string;
  type: 'error' | 'warning' | 'info' | 'success';
  title: string;
  message: string;
  timestamp: Date;
  acknowledged: boolean;
  priority: 'low' | 'medium' | 'high';
  action?: {
    label: string;
    route?: string;
    action?: () => void;
  };
}

export interface DcbDashboardData {
  kpis: KpiCardModel[];
  paymentChart: PaymentChartData[];
  subscriptionStats: SubscriptionStatsModel;
  alerts: Alert[];
  lastUpdated: Date;
}