import { BehaviorSubject, Observable } from 'rxjs'; import { IRestProviderActionOptions } from './rest-provider-action-options'; export interface IRepository { items: TModel[]; items$: Observable; paginationMeta$: BehaviorSubject; 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): TModel; }