import { HttpClient } from '../../http/HttpClient'; import { HttpMethod, HttpRequest } from '../../http/HttpRequest'; import { HttpResponse } from '../../http/HttpResponse'; import { AuthHeaderProvider } from '../../auth/AuthHeaderProvider'; import { HalLink } from '../models/HalLink'; import { HalResource, HalResourceConstructor } from '../models/HalResource'; /** * @hidden */ export interface HalClient { fetchLinkedResource(link: HalLink, params: any, resourceConstructor: HalResourceConstructor): Promise; fetchResource(path: string, resourceConstructor: HalResourceConstructor): Promise; createLinkedResource(link: HalLink, params: any, resource: T, resourceConstructor: HalResourceConstructor): Promise; performActionThatReturnsResource(link: HalLink, params: any, data: any, resourceConstructor: HalResourceConstructor, method: HttpMethod.POST | HttpMethod.PATCH | HttpMethod.PUT): Promise; performActionWithHeadersThatReturnsResource(link: HalLink, params: any, data: any, resourceConstructor: HalResourceConstructor, method: HttpMethod.POST | HttpMethod.PATCH | HttpMethod.PUT): Promise; createResource(path: string, resource: T, resourceConstructor: HalResourceConstructor): Promise; updateResource(path: string, resource: T, resourceConstructor: HalResourceConstructor): Promise; updateLinkedResource(link: HalLink, params: any, resource: T, resourceConstructor: HalResourceConstructor): Promise; deleteLinkedResource(link: HalLink, params: any): Promise; deleteResource(path: string): Promise; performActionWithoutResourceResponse(link: HalLink, params: any, data: any, method: HttpMethod.POST | HttpMethod.PATCH | HttpMethod.PUT): Promise; parse(data: any, resourceConstructor: HalResourceConstructor): T; serialize(data: T): any; } /** * @hidden */ export declare class DefaultHalClient implements HalClient { private baseUrl; private httpClient; private authHeaderProvider; constructor(baseUrl: string, httpClient: HttpClient, authHeaderProvider: AuthHeaderProvider); fetchLinkedResource(link: HalLink, params: any, resourceConstructor: HalResourceConstructor): Promise; fetchResource(path: string, resourceConstructor: HalResourceConstructor): Promise; createLinkedResource(link: HalLink, params: any, resource: T, resourceConstructor: HalResourceConstructor): Promise; createResource(path: string, resource: T, resourceConstructor: HalResourceConstructor): Promise; updateResource(path: string, resource: T, resourceConstructor: HalResourceConstructor): Promise; updateLinkedResource(link: HalLink, params: any, resource: T, resourceConstructor: HalResourceConstructor): Promise; deleteLinkedResource(link: HalLink, params: any): Promise; deleteResource(path: string): Promise; performActionWithoutResourceResponse(link: HalLink, params: any, data: any, method?: HttpMethod.POST | HttpMethod.PATCH | HttpMethod.PUT): Promise; performActionThatReturnsResource(link: HalLink, params: any, data: any, resourceConstructor: HalResourceConstructor, method?: HttpMethod.POST | HttpMethod.PATCH | HttpMethod.PUT): Promise; performActionWithHeadersThatReturnsResource(link: HalLink, params: any, data: any, resourceConstructor: HalResourceConstructor, method?: HttpMethod.POST | HttpMethod.PATCH | HttpMethod.PUT): Promise; parse(data: any, resourceConstructor: HalResourceConstructor): T; serialize(data: T): any; protected invoke(request: HttpRequest): Promise; }