export type RequestHeaders = Record; export type RequestOptions = { params?: Record; headers?: RequestHeaders; }; export type ResponseHeaderValue = string | string[]; export type ResponseHeaders = Record; export interface HttpClientInterface { getClientName: () => string; get(path: string, options: RequestOptions): any; post(path: string, entity: Entity, options: RequestOptions): any; put(path: string, entity: Entity, options: RequestOptions): any; delete(path: string, options: RequestOptions): any; } export interface HttpClientResponseInterface { getStatusCode: () => number; getHeaders: () => ResponseHeaders; getRawResponse: () => unknown; toJSON: () => Promise | null; }