/**
 * @ai-summary User profile types for settings feature
 */

export type SubscriptionTier = 'free' | 'pro' | 'enterprise';

export interface UserProfile {
  id: string;
  auth0Sub: string;
  email: string;
  displayName?: string;
  notificationEmail?: string;
  subscriptionTier: SubscriptionTier;
  createdAt: string;
  updatedAt: string;
}

export interface UpdateProfileRequest {
  displayName?: string;
  notificationEmail?: string;
}

export interface DeletionStatus {
  isPendingDeletion: boolean;
  deletionRequestedAt: string | null;
  deletionScheduledFor: string | null;
  daysRemaining: number | null;
}

export interface RequestDeletionRequest {
  confirmationText: string;
}

export interface RequestDeletionResponse {
  message: string;
  deletionScheduledFor: string;
  daysRemaining: number;
}

export interface CancelDeletionResponse {
  message: string;
  profile: UserProfile;
}
