import { Headers, Http, Response } from '@angular/http'; import { Observable } from 'rxjs/Observable'; import { ErrorObservable } from 'rxjs/observable/ErrorObservable'; import 'rxjs/add/operator/map'; import 'rxjs/add/operator/catch'; import 'rxjs/add/observable/throw'; import { JsonApiModel } from '../models/json-api.model'; import { JsonApiQueryData } from '../models/json-api-query-data'; export declare type ModelType = { new (datastore: JsonApiDatastore, data: any): T; }; export declare class JsonApiDatastore { private http; private _headers; private _store; constructor(http: Http); /** @deprecated - use findAll method to take all models **/ query(modelType: ModelType, params?: any, headers?: Headers): Observable; findAll(modelType: ModelType, params?: any, headers?: Headers): Observable>; findRecord(modelType: ModelType, id: string, params?: any, headers?: Headers): Observable; createRecord(modelType: ModelType, data?: any): T; private getDirtyAttributes(attributesMetadata); saveRecord(attributesMetadata: any, model?: T, params?: any, headers?: Headers): Observable; deleteRecord(modelType: ModelType, id: string, headers?: Headers): Observable; peekRecord(modelType: ModelType, id: string): T; peekAll(modelType: ModelType): T[]; headers: Headers; private buildUrl(modelType, params?, id?); private getRelationships(data); private isValidToManyRelation(objects); private buildSingleRelationshipData(model); private extractQueryData(res, modelType, withMeta?); private extractRecordData(res, modelType, model?); protected handleError(error: any): ErrorObservable; protected parseMeta(body: any, modelType: ModelType): any; private getOptions(customHeaders?); private toQueryString(params); addToStore(modelOrModels: JsonApiModel | JsonApiModel[]): void; private resetMetadataAttributes(res, attributesMetadata, modelType); private updateRelationships(model, relationships); }