export interface Matter {
  id: string
  reference: string
  client: string
  practiceArea: 'civil_litigation' | 'immigration' | 'corporate' | 'property' | 'family' | 'employment'
  nextAction: string
  nextActionDate: string
  nextActionType: 'hearing' | 'filing' | 'deadline' | 'review'
  status: 'active' | 'pending' | 'closing'
}

export interface Hearing {
  id: string
  matterId: string
  matter: string
  client: string
  court: string
  room?: string
  judge?: string
  date: string
  time: string
  status: 'confirmed' | 'pending' | 'adjourned'
}

export interface Alert {
  id: string
  severity: 'urgent' | 'warning' | 'info'
  type: 'deadline' | 'retainer_low' | 'response_required' | 'hearing_soon' | 'document_received'
  matter: string
  client: string
  message: string
  daysUntil?: number
}

export interface AgentActivity {
  id: string
  activityType?: 'document' | 'billing' | 'comms' | 'research' | 'analysis' | 'check' | 'calendar'
  agent?: string
  action: string
  matter?: string
  timestamp: string
  color: 'primary' | 'success' | 'info' | 'warning' | 'error' | 'secondary'
}

export interface RetainerAlert {
  client: string
  balance: number
  currency: string
  threshold: number
}

export interface Appointment {
  id: string
  matterId: string
  client: string
  title: string
  type: 'consultation' | 'meeting' | 'call' | 'signing'
  date: string
  time: string
  location?: string
  notes?: string
}

export interface DashboardStats {
  activeMatters: number
  hearingsThisWeek: number
  unbilledHours: number
  monthlyRevenue: number
  currency: string
}
