import { ApiCall } from './api.model';
import { Observable } from 'rxjs';
import { FetchClient, IFetchResponse } from '@c8y/client';
import { HttpHandler, HttpInterceptor } from './interceptor.model';
export declare class HttpInterceptHandler extends HttpHandler {
    protected interceptor: HttpInterceptor;
    protected nextHandler: HttpHandler;
    constructor(interceptor: HttpInterceptor, nextHandler: HttpHandler);
    handle(req: ApiCall): Observable<IFetchResponse>;
}
export interface RequestStartAndFinish {
    onStart(req: ApiCall): void;
    onFinish(res: ApiCall): void;
}
export declare class HttpRequestHandler extends HttpHandler {
    protected fetch: FetchClient['fetch'];
    protected apiService?: RequestStartAndFinish;
    constructor(fetch: FetchClient['fetch'], apiService?: RequestStartAndFinish);
    handle(req: ApiCall): Observable<IFetchResponse>;
}
//# sourceMappingURL=http-handler.model.d.ts.map