import { PartialDeep } from 'type-fest'; import { AggregateRequest, AggregateResponse, QueryRequest, QueryResponse } from '../dto'; export interface ResourceService { startTransaction?(...options: any[]): Promise; useWith?(sessionManager: any): ResourceService; asProtected?(): ResourceService; find(id: string | number): Promise; query(queryDto: QueryRequest): Promise>; aggregate(aggregateDto: AggregateRequest): Promise>; create(createDto: PartialDeep): Promise; createBulk(createDtos: PartialDeep[]): Promise; update(id: string | number, updateDto: PartialDeep, isFileUpload?: boolean): Promise; updateBulk(updateDtos: PartialDeep[]): Promise; delete(id: string | number): Promise; deleteBulk(ids: (string | number)[]): Promise; }