import { mongodbDataTypes } from "../enums/mongodbDataTypes"; import { IDocumentInstance } from "../types"; import { QueryLogic } from "./QueryLogic"; type IComparisonType = number | string | Date; type IComparisonKeys = "eq" | "ne" | "gte" | "gt" | "lt" | "lte" | "in" | "nin" | "regex"; export declare class QueryOperator { nativeFilter: any; constructor(nativeFilter: any); not(expression: (query: QueryOperator) => void): void; eq(value: IComparisonType | boolean): Pick; ne(value: IComparisonType | boolean): Pick; gt(value: IComparisonType): Pick; gte(value: IComparisonType): Pick; lte(value: IComparisonType): Pick; lt(value: IComparisonType): Pick; in(values: any[]): Pick; nin(values: any[]): Pick; exists(isExist?: boolean): void; type(type: mongodbDataTypes | mongodbDataTypes[]): void; mod(divisor: number, reminder: number): void; regex(value: string, options?: string): Pick; where(value: string): void; all(values: any[]): void; size(value: number): void; elemMatch(expression: (query: QueryOperator) => void): void; elemMatchObject(expression: (query: QueryLogic) => void): void; bitsAllClear(value: number | number[]): void; bitsAllSet(value: number | number[]): void; bitsAnyClear(value: number | number[]): void; bitsAnySet(value: number | number[]): void; } export {};