/**
 * Consent SDK Types — Vendor definitions
 */

import type { ConsentCategory } from './core';

// =============================================================================
// Vendor Configuration
// =============================================================================

/**
 * Cookie-Information
 */
export interface CookieInfo {
  /** Cookie-Name */
  name: string;

  /** Cookie-Domain */
  domain: string;

  /** Ablaufzeit (z.B. "2 Jahre", "Session") */
  expiration: string;

  /** Speichertyp */
  type: 'http' | 'localStorage' | 'sessionStorage' | 'indexedDB';

  /** Beschreibung */
  description: string;
}

/**
 * Vendor-Definition
 */
export interface ConsentVendor {
  /** Eindeutige Vendor-ID */
  id: string;

  /** Anzeigename */
  name: string;

  /** Kategorie */
  category: ConsentCategory;

  /** IAB TCF Purposes (falls relevant) */
  purposes?: number[];

  /** Legitimate Interests */
  legitimateInterests?: number[];

  /** Cookie-Liste */
  cookies: CookieInfo[];

  /** Link zur Datenschutzerklaerung */
  privacyPolicyUrl: string;

  /** Datenaufbewahrung */
  dataRetention?: string;

  /** Datentransfer (z.B. "USA (EU-US DPF)", "EU") */
  dataTransfer?: string;
}
