export interface IBaseResponse {
  status: number;
  success: boolean;
}
export interface IResponse<T> extends IBaseResponse {
  data: T;
}

export interface ICategory {
  _id: string;
  title_fa: string;
  title_en: string;
  icon: string;
  imageUrl: string;
  description: string;
  variants: number[];
  hierarchy: string[];
  leaf: boolean;
  parent: string | null;
  deleted: boolean;
  createdAt: string;
  updatedAt: string;
  url: string;
  children: ICategory[];
  theme?: string;
}

export interface IBrand {
  _id: string;
  title_fa: string;
  title_en: string;
  category: ICategory;
  status: string;
  description: string;
  logoUrl: string;
  images: string[];
  deleted: boolean;
  createdAt: string;
  updatedAt: string;
  url: string;
}

export interface IBrandResponse extends IBaseResponse {
  results: {
    data: {
      brand: IBrand;
    };
  };
}
