import { Init } from "v8";
import { ReactNode } from "react";
export interface siteProps {
  id: string;
  label?: ReactNode;
  type?:
    | "submit"
    | "reset"
    | "button"
    | "text"
    | "date"
    | "number"
    | "file"
    | "email"
    | "password"
    | undefined;
  name?: string;
  require?: boolean;
  country_id?: string;
  placeholder?: string;
  description?: string;
  color?: string;
  href?: string;
  size?: string;
  weight?: string;
  icon?: string;
  hairline?: string;
  title?: string;
  subtitle?: string;
  status?: string;
  price?: string;
  image?: string;
  hoverImg?: string;
  colorVariants?: string;
  defaultChecked?: true;
  checked?: boolean;
  value?: string;
  onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
}

export interface DefaultInputProps {
  id: string;
  type?:
    | "submit"
    | "reset"
    | "button"
    | "text"
    | "date"
    | "number"
    | "email"
    | "password"
    | undefined;
  label: string;
  require?: boolean;
  placeholder: string;
}

export interface InputNumberProps {
  id: string;
  min?: number;
  max?: number;
  label: string;
  require?: boolean;
  placeholder: string;
  value?:number;
  onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
}

export interface productProps {
  title: string;
  image: string;
  hoverImg:string;
  price: number;
  url: string;
  designHouse: string;
  pid: string;
  showLikeBtn: boolean;
  hideDesignHouse?: boolean;
  wishType?: string;
  priority?: boolean;
}

export interface checkbox {
  id: string;
  label: string;
}

export interface btnType {
  id?: string;
  label?: string;
  color?: string;
  hairline?: string;
  type?: "submit" | "reset" | "button" | undefined;
  colorVariants?: string | undefined;
  disabled?:boolean;

}

export interface linkBtn {
  id?: string;
  label?: string;
  href?: string;
  color?: string;
  hairline?: string;
}

export interface textLink {
  href: string;
  label: string;
  color: string;
}

export interface onboardingTabs {
  id: string;
  title: string;
  subtitle: string;
  status: string;
}
export interface radioDual {
  id: string;
  name: string;
  label: string;
  description: string;
  onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
}

export interface textlinkProps {
  id: string;
  href: string;
  label: string;
  color: string;
}

export interface btnlinkProps {
  id: string;
  href: string;
  label: string;
  color: string;
  target?:boolean;
}

export interface socialBtnProps {
  id: string;
  type?: "submit" | "reset" | "button" | undefined;
  color: string;
  label: string;
  icon: string;
  onClick?: () => void;
}

export interface pdpInfo {
  vibes: any;
  product_description:any,
  fabric:any,
  technique:any,
  care:any,
  artworks:any
  hoverImage:any, // Add hoverImage prop
  designHouseProfile: any; // Add designHouseProfile prop
  coCreatorProfile: any; // Add coCreatorProfile prop
}

export interface pdpBreadcrumbProps {
  category?: any;
  sub_category?:any,
}

export interface pdpSize {
  psize?: any;
}


export interface pdpGalleryImage {
  gallery_image: any;

}


interface SilhouetteInterface {
  id: string;
  image: string;
  title: string;
  label: string;
  varPrice?: number;
  price?: number;
  silhouette_id: string;
  image_path?: string;
}