import { Http, RequestOptionsArgs, Response } from '@angular/http';
import { CookieService } from 'ngx-cookie-service';
import { Observable } from 'rxjs';
import { HttpErrorService } from './http-error.service';
export declare class HttpService {
    private http;
    private httpErrorService;
    private cookieService;
    private static readonly COOKIE_ACCESS_TOKEN;
    private static readonly HEADER_AUTHORIZATION;
    private static readonly HEADER_ACCEPT;
    private static readonly HEADER_CONTENT_TYPE;
    constructor(http: Http, httpErrorService: HttpErrorService, cookieService: CookieService);
    /**
     *
     * @param url Url resolved using UrlResolverService
     * @param options
     * @returns {Observable<Response>}
     * @see UrlResolverService
     */
    get(url: string, options?: RequestOptionsArgs, redirectIfNotAuthorised?: boolean): Observable<Response>;
    /**
     *
     * @param url Url resolved using UrlResolverService
     * @param body
     * @param options
     * @returns {Observable<Response>}
     * @see UrlResolverService
     */
    post(url: string, body: any, options?: RequestOptionsArgs, redirectIfNotAuthorised?: boolean): Observable<Response>;
    /**
     *
     * @param url Url resolved using UrlResolverService
     * @param body
     * @param options
     * @returns {Observable<Response>}
     * @see UrlResolverService
     */
    put(url: string, body: any, options?: RequestOptionsArgs): Observable<Response>;
    /**
     *
     * @param url Url resolved using UrlResolverService
     * @param options
     * @returns {Observable<Response>}
     * @see UrlResolverService
     */
    delete(url: string, options?: RequestOptionsArgs): Observable<Response>;
    private sanitiseOptions;
    private sanitiseHeaders;
    /**
     * Catch HTTP 401 errors and attempt to transparently refresh the access token
     * and retry the API call.
     */
    private refreshAccessTokenAndRetry;
    /**
     * Apply uniform error handling process to all API calls.
     */
    private handleError;
}
