import { AxiosRequestConfig, AxiosResponse } from 'axios'; import type { ClientOptions } from './APIClient'; export declare type Omit = Pick>; export declare type AxiosResponseWithoutData = Omit, 'data'> & T; export interface AxiosConfigWithData extends AxiosRequestConfig { data?: T; } export declare type RequestInjectorFn = (baseConfig: AxiosConfigWithData) => AxiosConfigWithData | Promise>; export declare type ResponseInjectorFn = (response: AxiosResponseWithoutData) => AxiosResponseWithoutData | Promise>; export declare class RequestService { private readonly config; constructor(config: ClientOptions); delete(url: string, options?: AxiosConfigWithData): Promise; get(url: string, options?: AxiosConfigWithData): Promise; head(url: string, options?: AxiosConfigWithData): Promise; options(url: string, options?: AxiosConfigWithData): Promise; patch(url: string, options?: AxiosConfigWithData): Promise; post(url: string, options?: AxiosConfigWithData): Promise; put(url: string, options?: AxiosConfigWithData): Promise; removeRequestInjector(): void; request(config: AxiosConfigWithData): Promise>; setApiUrl(apiUrl: string): void; setRequestInjector(requestInjector: RequestInjectorFn): void; private injectConfig; }