export type Tier = 'free' | 'basic' | 'premium' | 'enterprise';

export interface User {
  id: string;
  email: string;
  firstName?: string;
  lastName?: string;
  tier: Tier;
  createdAt: string;
}

export interface Exposure {
  id: string;
  source: string;
  data: string;
  severity: 'low' | 'medium' | 'high' | 'critical';
  discoveredAt: string;
  isResolved: boolean;
}

export interface SpamRecord {
  id: string;
  type: 'call' | 'text';
  phoneNumber: string;
  timestamp: string;
  isBlocked: boolean;
  spamScore: number;
}

export interface WatchListItem {
  id: string;
  name: string;
  entityType: 'person' | 'email' | 'phone' | 'address';
  value: string;
  alertEnabled: boolean;
  lastChecked: string;
}

export interface VoiceProfile {
  id: string;
  name: string;
  relationship: string;
  enrolledAt: string;
  confidence: number;
}

export interface VoiceAnalysis {
  id: string;
  profileId: string;
  isMatch: boolean;
  confidence: number;
  timestamp: string;
}

export interface NotificationPreference {
  emailNotifications: boolean;
  pushNotifications: boolean;
  darkwatchAlert: boolean;
  spamBlocked: boolean;
  voiceprintAnalysis: boolean;
}

export interface DashboardData {
  exposureSummary: {
    total: number;
    unresolved: number;
    critical: number;
  };
  spamStats: {
    blockedToday: number;
    blockedTotal: number;
    spamScore: number;
  };
  voiceProtectionStatus: {
    isMonitoring: boolean;
    profilesEnrolled: number;
    lastAnalysis: string;
  };
}
