import { QueryNode } from './base.js'; /** * A node that performs an operation with one operand */ export declare class UnaryOperationQueryNode extends QueryNode { readonly valueNode: QueryNode; readonly operator: UnaryOperator; constructor(valueNode: QueryNode, operator: UnaryOperator); describe(): string; } /** * The operator of a UnaryOperationQueryNode */ export declare enum UnaryOperator { NOT = "NOT", JSON_STRINGIFY = "JSON_STRINGIFY", ROUND = "ROUND" } /** * A node that performs an operation with two operands */ export declare class BinaryOperationQueryNode extends QueryNode { readonly lhs: QueryNode; readonly operator: BinaryOperator; readonly rhs: QueryNode; constructor(lhs: QueryNode, operator: BinaryOperator, rhs: QueryNode); describe(): string; private describeOperator; } /** * The operator of a BinaryOperationQueryNode */ export declare enum BinaryOperator { AND = "AND", OR = "OR", /** * Strict equality (values of different types are considered unequal) */ EQUAL = "EQUAL", /** * Strict inequality (values of different types are considered unequal) */ UNEQUAL = "UNEQUAL", LESS_THAN = "LESS_THAN", LESS_THAN_OR_EQUAL = "LESS_THAN_OR_EQUAL", GREATER_THAN = "GREATER_THAN", GREATER_THAN_OR_EQUAL = "GREATER_THAN_OR_EQUAL", IN = "IN", /** * Checks if at least one item of the lhs list is contained in the rhs list * * Evaluates to false if the lhs is null or an empty list. */ ANY_IN = "ANY_IN", CONTAINS = "CONTAINS", STARTS_WITH = "STARTS_WITH", ENDS_WITH = "ENDS_WITH", /** * Comparison for string using placeholders (% for arbitrary char sequences, _ for a single character). * Case-insensitive. Use backslashes to escape %, _ and \ */ LIKE = "LIKE", ADD = "ADD", SUBTRACT = "SUBTRACT", MULTIPLY = "MULTIPLY", DIVIDE = "DIVIDE", MODULO = "MODULO", APPEND = "APPEND", PREPEND = "PREPEND", /** * Calculates the asymmetric difference between two lists */ SUBTRACT_LISTS = "SUBTRACT_LISTS" } /** * A node that performs an operation with two operands and a FlexSearch Analyzer */ export declare class OperatorWithAnalyzerQueryNode extends QueryNode { readonly lhs: QueryNode; readonly operator: BinaryOperatorWithAnalyzer; readonly rhs: QueryNode; readonly analyzer: string; constructor(lhs: QueryNode, operator: BinaryOperatorWithAnalyzer, rhs: QueryNode, analyzer: string); describe(): string; private describeOperator; } /** * The operator of a OperatorWithAnalyzerQueryNode */ export declare enum BinaryOperatorWithAnalyzer { FLEX_SEARCH_CONTAINS_ANY_WORD = "FLEX_SEARCH_CONTAINS_ANY_WORD", FLEX_SEARCH_CONTAINS_PREFIX = "FLEX_SEARCH_CONTAINS_PREFIX", FLEX_SEARCH_CONTAINS_PHRASE = "FLEX_SEARCH_CONTAINS_PHRASE", FLEX_STRING_LESS_THAN = "FLEX_STRING_LESS_THAN", FLEX_STRING_LESS_THAN_OR_EQUAL = "FLEX_STRING_LESS_THAN_OR_EQUAL", FLEX_STRING_GREATER_THAN = "FLEX_STRING_GREATER_THAN", FLEX_STRING_GREATER_THAN_OR_EQUAL = "FLEX_STRING_GREATER_THAN_OR_EQUAL", /** * Strict equality (values of different types are considered unequal) */ EQUAL = "EQUAL", /** * Strict inequality (values of different types are considered unequal) */ UNEQUAL = "UNEQUAL", IN = "IN" } export declare class ConditionalQueryNode extends QueryNode { readonly condition: QueryNode; readonly expr1: QueryNode; readonly expr2: QueryNode; constructor(condition: QueryNode, expr1: QueryNode, expr2: QueryNode); describe(): string; }