import { Injector } from '@angular/core'; import { Observable } from 'rxjs/Observable'; import 'rxjs/add/operator/share'; import { AuthService } from '../auth/auth.service'; import { EventsManagerService } from '../common/events-manager.service'; import { AppConfigurationService } from '../common/app-configuration.service'; import { CRUDService } from '../common/crud.service'; import { IRequestOptions } from '../common/request-options.interface'; import { DataQueryService } from '../common/data-query.service'; import { DatabaseService } from './database.service'; import { SyncService } from './sync.service'; import { DatabaseCollection } from './database-collection'; import { HttpInterceptor } from '../common/http-interceptor.service'; export declare abstract class PersistentCRUDService extends CRUDService { private syncService; private dataQueryService; eventsService: EventsManagerService; AppConfiguration: AppConfigurationService; injector: Injector; protected resource: string; collection: DatabaseCollection; private listAllObservable; constructor(resource: string, http: HttpInterceptor, authService: AuthService, dbService: DatabaseService, syncService: SyncService, dataQueryService: DataQueryService, eventsService: EventsManagerService, AppConfiguration: AppConfigurationService, injector: Injector); tearUpListAll(): void; tearDownListAll(): void; save(data: any, options?: IRequestOptions): Observable; listBase(query?: any, options?: IRequestOptions): Observable; list(query?: any, options?: IRequestOptions): Observable; listFromLocalStorage(query?: any, options?: IRequestOptions): Observable; listFromBackend(query?: any, options?: IRequestOptions): Observable; listAllFromBackend(shared: boolean, query?: any, options?: IRequestOptions): Observable; processListData(resourcesList: any): Observable; getById(resourceId: string, options?: IRequestOptions): Observable; getByIdFromLocalStorage(resourceId: string, options?: IRequestOptions): Observable; getByIdFromBackend(resourceId: string, options?: IRequestOptions): Observable; remove(path: string, data?: any, options?: IRequestOptions): Observable; removeFromLocalStorage(resourceId: string, removeData: any): Observable; removeById(resourceId: string, options?: IRequestOptions): Observable; mergeInCollection(resourceId: string, resource: any): Observable; }