export interface IClusterClientRequest { url: string; method?: "POST" | "GET" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS"; data?: any; params?: {}; headers?: {}; responseType?: string; timeout?: number; } export interface IClusterClientResponse { data: T; status: number; statusText: string; headers: Headers; } export interface IClusterClientError extends Error { code?: string; request?: IClusterClientRequest; response?: IClusterClientResponse; } export interface IClusterClient { send(request: IClusterClientRequest): Promise>; }