import { HttpClient, HttpHeaders, HttpResponse } from '@angular/common/http'; import { Observable } from 'rxjs'; import { JsonApiModel } from '../models/json-api.model'; import { JsonApiQueryData } from '../models/json-api-query-data'; import { DatastoreConfig } from '../interfaces/datastore-config.interface'; import 'reflect-metadata'; export declare type ModelType = new (datastore: JsonApiDatastore, data: any) => T; export declare class JsonApiDatastore { protected http: HttpClient; protected config: DatastoreConfig; private globalHeaders; private globalRequestOptions; private internalStore; private toQueryString; constructor(http: HttpClient); headers: HttpHeaders; requestOptions: object; readonly datastoreConfig: DatastoreConfig; private readonly getDirtyAttributes; private static getDirtyAttributes; /** * @deprecated use findAll method to take all models */ query(modelType: ModelType, params?: any, headers?: HttpHeaders, customUrl?: string): Observable; findAll(modelType: ModelType, params?: any, headers?: HttpHeaders, customUrl?: string): Observable>; findRecord(modelType: ModelType, id: string, params?: any, headers?: HttpHeaders, customUrl?: string): Observable; createRecord(modelType: ModelType, data?: any): T; saveRecord(attributesMetadata: any, model: T, params?: any, headers?: HttpHeaders, customUrl?: string): Observable; deleteRecord(modelType: ModelType, id: string, headers?: HttpHeaders, customUrl?: string): Observable; peekRecord(modelType: ModelType, id: string): T | null; peekAll(modelType: ModelType): Array; deserializeModel(modelType: ModelType, data: any): T; addToStore(modelOrModels: JsonApiModel | JsonApiModel[]): void; transformSerializedNamesToPropertyNames(modelType: ModelType, attributes: any): any; protected buildUrl(modelType: ModelType, params?: any, id?: string, customUrl?: string): string; protected getRelationships(data: any): any; protected isValidToManyRelation(objects: Array): boolean; protected buildSingleRelationshipData(model: JsonApiModel): any; protected extractQueryData(response: HttpResponse, modelType: ModelType, withMeta?: boolean): Array | JsonApiQueryData; protected extractRecordData(res: HttpResponse, modelType: ModelType, model?: T): T; protected handleError(error: any): Observable; protected parseMeta(body: any, modelType: ModelType): any; /** * @deprecated use buildHttpHeaders method to build request headers */ protected getOptions(customHeaders?: HttpHeaders): any; protected buildHttpHeaders(customHeaders?: HttpHeaders): HttpHeaders; protected resetMetadataAttributes(res: T, attributesMetadata: any, modelType: ModelType): T; protected updateRelationships(model: T, relationships: any): T; protected getModelPropertyNames(model: JsonApiModel): any; private buildRequestOptions; private _toQueryString; }