import { Injector } from '@angular/core';
import { Headers, Http, RequestOptionsArgs, Response } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import { Subject } from 'rxjs/Subject';
import 'rxjs/add/operator/publish';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/switchMap';
import 'rxjs/add/operator/catch';
import { NgaAuthService } from './auth.service';
export declare class NgaSecuredHttp {
    private injector;
    private http;
    protected onErrorSubject: Subject<any>;
    constructor(injector: Injector, http: Http);
    get(url: string, options?: RequestOptionsArgs): Observable<Response>;
    post(url: string, body: any, options?: RequestOptionsArgs): Observable<Response>;
    put(url: string, body: any, options?: RequestOptionsArgs): Observable<Response>;
    delete(url: string, options?: RequestOptionsArgs): Observable<Response>;
    onRequestError(): Observable<any>;
    protected prepareOptions(options?: RequestOptionsArgs): Observable<RequestOptionsArgs>;
    protected doRequest(requestObservable: Observable<Response>): Observable<Response>;
    protected addAuthTokenHeader(headers: Headers, token: string): void;
    protected readonly authService: NgaAuthService;
}
