import { Injector, OnDestroy } from '@angular/core'; import { BehaviorSubject, Observable } from 'rxjs'; import { IFactoryModel } from '../interfaces/factory-model'; import { IMockProviderOptions } from '../interfaces/mock-provider-options'; import { IModel } from '../interfaces/model'; import { IProvider } from '../interfaces/provider'; import { IProviderOptions } from '../interfaces/provider-options'; import { IRepository } from '../interfaces/repository'; import { IRestProviderActionOptions } from '../interfaces/rest-provider-action-options'; import { IRestProviderOptions } from '../interfaces/rest-provider-options'; export declare class Repository implements IRepository, OnDestroy { protected injector: Injector; protected factoryModel?: IFactoryModel; protected factoryMockProvider?: { new (injector: Injector, factoryModel: IFactoryModel, options: IMockProviderOptions): any; }; protected factoryRestProvider?: { new (injector: Injector, factoryModel: IFactoryModel, options: IRestProviderOptions): any; }; mockProvider?: IProvider; restProvider?: IProvider; protected root: Repository; protected mockProviders: IProvider[]; protected restProviders: IProvider[]; get provider(): IProvider; get paginationMeta$(): BehaviorSubject; get providers(): IProvider[]; get items(): TModel[]; get items$(): Observable; private _mockProviderIsActive; private _restProviderIsActive; private destroyed$; constructor(injector: Injector, factoryModel?: IFactoryModel, factoryMockProvider?: { new (injector: Injector, factoryModel: IFactoryModel, options: IMockProviderOptions): any; }, factoryRestProvider?: { new (injector: Injector, factoryModel: IFactoryModel, options: IRestProviderOptions): any; }); ngOnDestroy(): void; fork(newFactoryModel?: IFactoryModel, newFactoryMockProvider?: { new (injector: Injector, factoryModel: IFactoryModel, options: IMockProviderOptions): any; }, newFactoryRestProvider?: { new (injector: Injector, factoryModel: IFactoryModel, options: IRestProviderOptions): any; }): any; useMock>(options?: TMockProviderOptions): void; useRest>(options?: IRestProviderOptions): void; subscribeToProvider(provider: IProvider): void; setOptions(options: IProviderOptions): void; action(key: string, data?: any, options?: TProviderActionOptions): Observable; save(model: TModel, options?: TProviderActionOptions): Observable; create(model: TModel, options?: TProviderActionOptions): Observable; update(key: number | string, model: TModel, options?: TProviderActionOptions): Observable; patch(key: number | string, model: TModel, options?: TProviderActionOptions): Observable; load(key: number | string, options?: TProviderActionOptions): Observable; delete(key: number | string, options?: TProviderActionOptions): Observable; reloadAll(): void; loadAll(filter?: any, options?: TProviderActionOptions): Observable; clone(model: TModel): any; }