import { NormalizedCampaignInsight } from '../../meta-ads/interfaces/campaign-insight.interface';

/**
 * Ad Platform Adapter Interface
 * واجهة محول منصة الإعلانات
 * 
 * Defines the contract that every ad platform (Meta, TikTok, Google) must implement.
 * تحدد العقد الذي يجب أن تنفذه كل منصة إعلانية (ميتا، تيك توك، جوجل).
 */
export interface IAdPlatformAdapter {
  /**
   * Fetch insights from the platform
   * جلب التحليلات من المنصة
   */
  fetchInsights(params: any): Promise<NormalizedCampaignInsight[]>;

  /**
   * Get available ad accounts
   * جلب حسابات الإعلانات المتاحة
   */
  getAdAccounts(accessToken: string): Promise<any[]>;

  /**
   * Platform name (e.g., 'meta', 'tiktok', 'google')
   * اسم المنصة
   */
  readonly platformName: string;
}
