import { type Document, type Filter, ObjectId, type Sort } from 'mongodb'; import { AbstractDialect } from '../dialect/index.js'; import type { EntityMeta, FieldValue, NamingStrategy, Query, QueryOptions, QuerySelect, QuerySortMap, QueryWhere, RelationKey, Type } from '../type/index.js'; import { type CallbackKey } from '../util/index.js'; export declare class MongoDialect extends AbstractDialect { constructor(namingStrategy?: NamingStrategy); where(entity: Type, where?: QueryWhere, { softDelete }?: QueryOptions): Filter; /** * Check if an object has operator keys (keys starting with $). */ private hasOperatorKeys; protected mapTableNameRow(row: { table_name: string; }): string; /** * Transform RJPC operators to MongoDB operators. */ private transformOperators; select(entity: Type, select: QuerySelect): QuerySelect; sort(entity: Type, sort: QuerySortMap): Sort; aggregationPipeline(entity: Type, q: Query): MongoAggregationPipelineEntry[]; normalizeIds(meta: EntityMeta, docs: E[] | undefined): E[] | undefined; normalizeId(meta: EntityMeta, doc: E | undefined): E | undefined; getIdValue(value: T): T; getPersistable(meta: EntityMeta, payload: E, callbackKey: CallbackKey): Partial; getPersistables(meta: EntityMeta, payload: E | E[], callbackKey: CallbackKey): Partial[]; } export type MongoAggregationPipelineEntry = { $lookup?: MongoAggregationLookup; $match?: Filter | Record; $sort?: Sort; $unwind?: MongoAggregationUnwind; }; type MongoAggregationLookup = { readonly from?: string; readonly foreignField?: string; readonly localField?: string; readonly pipeline?: MongoAggregationPipelineEntry>[]; readonly as?: RelationKey; }; type MongoAggregationUnwind = { readonly path?: string; readonly preserveNullAndEmptyArrays?: boolean; }; type IdValue = string | ObjectId; export {}; //# sourceMappingURL=mongoDialect.d.ts.map