import { FilterQuery, UpdateQuery, QueryOptions, AnyObject, UpdateWithAggregationPipeline } from 'mongoose'; import { META } from '../../definitions'; import { RetryExecutor } from '../infrastructure/retry'; /** * Update operations for repository */ export interface CrudUpdateConfig { modelName: string; logger?: any; } export declare class CrudUpdateOperations { private readonly config; private readonly retryExecutor; constructor(config: CrudUpdateConfig, retryExecutor: RetryExecutor); /** * Updates document by ID */ updateById(id: string, doc: Partial, meta?: META): Promise; /** * Finds one document and updates it */ findOneAndUpdate(cond: FilterQuery, doc: UpdateQuery, options?: QueryOptions, meta?: META): Promise; /** * Updates one document matching filter */ updateOne(filter: FilterQuery | FilterQuery[], update: UpdateQuery | UpdateWithAggregationPipeline, options?: QueryOptions, meta?: META): Promise; /** * Updates multiple documents matching filter */ updateMany(filter: FilterQuery | FilterQuery[], update: UpdateQuery | UpdateWithAggregationPipeline, options?: QueryOptions, meta?: META): Promise; }