import { HttpErrorResponse, HttpHeaders } from '@angular/common/http'; export class Trackable { trackingId: any; data: any; } export interface IParameter { name: string; value: string; } export interface IHandlers { success(data: TResponseBody); error(httpErrorResponse: HttpErrorResponse); } export interface IGetOptions { uri: string; parameters?: IParameter[]; handlers: IHandlers; } export interface ITrackableGetOptions { uri: string; parameters?: IParameter[]; handlers: IHandlers; trackBy: any; } export interface IPutOptions { uri: string; parameters?: IParameter[]; body: TRequestBody; handlers: IHandlers; } export interface IPostOptions { uri: string; parameters?: IParameter[]; body: TRequestBody; handlers: IHandlers; headers?: HttpHeaders; } export interface IDeleteOptions { uri: string; parameters?: IParameter[]; handlers: IHandlers; }