import { HttpBackend, HttpClient } from '@angular/common/http';
import { LoggingInterceptor } from './logging.interceptor';
import { RequestHeadersInterceptor } from './request.headers.interceptor';
import { ResponseNormalizationInterceptor } from './response.normalization.interceptor';
import * as i0 from "@angular/core";
/**
 * This is a specialist subclass of HttpClient.  The HttpClient that is defined/imported
 * by HttpClientModule is a singleton from the container, meaning that all extensions would
 * get the same one.  We sub-class it so that each extension gets their own instance.
 * Extension consumers should inject this.
 * @see HttpClient
 */
export declare class VcdHttpClient extends HttpClient {
    /**
     * Provide access to the logging interceptor for enabling/disabling and configuring.
     */
    readonly loggingInterceptor: LoggingInterceptor;
    /**
     * Provide access to the headers interceptor for enabling/disabling and configuring.
     */
    readonly requestHeadersInterceptor: RequestHeadersInterceptor;
    /**
     * Create an HttpClient with the logging and header interceptors in the chain.
     * @param httpBackend backend (likely injected from HttpClientModule)
     * @param hateoasHeaderInterceptor the hateoas header interceptor
     * @param loggingInterceptor the logging interceptor
     * @param requestHeadersInterceptor the request header interceptor
     */
    constructor(httpBackend: HttpBackend, loggingInterceptor: LoggingInterceptor, requestHeadersInterceptor: RequestHeadersInterceptor, responseNormalizationInterceptor: ResponseNormalizationInterceptor);
    static ɵfac: i0.ɵɵFactoryDeclaration<VcdHttpClient, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<VcdHttpClient>;
}
