import { Resource } from './resource'; import { ResourceArray } from './resource-array'; import { Sort } from './sort'; import { SubTypeBuilder } from './subtype-builder'; import { Observable } from 'rxjs/internal/Observable'; import { Injector } from '@angular/core'; export declare type HalParam = { key: string; value: string | number | boolean; }; export declare type HalOptions = { notPaged?: boolean; size?: number; sort?: Sort[]; params?: HalParam[]; }; export declare class RestService { private injector; private type; private resource; resourceArray: ResourceArray; private resourceService; private _embedded; constructor(type: { new (): T; }, resource: string, injector: Injector, _embedded?: string); protected handleError(error: any): Observable; protected static handleError(error: any): Observable; getAll(options?: HalOptions, subType?: SubTypeBuilder): Observable; get(id: any, params?: HalParam[], builder?: SubTypeBuilder): Observable; getBySelfLink(selfLink: string): Observable; search(query: string, options?: HalOptions, subType?: SubTypeBuilder): Observable; searchSingle(query: string, options?: HalOptions): Observable; customQuery(query: string, options?: HalOptions, subType?: SubTypeBuilder): Observable; customQueryPost(query: string, options?: HalOptions, body?: any, subType?: SubTypeBuilder): Observable; getByRelationArray(relation: string, builder?: SubTypeBuilder): Observable; getByRelation(relation: string): Observable; count(query?: string, options?: HalOptions): Observable; create(entity: T): Observable | T>; update(entity: T): Observable | T>; patch(entity: T): Observable | T>; delete(entity: T): Observable; totalElement(): number; totalPages(): number; hasFirst(): boolean; hasNext(): boolean; hasPrev(): boolean; hasLast(): boolean; next(): Observable; prev(): Observable; first(): Observable; last(): Observable; page(pageNumber: number): Observable; }