<!-- source-hash: 1754841051963277ce521529caafa5dc -->
Defines TypeScript interfaces and types for the vendor management system, including vendor entities, features, comparisons, and related data structures.

## Key Components

**Core Entities:**
- `Vendor` - Complete vendor interface with relations to media, pricing, GitHub data, and classifications
- `VendorMedia` - Media assets (logos, images, videos) associated with vendors
- `VendorPricing`, `VendorGithub`, `VendorClassification` - Additional vendor metadata

**Feature System:**
- `SubcategoryFeature` - Feature definitions with importance levels
- `VendorFeatureValue` - Vendor-specific feature implementations
- `EnhancedVendorFeature`, `DetailedVendorFeature` - Enriched feature data for UI display

**Comparison & Analysis:**
- `VendorForComparison` - Alias for full vendor comparison data
- `RelatedVendorFeature` - Feature-based vendor comparisons
- `CategoryWithFeatures` - Hierarchical category/subcategory/feature structure

**Utility Types:**
- `VendorSearchResult` - Lightweight vendor data for search results
- `ProsConsItem`, `VendorProsCons` - Vendor advantages/disadvantages

## Usage Example

```typescript
// Creating a vendor with features
const vendor: Vendor = {
  id: 1,
  title: "Example Vendor",
  slug: "example-vendor",
  description: "A sample vendor",
  vendor_media: [{
    media_type: 'logo',
    media_url: 'https://example.com/logo.png'
  }],
  selection_source: 'manual'
  // ... other required fields
};

// Feature comparison
const feature: RelatedVendorFeature = {
  featureId: "auth-sso",
  featureName: "Single Sign-On",
  importance: "Critical",
  currentVendorHasFeature: true,
  comparisonType: "advantage",
  vendorsWithFeature: [],
  vendorsWithoutFeature: []
};
```