export interface Filters {
  tags: any[];
  gamas: any[];
  proveedores: any[];
}

export interface PARAMSGrid {
  gap: number;
  rows: number;
  columns: number;
}

export interface PARAMSImage {
  src: string;
  width: number;
  height: number;
}

export interface PARAMSItem {
  icon: null;
  image: ItemImage;
  title: string;
  description: string;
}

export interface ItemImage {
  src: string;
}

export interface ItemsProp {
  path: string[];
  image: string;
  label: string;
  format: string;
}

export interface Rates {
  items: RatesItem[];
  enabled: boolean;
}

export interface RatesItem {
  tag: string;
  type: string;
  percentage: number;
}

export interface Timers {
  ads: Ads;
  grid: ProductClass;
  product: ProductClass;
}

export interface Ads {
  duration: number;
  frequency: number;
}

export interface ProductClass {
  duration: number;
}

export interface ShowcaseRates {
  enabled: boolean;
  items: ShowcaseRateItem[];
} // estos deben sumar 100
export interface ShowcaseRateItem {
  type: 'product' | 'ad';
  tag: string;
  percentage: number; // int de 1 a 100
}

export interface ShowcaseGridParams {
  rows: number;
  columns: number;
  gap: number;
}

export interface ShowcaseTimers {
  grid: {
    duration: number;
  };
  product: {
    duration: number;
  };
  ads: {
    frequency: number; // cada cuantos productos aparece un add;
    duration: number; // cuantos productos dura el add;
  };
}
export interface ShowcaseAd {
  file?: any;
  image: string;
  link: string;
  qr: boolean;
  order: number;
  hidden: boolean;
  // title: string;
  // description: string;
}
