import { Collection as Base } from 'javascript-model'; import { FilterQuery, FindOneOptions, MongoCountPreferences } from 'mongodb'; import { DeleteOptions, SaveOptions, ReloadOptions, ValidateOptions } from './model'; import { ValidationResult } from './validator'; /** * Collection */ export default class Collection extends Base { /** * Get collection name */ static readonly collection: string; /** * Count */ static count(query?: FilterQuery, preferences?: MongoCountPreferences): Promise; /** * Find multiple */ static find(query?: FilterQuery, options?: FindOneOptions, reloadOptions?: ReloadOptions): Promise>; /** * Delete multiple */ delete(options?: DeleteOptions): Promise; /** * Reload */ reload(options?: ReloadOptions): Promise; /** * Save */ save(options?: SaveOptions): Promise; /** * Validate */ validate(options?: ValidateOptions): Promise>>; }