/**
 * Mock User type - in production, this would come from your data layer
 * For prototyping, we just need a way to represent user data
 */
export interface User {
  /** User's full name for display */
  name?: string
  /** URL to user's profile photo */
  photoUrl?: string
  /** User's initials for fallback display */
  initials?: string
}

export interface UserImageProps {
  /** Discriminator to identify this as a user image */
  imageType: 'user'
  /** The user whose profile photo will be shown */
  user?: User
  /** Alternate text for accessibility and screen readers */
  altText?: string
  /** Optional caption text for mouseover (tooltip) */
  caption?: string
  /** Link behavior when image is clicked */
  link?: () => void
  /** Controls visibility of the image */
  showWhen?: boolean
  /** Background color for the initials fallback. Accepts SAIL color tokens (e.g. "ACCENT", "TEAL_200") or hex strings (e.g. "#4A90D9") */
  backgroundColor?: string
}

/**
 * User image interface for use within ImageField
 * Maps to SAIL's a!userImage() function
 *
 * This is not a React component - it's a data structure
 * that gets processed by ImageField for rendering with Radix Avatar
 *
 */
