import { Injector } from '@angular/core'; import { APIClientService } from './api-client.service'; import { AuthService } from '../auth/auth.service'; import { EventsManagerService } from '../common/events-manager.service'; import { Observable } from 'rxjs/Observable'; import { IRequestOptions } from './request-options.interface'; import { HttpInterceptor } from '../common/http-interceptor.service'; import { AppConfigurationService } from '../common/app-configuration.service'; export declare abstract class CRUDService extends APIClientService { readonly ResourceName: string; protected resource: string; constructor(resource: string, http: HttpInterceptor, authService: AuthService, eventsService: EventsManagerService, AppConfiguration: AppConfigurationService, injector: Injector); abstract createModel(data: any): any; save(data: any, options?: IRequestOptions): Observable; getById(resourceId: string, options?: IRequestOptions): Observable; removeById(resourceId: string, options?: IRequestOptions): Observable; list(query?: any, options?: IRequestOptions): Observable; protected buildListData(query?: any, options?: IRequestOptions): any; protected processResponse(apiResponse: any): any; listBase(query?: any, options?: IRequestOptions): Observable; retrieveAll(page?: number, query?: any, options?: IRequestOptions, acc?: any[]): Observable; }