import { CommonFieldComparisonBetweenType, FilterComparisonOperators } from '@nestjs-query/core'; import { ObjectLiteral } from 'typeorm'; /** * @internal */ declare type CmpSQLType = { sql: string; params: ObjectLiteral; }; /** * @internal */ export declare type EntityComparisonField = Entity[F] | Entity[F][] | CommonFieldComparisonBetweenType | true | false | null; /** * @internal * Builder to create SQL Comparisons. (=, !=, \>, etc...) */ export declare class SQLComparisonBuilder { readonly comparisonMap: Record; static DEFAULT_COMPARISON_MAP: Record; constructor(comparisonMap?: Record); private get paramName(); /** * Creates a valid SQL fragment with parameters. * * @param field - the property in Entity to create the comparison for. * @param cmp - the FilterComparisonOperator (eq, neq, gt, etc...) * @param val - the value to compare to * @param alias - alias for the field. */ build(field: F, cmp: FilterComparisonOperators, val: EntityComparisonField, alias?: string): CmpSQLType; private createComparisonSQL; private isComparisonSQL; private isNotComparisonSQL; private inComparisonSQL; private notInComparisonSQL; private checkNonEmptyArray; private betweenComparisonSQL; private notBetweenComparisonSQL; private isBetweenVal; } export {};