import { Observable } from 'rxjs/Observable'; import 'rxjs/add/operator/map'; import 'rxjs/add/operator/takeUntil'; import 'rxjs/add/operator/take'; import 'rxjs/add/operator/toPromise'; import { RestHeaders } from './rest-headers'; import { Models } from './models'; export interface RestPromises { get: (queryParams?: QP) => Observable>; head: (queryParams?: QP) => Observable>; query: (queryParams?: QP) => Observable>; put: (item?: A, queryParams?: QP) => Observable>; patch: (item?: A, queryParams?: QP) => Observable>; post: (item?: A, queryParams?: QP) => Observable>; delete: (queryParams?: QP) => Observable | any>; } export interface Model { (restParams?: RP): RestPromises; } /** * * @export * @class SimpleResource * @template A single model type * @template TA array model type * @template RP rest parameters type * @template QP query parameters type */ export declare class SimpleResource { model: Model; private static _isSetQueryParamsSerialization; static doNotSerializeQueryParams: any; static readonly headers: { request: RestHeaders; response: RestHeaders; }; static __destroy(): void; constructor(endpoint: string, model: string); }