import { Observable } from 'rxjs'; import { Resource } from './resource'; import { Sort } from './sort'; import { ResourceArray } from './resource-array'; import { ExternalService } from './external.service'; import { HalOptions, HalParam } from './rest.service'; import { SubTypeBuilder } from './subtype-builder'; export declare class ResourceService { private externalService; constructor(externalService: ExternalService); private static getURL; private handleError; getAll(type: { new (): T; }, resource: string, _embedded: string, options?: HalOptions, subType?: SubTypeBuilder): Observable>; get(type: { new (): T; }, resource: string, id: any, params?: HalParam[], builder?: SubTypeBuilder): Observable; getBySelfLink(type: { new (): T; }, resourceLink: string): Observable; search(type: { new (): T; }, query: string, resource: string, _embedded: string, options?: HalOptions, subType?: SubTypeBuilder): Observable>; searchSingle(type: { new (): T; }, query: string, resource: string, options?: HalOptions): Observable; customQuery(type: { new (): T; }, query: string, resource: string, _embedded: string, options?: HalOptions, subType?: SubTypeBuilder): Observable>; customQueryPost(type: { new (): T; }, query: string, resource: string, _embedded: string, options?: HalOptions, body?: any, subType?: SubTypeBuilder): Observable>; getByRelation(type: { new (): T; }, resourceLink: string): Observable; getByRelationArray(type: { new (): T; }, resourceLink: string, _embedded: string, builder?: SubTypeBuilder): Observable>; getProjection(type: { new (): T; }, resource: string, id: string, projectionName: string): Observable; getProjectionArray(type: { new (): T; }, resource: string, projectionName: string): Observable; count(resource: string, query?: string, options?: HalOptions): Observable; create(selfResource: string, entity: T): Observable | T>; update(entity: T): Observable | T>; patch(entity: T): Observable | T>; delete(entity: T): Observable; hasNext(resourceArray: ResourceArray): boolean; hasPrev(resourceArray: ResourceArray): boolean; hasFirst(resourceArray: ResourceArray): boolean; hasLast(resourceArray: ResourceArray): boolean; next(resourceArray: ResourceArray, type: { new (): T; }): Observable>; prev(resourceArray: ResourceArray, type: { new (): T; }): Observable>; first(resourceArray: ResourceArray, type: { new (): T; }): Observable>; last(resourceArray: ResourceArray, type: { new (): T; }): Observable>; page(resourceArray: ResourceArray, type: { new (): T; }, id: number): Observable>; sortElements(resourceArray: ResourceArray, type: { new (): T; }, ...sort: Sort[]): Observable>; size(resourceArray: ResourceArray, type: { new (): T; }, size: number): Observable>; private getResourceUrl; private setUrls; private setUrlsResource; }