import { DefaultError } from "@tanstack/react-query";
import { IBaseResponse } from "./response.types";

// ساختار جدید خطا بر اساس نمونه کاربر
interface IErrorDetails {
  message: string;
  details: string[];
}

export interface IErrorResponse extends IBaseResponse {
  error: IErrorDetails;
}

// Type برای خطاهای API
export interface IApiErrorResponse extends DefaultError {
  response?: {
    data: IErrorResponse;
  };
}

// Type عمومی برای خطاها
export interface IGeneralError {
  status: number;
  success: boolean;
  error: {
    message: string;
    details: string[];
  };
}

// Type برای خطاهای React Query
export interface IQueryError {
  response?: {
    data: IGeneralError;
  };
}
