import { IEntity } from '../Entity/IEntity' ; export interface IRepository < TKey , TEntity extends IEntity < TKey > > { readonly length : number ; getItems ( predicate ? ) : TEntity [ ] ; getById ( id ) : TEntity | undefined ; addItem ( item ) : void ; addOrUpdateItem ( item ) : void ; removeItem ( id ) : void ; exists ( id ) : boolean ; }