<!-- source-hash: 661cf0270fb8aa4f56310b00437e4b45 -->
TypeScript interface definitions for the OpenMSP profile system, providing type safety for user profiles, vendor interactions, and activity tracking.

## Key Components

**Core Profile Interfaces:**
- `ProfileResponse` - Complete user profile data with authentication provider info
- `ProfileData` - Combined profile data including favorites, comments, and activities
- `ProfileLoadingState` - Loading state management for profile sections

**Vendor & Interaction Interfaces:**
- `VendorInfo` - Detailed vendor/product information with ratings and metadata
- `FavoriteResponse` - User's favorited vendors with timestamps
- `CommentResponse` - User comments on vendors with importance ratings
- `ActivityResponse` - User activity history with metadata

**API Response Interfaces:**
- `FavoritesApiResponse`, `CommentsApiResponse`, `ActivitiesApiResponse` - Paginated API responses

**Component Props:**
- `ProfileHeaderProps`, `FavoriteProductsGridProps`, `CommentCardProps`, etc. - React component prop types

## Usage Example

```typescript
import { ProfileResponse, CommentResponse, ProfileData } from './profile';

// Type-safe profile data handling
const handleProfileData = (data: ProfileData) => {
  const { profile, favorites, comments } = data;
  
  console.log(`${profile.name} has ${favorites.length} favorites`);
  
  // Filter critical comments
  const criticalComments = comments.filter(
    (comment: CommentResponse) => comment.importance === 'Critical'
  );
  
  return criticalComments;
};

// Component props with type safety
const ProfileHeader: React.FC<ProfileHeaderProps> = ({ user, onEditProfile }) => {
  return (
    <div>
      <h1>{user.name}</h1>
      <p>{user.companyName} - {user.jobTitle}</p>
      <button onClick={onEditProfile}>Edit Profile</button>
    </div>
  );
};
```