import { AbstractEntity } from '../entities'; import { Observable } from 'rxjs'; import { NgRedux } from '@angular-redux/store'; import { IAppState } from '../../stores'; import { EntityDescriptor } from '../descriptors'; import { Map } from 'immutable'; import { TransactionState } from './transaction.state'; import { NgReduxService } from '../../services/ng-redux.service'; export declare class EntityManager { readonly entityDescriptor: EntityDescriptor; private ngReduxService; ngRedux: NgRedux; private lastTransactionId; private lastReadAllTransactionId; constructor(entityDescriptor: EntityDescriptor, ngReduxService: NgReduxService, ngRedux: NgRedux); get count(): Observable; get entities(): Map; private get isComplete(); private get transactions(); private get state(); private get actionManager(); private get transactionId(); private get service(); private get isGettingAll(); /** * @param id * @throws MethodNotAllowedError * @throws Error */ getById(id: any): Observable; /** * @throws MethodNotAllowedError */ getAll(): Observable; /** * @param entity * @throws MethodNotAllowedError */ save(entity: T): Promise>; /** * @param entity * @throws MethodNotAllowedError */ delete(entity: T): Promise; call(action: string[], callable: (...args: any[]) => Promise | Observable, ...args: any[]): Observable; callAndSelect(action: string[], selector: any | any[], defaultValue: K, callable: (...args: any[]) => Promise | Observable, ...args: any[]): Observable; callAndThen(action: string[], callable: (...args: any[]) => Promise | Observable, ...args: any[]): Promise; reset(): void; isExpired(id?: any): boolean; }