import { ClassProvider } from '@angular/core';
import { HttpInterceptor, HttpEvent, HttpHandler, HttpRequest } from '@angular/common/http';
import { Observable } from 'rxjs';
import { AvroAdapterInterceptorOptions } from './avroAdapter.options';
import { AvroAdapterSchemaProvider } from '../../services/avroAdapterSchemaProvider/avroAdapterSchemaProvider.interface';
import * as i0 from "@angular/core";
/**
 * Interceptor that will enable usage of AVRO for request and response data streams (binary format)
 */
export declare class AvroAdapterInterceptor implements HttpInterceptor {
    private _options;
    private _schemaProvider;
    constructor(_options: AvroAdapterInterceptorOptions, _schemaProvider: AvroAdapterSchemaProvider);
    /**
     * Intercepts http request
     * @param req - Request to be intercepted
     * @param next - Next middleware that can be called for next processing
     */
    intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<AvroAdapterInterceptor, [{ optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AvroAdapterInterceptor>;
}
/**
 * Provider for proper use of AvroAdapterInterceptor, use this provider to inject this interceptor
 */
export declare const AVRO_ADAPTER_INTERCEPTOR_PROVIDER: ClassProvider;
//# sourceMappingURL=avroAdapter.interceptor.d.ts.map