import { Filter, Sort } from "./types"; import { Where } from "./where"; export declare class AggregationParams { readonly groupBy?: string[]; readonly filterBy?: Filter; readonly sort?: Sort; readonly sum?: string; readonly average?: string; readonly min?: string; readonly max?: string; readonly count?: string; readonly where?: Where; readonly limit?: number; readonly having?: object; readonly offset?: number; static isAggregationParams(obj: any): obj is AggregationParams; static create(options: { groupBy?: string[]; filterBy?: Filter; sort?: Sort; sum?: string; average?: string; min?: string; max?: string; count?: string; where?: Where; limit?: number; having?: object; offset?: number; }): AggregationParams; constructor(groupBy?: string[], filterBy?: Filter, sort?: Sort, sum?: string, average?: string, min?: string, max?: string, count?: string, where?: Where, limit?: number, having?: object, offset?: number); } export declare class CountParams { readonly sort?: Sort; readonly where?: Where; static isCountParams(obj: any): obj is CountParams; static create(options: { sort?: Sort; where?: Where; }): CountParams; constructor(sort?: Sort, where?: Where); } export declare class FindParams { readonly limit?: number; readonly offset?: number; readonly sort?: Sort; readonly where?: Where; readonly projection?: object; static isFindParams(obj: any): obj is FindParams; static create(options: { limit?: number; offset?: number; sort?: Sort; where?: Where; projection?: object; }): FindParams; constructor(limit?: number, offset?: number, sort?: Sort, where?: Where, projection?: object); } export declare class RemoveParams { readonly where?: Where; static isRemoveParams(obj: any): obj is RemoveParams; static create(where: Where): RemoveParams; constructor(where?: Where); } export declare enum UpdateMethod { UpdateOne = 0, UpdateMany = 1 } export type UpdateEachParams = { update: T; where: Where; method?: UpdateMethod; }; export declare class UpdateParams { readonly updates: UpdateType[]; readonly where: Where[]; readonly methods: UpdateMethod[]; static isUpdateParams(obj: any): obj is UpdateParams; static createUpdateMany(update: UpdateType, where: Where): UpdateParams; static createUpdateEach(params: UpdateEachParams[]): UpdateParams; static createUpdateOne(update: UpdateType, where: Where): UpdateParams; constructor(updates: UpdateType[], where: Where[], methods: UpdateMethod[]); }