export declare namespace FxSqlQueryComparator { type IdType = string | number; type SimpleEqValueType = string | number | boolean | Date; type NormalizedInOperator = 'in' | 'not_in' | 'IN' | 'NOT_IN'; type InputValue_eq = { "eq": SimpleEqValueType; }; type InputValue_ne = { "ne": SimpleEqValueType; }; type InputValue_gt = { "gt": number; }; type InputValue_gte = { "gte": number; }; type InputValue_lt = { "lt": number; }; type InputValue_lte = { "lte": number; }; type InputValue_like = { "like": string; }; type InputValue_not_like = { "not_like": string; }; type InputValue_between = { "between": [number, number]; }; type InputValue_not_between = { "not_between": [number, number]; }; type InputValue_in = { "in": IdType[]; }; type InputValue_not_in = { "not_in": IdType[]; }; type InputComparatorObjectValue = InputValue_eq | InputValue_ne | InputValue_gt | InputValue_gte | InputValue_lt | InputValue_lte | InputValue_like | InputValue_not_like | InputValue_between | InputValue_not_between | InputValue_in | InputValue_not_in; type InputValueType = SimpleEqValueType | InputComparatorObjectValue; interface SubQueryComparatorInput { [k: string]: FxSqlQueryComparator.QueryComparatorObject; } interface SubQuerySimpleEqInput { [k: string]: SimpleEqValueType; } interface SubQueryInput { [k: string]: FxSqlQueryComparator.QueryComparatorObject | SimpleEqValueType; } interface Input { [key: string]: InputValueType; } type QueryComparatorExprType = string; type QueryComparatorObject = { sql_comparator(): ComparatorNames; val?: T; asIdentifier?: boolean; expr?: QueryComparatorExprType; from?: string; to?: string; }; type SimpleQueryConjunctionWord_NonNegetive = "or" | "and"; type SimpleQueryConjunctionWord = SimpleQueryConjunctionWord_NonNegetive | "not"; type QueryConjunctionWord = SimpleQueryConjunctionWord | "not_or" | "not_and"; interface QueryComparatorLiteralObject { between: any | any[]; not_between: any | any[]; like: any | any[]; not_like: any | any[]; eq: any | any[]; ne: any | any[]; gt: any | any[]; gte: any | any[]; lt: any | any[]; lte: any | any[]; in: any | any[]; not_in: any | any[]; modifiers?: { is_date?: boolean; [modifier_name: string]: any; }; } type ComparatorHash = { between: FxSqlQueryComparatorFunction.between; not_between: FxSqlQueryComparatorFunction.not_between; like: FxSqlQueryComparatorFunction.like; not_like: FxSqlQueryComparatorFunction.not_like; eq: FxSqlQueryComparatorFunction.eq; ne: FxSqlQueryComparatorFunction.ne; gt: FxSqlQueryComparatorFunction.gt; gte: FxSqlQueryComparatorFunction.gte; lt: FxSqlQueryComparatorFunction.lt; lte: FxSqlQueryComparatorFunction.lte; in: FxSqlQueryComparatorFunction.not_in; not_in: FxSqlQueryComparatorFunction.not_in; }; type ComparatorNameType = keyof ComparatorHash; type ComparatorNames = ComparatorNameType; type QueryComparatorType = ComparatorNameType | 'sql'; } export declare namespace FxSqlQueryComparatorFunction { interface between { (a: string, b: string, options?: __Options): FxSqlQueryComparator.QueryComparatorObject; } interface not_between { (a: string, b: string, options?: __Options): FxSqlQueryComparator.QueryComparatorObject; } interface like { (expr: FxSqlQueryComparator.QueryComparatorExprType, options?: __Options): FxSqlQueryComparator.QueryComparatorObject; } interface not_like { (expr: FxSqlQueryComparator.QueryComparatorExprType, options?: __Options): FxSqlQueryComparator.QueryComparatorObject; } interface eq { (v: any, options?: __Options): FxSqlQueryComparator.QueryComparatorObject; } interface ne { (v: any, options?: __Options): FxSqlQueryComparator.QueryComparatorObject; } interface gt { (v: any, options?: __Options): FxSqlQueryComparator.QueryComparatorObject; } interface gte { (v: any, options?: __Options): FxSqlQueryComparator.QueryComparatorObject; } interface lt { (v: any, options?: __Options): FxSqlQueryComparator.QueryComparatorObject; } interface lte { (v: any, options?: __Options): FxSqlQueryComparator.QueryComparatorObject; } interface not_in { (v: any, options?: __Options): FxSqlQueryComparator.QueryComparatorObject; } type __Options = { asIdentifier?: boolean; }; }