import { PopulateFieldsType } from '../../model/populate.types'; import { ISelectType, SortType } from '../../query'; import { SearchConsistency } from '../../utils/search-consistency'; import { TransactionAttemptContext } from 'couchbase'; export declare class FindOptions implements IFindOptions { skip?: number; limit?: number; sort?: Record; populate?: PopulateFieldsType; populateMaxDeep?: number; select?: ISelectType[] | string | string[]; consistency?: SearchConsistency; noCollection?: boolean; /** * Documents returned from queries with the `lean` option enabled are plain javascript objects, not Ottoman Documents. They have no save methods, hooks or other Ottoman Document's features. * @example * ```ts * const document = await UserModel.findById(id, { lean: true }); * document instanceof Document; // false * ``` **/ lean?: boolean; ignoreCase?: boolean; enforceRefCheck?: boolean | 'throw'; transactionContext?: TransactionAttemptContext; constructor(data: FindOptions); } export interface IFindOptions { skip?: number; limit?: number; sort?: Record; populate?: PopulateFieldsType; populateMaxDeep?: number; select?: ISelectType[] | string | string[]; consistency?: SearchConsistency; noCollection?: boolean; lean?: boolean; ignoreCase?: boolean; }