import { Expression, ExpressionList, Join } from './types'; type Predicate = () => boolean; type ValidExpressionType = Expression | ExpressionList | string; type ConditionalExpression = { expression?: ValidExpressionType; condition?: Predicate; join?: Join; groupName?: string; }; type ExpressionOptions = Omit; type GroupedExpressions = Record; /** * Builder class used to generate query criteria * * @public */ export declare class CriteriaBuilder { private expressions; withExpression(expression: ValidExpressionType, options?: ExpressionOptions, groupJoin?: Join): this; And: (expression: ValidExpressionType, options?: ExpressionOptions) => this; Or: (expression: ValidExpressionType, options?: ExpressionOptions) => this; Not: (expression: ValidExpressionType, options?: ExpressionOptions) => this; build(outputFn?: (groups: GroupedExpressions) => string): string; reset(): void; private parseExpression; } export {}; //# sourceMappingURL=criteria-builder.d.ts.map