export declare type CompareOperator = VT extends number | Date ? { $eq: VT | null; $ne: VT | null; $lt: VT; $gt: VT; $lte: VT; $gte: VT; $in: Array; $nin: Array; $equal: VT | null; $notEqual: VT | null; $lessThan: VT; $greaterThan: VT; $lessThanEqual: VT; $greaterThanEqual: VT; $notIn: Array; } : { $eq: VT | null; $neq: VT | null; $like: VT; $unlike: VT; $in: Array; $nin: Array; $equal: VT | null; $notEqual: VT | null; $notLike: VT; $notIn: Array; }; export declare type Queryable = Record; declare type RequireOnlyOne = Pick> & { [K in Keys]-?: Required> & Partial, undefined>>; }[Keys]; export declare type TypeWithCompareOperator = { [K in keyof T]: Partial> | T[K] | null; }; export declare type OperatorValue = RequireOnlyOne> | Partial> | LogicalOperator; export declare type LogicalOperator = { $or: Array> | Array>>; $and?: undefined; } | { $and: Array> | Array>>; $or?: undefined; }; export declare type QueryOptions = { $sort?: Order; $limit?: number; $projection?: QueryProjection; }; export declare type Order = Partial>; export declare type QueryProjection = Array>; export {};