export interface PlanFeature {
  id: number;
  name: string;
  type: string;
  limit: number | null;
}

export interface SubscriptionPlan {
  id: number;
  name: string;
  display_name: string;
  display_name_fr: string | null;
  display_name_en: string | null;
  description: string | null;
  description_fr: string | null;
  description_en: string | null;
  original_price: number;
  discounted_price: number | null;
  discount_percentage: number | null;
  billing_frequency: string;
  is_active: boolean;
  is_popular: boolean;
  unlimited: boolean;
  display_order: number | null;
  price_id: string | null;
  companies_count: number;
  features: PlanFeature[];
}

export interface CreatePlanPayload {
  name: string;
  display_name: string;
  display_name_fr?: string;
  display_name_en?: string;
  description?: string;
  original_price: number;
  discounted_price?: number;
  discount_percentage?: number;
  billing_frequency: string;
  is_active?: boolean;
  is_popular?: boolean;
  unlimited?: boolean;
  display_order?: number;
}

export type UpdatePlanPayload = Partial<CreatePlanPayload>;
