export interface TargetFormType {
  userSegment?: string[];
  membershipType: string[];
  /**
   * Convenience grouping over `country` — kept in the criteria only so the
   * selection survives duplicating a campaign. The backend ignores it and
   * filters on `country` alone.
   */
  region?: string[];
  country: string[];
  city: string[];
  members: string[];
  onlyWithValidVersion?: boolean;
  membershipStatus?: string[];
}

export interface ScheduleFormType {
  notificationType: "Now" | "Scheduled" | "Daily";
  scheduleDate: string | null;
  scheduleTime: string;
  timeZone: string;
  notificationInterval: number;
  startDate: string | null;
  endDate: string | null;
  batchSize?: number;
}

export interface NotificationFormType {
  title: string;
  name: string;
  text: string;
  image?: string | null;
}

export interface AdditionalOptionsFormType {
  customData?: {
    key: string;
    value: string;
  }[];
  persist: boolean;
  apply_block_list: boolean;
  apply_default_email: boolean;
}

