import { AggregationParams, CountParams, FindParams, RemoveParams, UpdateMethod } from "../domain/params"; import { DbQuery } from "../domain/types"; import { Where } from "../domain/where"; export interface DbQueryFactory { createFindQuery(params: FindParams, ...args: any[]): DbQuery; createCountQuery(params: CountParams, ...args: any[]): DbQuery; createUpdateQuery(updates: UpdateType[], where: Where[], methods: UpdateMethod[], ...args: any[]): DbQuery; createRemoveQuery(params: RemoveParams, ...args: any[]): DbQuery; createAggregationQuery(params: AggregationParams, ...args: any[]): DbQuery; }