export type SendOtpRequest = {
  email: string;
};

export type SendOtpResponse = {
  success?: boolean;
  message?: string;
};

export type VerifyOtpRequest = {
  email: string;
  otp: string;
};

export type ApiUser = {
  id?: number | string;
  Name?: string;
  Email?: string;
  // tolerate lowercase variants if the backend ever changes shape
  name?: string;
  email?: string;
  [key: string]: unknown;
};

export type AcfImage = {
  ID?: number;
  url?: string;
  alt?: string;
  width?: number;
  height?: number;
};

export type Package = {
  id: number;
  name: string;
  slug: string;
  count?: number;
  link?: string;
  acf?: {
    hide?: boolean;
    order?: string | number;
    packages_name?: string;
    lego_long?: AcfImage | false;
    package_logo?: AcfImage | false;
    package_desktop_background?: AcfImage | false;
    package_mobile_background?: AcfImage | false;
  };
};

export type VerifyOtpResponse = {
  success?: boolean;
  message?: string;
  token?: string;
  user?: ApiUser;
};
