type Entity = object; interface BaseService { getFetchParams(params: object): object; } export interface SingleTypeService extends BaseService { find(params: object): Promise; createOrUpdate(params: object): Promise; delete(params: object): Promise; } export interface CollectionTypeService extends BaseService { find(params: object): Promise; findOne(params: object): Promise; create(params: object): Promise; update(params: object): Promise; delete(params: object): Promise; } export type Service = SingleTypeService | CollectionTypeService;