import { Observable } from 'rxjs'; import { AjaxResponse, AjaxRequest } from 'rxjs/ajax'; export interface AjaxClientResponse extends AjaxResponse { response: T; } export interface AjaxClientRequest extends AjaxRequest { body: T; } export declare type RequestInterceptor = (options: Partial>) => Partial>; export declare type ResponseInterceptor = (response: AjaxClientResponse) => AjaxClientResponse; export interface Interceptors { request: RequestInterceptor[]; response: ResponseInterceptor[]; } export interface AjaxClientOptions { baseUrl: string; } export declare class AjaxClient { ajaxInstance: import("rxjs/internal/observable/dom/AjaxObservable").AjaxCreationMethod; interceptors: Interceptors; constructor(options?: Partial); get(url: string, options?: Partial>): Observable>; post(url: string, body: Y, options?: Partial>): Observable>; put(url: string, body: Y, options?: Partial>): Observable>; patch(url: string, body: Y, options?: Partial>): Observable>; delete(url: string, options?: Partial>): Observable>; request(options: Partial>): Observable>; private interceptResponse; private interceptRequest; }