import { Observable } from 'rxjs/Observable';
import { Http } from '@angular/http';
import { CoreoTokenContext, CoreoAuthToken } from './token-context';
import { CoreoConfig } from './config';
export interface CoreoClientRequestOptions {
    url?: string;
    method?: string;
    headers?: any;
    body?: string | FormData | null;
    authentication?: CoreoAuthToken | false;
}
export declare class CoreoClient {
    private http;
    private config;
    private tokenContext;
    constructor(http: Http, config: CoreoConfig, tokenContext: CoreoTokenContext);
    getAuthorizationHeader(token: CoreoAuthToken): string;
    post(path: string, body?: FormData | any, options?: CoreoClientRequestOptions): Observable<any>;
    request(path: string, options?: CoreoClientRequestOptions): Observable<any>;
    private handleError(error);
}
export default CoreoClient;
