import { StaticImageData } from "next/image";
export type content_tag = {
  color: string;
  name: string;
};

export interface SeriesItem {
  series_id: string;
  series_thumbnail: string;
  thumbnail_high_1x1: string;
  title: string;
  tags: string[];
  content_tag: content_tag;
  thumbnail_high_9x16?: string;
  thumbnail_blurhash_9x16?: string;
  thumbnail: string;
  seriesCategories: {
    category: {
      name: string;
    };
  }[];
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
  [key: string]: any;
}

export interface ActionCardProps {
  data: SeriesItem[];
  title: string;
  id: string;
}

interface CarouselItemType {
  id: string;
  src: string | StaticImageData;
  title: string;
  content_tag: content_tag;
  tags?: string[];
  tag?: string;
}

export interface PosterCardProps {
  items: CarouselItemType[];
  id: string;
}

export interface HomeCarousalData {
  [key: string]: SeriesItem[];
}
interface VideoData {
  video_id?: string;
  series_id?: string;
  thumbnail_high_1x1?: string;
  episode_id?: string;
  thumbnail_high_3x4?: string;
  title: string;
  thumbnail_high_9x16?: string;
  thumbnail_high_16x9?: string;
  description: string;
  thumbnail: string;
  tags: string[];
  averageRating: number;
  series?: {
    series_id: string;
    tags: string[];
  };
  duration: string;
  // Include other video properties if needed
}

interface EpisodeData {
  episode_id: string;
  video_id?: string;
  thumbnail_high_1x1?: string;
  thumbnail_high_16x9?: string;
  thumbnail_high_3x4?: string;
  series_id?: string;
  title: string;
  tags?: string[];
  description: string;
  thumbnail: string;
  thumbnail_high_9x16?: string;
  series: {
    series_id: string;
    tags: string[];
  };
  duration: string;
  averageRating?: number;
}

export interface SliderItem {
  id: string;
  type: "video" | "episode" | "image";
  image: string | null;
  video: VideoData | null;
  episode: EpisodeData | null;
}

export interface StreamingHeroHomeProps {
  data: SliderItem[];
}

export interface LanguageList {
  language_id: string;
  name: string;
}

export interface CountryList {
  country_id: string;
  name: string;
}

export interface NavLink {
  title: string;
  href: string;
}
