import { FetchClientOptions, FetchRequestOptions, HttpResponse } from './types'; export declare class FetchClient { private readonly options; constructor(options?: FetchClientOptions); fetch(url: string, options?: FetchRequestOptions): Promise; request(url: string, options?: FetchRequestOptions): Promise>; /** * Merges the three header layers, later ones replacing earlier ones. * * Deliberately not an object spread into `new Headers()`: header names are * case-insensitive, but object keys are not, so `Authorization` and `authorization` would * both survive the spread — and a record init is applied with `append`, which joins the * two into `Bearer stale, Bearer fresh` instead of overriding. `set()` per entry is * case-insensitive and replaces, which is what a layered merge means. */ private buildHeaders; private buildBody; private buildError; private readBodySafely; private readBody; private appendParams; private resolveUrl; }