export type RequestBody =
  | Record<string, unknown>
  | FormData
  | string
  | ArrayBuffer
  | ReadableStream
  | null
  | undefined;

export interface ApiCallOptions {
  method?: "GET" | "POST" | "PUT" | "DELETE" | "PATCH";
  body?: RequestBody;
  headers?: Record<string, string>;
  retryCount?: number;
}

export interface QueuedRequest {
  resolve: (value: any) => void;
  reject: (error: any) => void;
  endpoint: string;
  options: ApiCallOptions;
}
