import type { IStringifyOptions } from 'qs'; export interface FetcherOptions extends Omit { url: string; queryParams?: TQueryParams extends never ? undefined : TQueryParams; body?: TBody extends never ? undefined : TBody; stringifyQueryParamsOptions?: IStringifyOptions; headers?: THeaderParams; } export interface ClientCallbacks { responseInterceptor?: (response: Response) => Response; requestInterceptor?: (request: Request) => Request; urlInterceptor?: (url: string) => string; getRequestHeaders?: () => Record; } export declare function setupClient(callbacks: ClientCallbacks): void; export declare const updateClientHeaders: (headers: Record) => void; export declare function fetcher(options: FetcherOptions): Promise;