import { FilterQuery, ProjectionType, QueryOptions, Cursor } from 'mongoose'; import { META, FindAllOption, FindAllResponse } from '../../definitions'; import { RetryExecutor } from '../infrastructure/retry'; /** * Read operations for repository (find, findOne, findAll, findCursor, countDocuments) */ export interface CrudReadConfig { modelName: string; logger?: any; } export declare class CrudReadOperations { private readonly config; private readonly retryExecutor; constructor(config: CrudReadConfig, retryExecutor: RetryExecutor); /** * Finds one document */ findOne(cond?: FilterQuery, projection?: ProjectionType | null, options?: QueryOptions | null, meta?: META): Promise; /** * Finds all documents with pagination */ findAll(cond: FilterQuery, options?: Partial>, meta?: META): Promise>; /** * Counts documents matching the filter */ countDocuments(filter?: FilterQuery, options?: QueryOptions, meta?: META): Promise; /** * Finds documents matching filter */ find(filter?: FilterQuery, projection?: ProjectionType | null, options?: QueryOptions | null, meta?: META): Promise; /** * Creates a cursor for streaming large result sets */ findCursor(filter?: FilterQuery, projection?: ProjectionType | null, options?: QueryOptions | null, meta?: META): Promise>; }