import { BuildMongoQuery, createFactory, DefaultOperators } from '@ucast/mongo2js'; import { Container, GenericFactory } from '../hkt'; import { AnyObject, ConditionsMatcher } from '../types'; declare const defaultInstructions: { $eq: import("@ucast/mongo2js").FieldInstruction; $ne: import("@ucast/mongo2js").FieldInstruction; $lt: import("@ucast/mongo2js").FieldInstruction; $lte: import("@ucast/mongo2js").FieldInstruction; $gt: import("@ucast/mongo2js").FieldInstruction; $gte: import("@ucast/mongo2js").FieldInstruction; $in: import("@ucast/mongo2js").FieldInstruction; $nin: import("@ucast/mongo2js").FieldInstruction; $all: import("@ucast/mongo2js").FieldInstruction; $size: import("@ucast/mongo2js").FieldInstruction; $regex: import("@ucast/mongo2js").FieldInstruction; $options: import("@ucast/mongo2js").FieldInstruction; $elemMatch: import("@ucast/mongo2js").FieldInstruction<(import("@ucast/mongo2js").MongoQueryFieldOperators & import("@ucast/mongo2js").MongoQueryTopLevelOperators) | ({ [x: string]: any; } & import("@ucast/mongo2js").MongoQueryTopLevelOperators), import("@ucast/mongo2js").ObjectQueryFieldParsingContext>; $exists: import("@ucast/mongo2js").FieldInstruction; }; interface MongoQueryFactory extends GenericFactory { produce: MongoQuery; } type MergeUnion = { [K in Keys]: T[K]; }; export type MongoQuery = BuildMongoQuery, { toplevel: {}; field: Pick>['field'], keyof typeof defaultInstructions>; }> & Container; type MongoQueryMatcherFactory = (...args: Partial>) => ConditionsMatcher; export declare const buildMongoQueryMatcher: MongoQueryMatcherFactory; export declare const mongoQueryMatcher: import("@ucast/mongo2js").Filter; export type { MongoQueryFieldOperators, MongoQueryOperators, MongoQueryTopLevelOperators } from '@ucast/mongo2js';