/**
 * DTO for updating a single user preference.
 */
export interface UpdateUserPreferenceDto {
  value: any;
}

/**
 * Single preference item for bulk operations.
 */
export interface PreferenceItem {
  key: string;
  value: any;
}

/**
 * DTO for bulk updating user preferences.
 * Supports updating multiple preferences in a single request.
 */
export interface BulkUpdateUserPreferencesDto {
  preferences: PreferenceItem[];
}

/**
 * DTO for setting all user preferences at once.
 * Typically used for initial preference setup or reset.
 */
export interface SetUserPreferencesDto {
  theme?: 'light' | 'dark' | 'system';
  language?: string;
  dateFormat?: string;
  numberFormat?: string;
  notificationsEmail?: boolean;
  notificationsPush?: boolean;
  notificationsInApp?: boolean;
}
