import { Http } from '@angular/http';
import { Response } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import { ApiOptions } from '../models/api-options.model';
import { ReactionMapper } from '../mappers/reaction.mapper';
import { HttpHeaderBuilder } from '../http/http-header-builder';
import { HttpBodyBuilder } from '../http/http-body-builder';
import { HttpUrlBuilder } from '../http/http-url-builder';
import { SessionPublisher } from '../../pubsub/publishers/session.publisher';
import { StatePublisher } from '../../pubsub/publishers/state.publisher';
export declare class HttpRequester {
    private http;
    private headerBuilder;
    private bodyBuilder;
    private urlBuilder;
    private reactionMapper;
    private statePublisher;
    private sessionPublisher;
    constructor(http: Http, headerBuilder: HttpHeaderBuilder, bodyBuilder: HttpBodyBuilder, urlBuilder: HttpUrlBuilder, reactionMapper: ReactionMapper, statePublisher: StatePublisher, sessionPublisher: SessionPublisher);
    get(route: string, options?: ApiOptions): Observable<Response>;
    delete(route: string, options?: ApiOptions): Observable<Response>;
    post(route: string, params: any, options?: ApiOptions): Observable<Response>;
    put(route: string, params: any, options?: ApiOptions): Observable<Response>;
    private handleResponse(response, options, observer, method, route);
    private handleError(error, options, observer, method, route);
}
