import { NEntity } from 'nsn-entity';

/** 顶级服务 */
export interface NService<T extends NEntity> {
  find?: (params?: T) => Promise<any>;
  list?: (params?: T) => Promise<any>;
  page?: (params?: T) => Promise<any>;
  remove?: (id: string) => Promise<any>;
  removeBatch?: (idList: Array<string>) => Promise<any>;
  save?: (entity: T) => Promise<any>;
  saveBatch?: (entityList: Array<T>) => Promise<any>;
  toggle?: (params?: T) => Promise<any>;
  unique?: (params?: T) => Promise<any>;
}