import { Observable } from 'rxjs/Observable'; import { HttpError } from './errors'; import { HttpOptions } from './interfaces'; import { NetworkMonitorService } from './network-monitor.service'; import { HttpClientAdapter } from './http-client-adapter'; import { IonicHttpClient } from './client/ionic-http-client'; import { AngularHttpClient } from './client/angular-http-client'; import 'rxjs/add/observable/fromPromise'; import 'rxjs/add/observable/of'; import 'rxjs/add/observable/throw'; import 'rxjs/add/operator/mergeMap'; import 'rxjs/add/operator/retryWhen'; import 'rxjs/add/operator/take'; import 'rxjs/add/operator/catch'; import 'rxjs/add/operator/delay'; import 'rxjs/add/operator/do'; import 'rxjs/add/operator/timeoutWith'; import { ConfigurationManager } from '../provider/ConfigurationManager'; export declare class HttpClientService extends HttpClientAdapter { private networkMonitor; private adapter; private config; private errors; private defaultTimeout; private defaultRetries; private defaultRetryDelay; constructor(networkMonitor: NetworkMonitorService, adapter: HttpClientAdapter, config: ConfigurationManager); get(url: string, params: { [name: string]: string; }, options?: HttpOptions): Observable; post(url: string, params: { [name: string]: string; }, body: any | null, options?: HttpOptions): Observable; put(url: string, params: { [name: string]: string; }, body: any | null, options?: HttpOptions): Observable; patch(url: string, params: { [name: string]: string; }, body: any | null, options?: HttpOptions): Observable; delete(url: string, params: { [name: string]: string; }, options?: HttpOptions): Observable; getErrors(): Observable; setHttpClientAdapter(adapter: HttpClientAdapter): void; /** * Wraps an observable with retry, timeout and network detection. * * @param observable Observable */ monitor(observable: Observable, options?: HttpOptions): Observable; private throwNetworkError(observable); } export declare function httpClientAdapterFactory(config: ConfigurationManager, angularHttpClient: AngularHttpClient, ionicHttpClient: IonicHttpClient): IonicHttpClient; /** * Provides the correct HttpClientAdapter for the environment */ export declare const HttpClientAdapterInitializer: { provide: typeof HttpClientAdapter; useFactory: (config: ConfigurationManager, angularHttpClient: AngularHttpClient, ionicHttpClient: IonicHttpClient) => IonicHttpClient; deps: (typeof IonicHttpClient | typeof AngularHttpClient | typeof ConfigurationManager)[]; };