import type { Nullable } from '@voiceflow/common'; export declare enum ExpressionType { EQUALS = "equals", GREATER = "greater", LESS = "less", AND = "and", OR = "or", VALUE = "value", VARIABLE = "variable", ADVANCE = "advance", PLUS = "plus", MINUS = "minus", TIMES = "times", DIVIDE = "divide", NOT = "not" } export declare enum ExpressionTypeV2 { EQUALS = "equals", GREATER = "greater", LESS = "less", AND = "and", OR = "or", VALUE = "value", VARIABLE = "variable", ADVANCE = "advance", NOT_EQUAL = "not_equal", GREATER_OR_EQUAL = "greater_or_equal", LESS_OR_EQUAL = "less_or_equal", CONTAINS = "contains", NOT_CONTAIN = "not_contain", STARTS_WITH = "starts_with", ENDS_WITH = "ends_with", HAS_VALUE = "has_value", IS_EMPTY = "is_empty" } export interface GenericExpression { type: T; value: V; depth: number; } export type ExpressionTuple = [Expression, Expression]; export interface NotExpression { type: ExpressionType.NOT; value: Expression; depth: number; } export type OrExpression = GenericExpression; export type AndExpression = GenericExpression; export type LessExpression = GenericExpression; export type PlusExpression = GenericExpression; export type MinusExpression = GenericExpression; export type TimesExpression = GenericExpression; export type ValueExpression = GenericExpression; export type DivideExpression = GenericExpression; export type EqualsExpression = GenericExpression; export type GreaterExpression = GenericExpression; export type AdvancedExpression = GenericExpression; export type VariableExpression = GenericExpression; export type Expression = OrExpression | AndExpression | NotExpression | LessExpression | PlusExpression | MinusExpression | TimesExpression | ValueExpression | DivideExpression | EqualsExpression | GreaterExpression | AdvancedExpression | VariableExpression; export declare enum ConditionsLogicInterface { VARIABLE = "variable", VALUE = "value", LOGIC_GROUP = "logic_group", EXPRESSION = "expression" } export interface GenericExpressionV2 { type: Nullable; value: V; name?: string; logicInterface?: ConditionsLogicInterface; } export type ExpressionTupleV2 = [ExpressionV2?, ExpressionV2?]; export type ValueExpressionV2 = GenericExpressionV2; export type AdvancedExpressionV2 = GenericExpressionV2; export type VariableExpressionV2 = GenericExpressionV2; export type OrExpressionV2 = GenericExpressionV2; export type AndExpressionV2 = GenericExpressionV2; export type LessExpressionV2 = GenericExpressionV2; export type EqualsExpressionV2 = GenericExpressionV2; export type GreaterExpressionV2 = GenericExpressionV2; export type IsEmptyExpression = GenericExpressionV2; export type ContainsExpression = GenericExpressionV2; export type NotEqualExpression = GenericExpressionV2; export type EndsWithExpression = GenericExpressionV2; export type HasValueExpression = GenericExpressionV2; export type NotContainExpression = GenericExpressionV2; export type StartsWithExpression = GenericExpressionV2; export type LessOrEqualExpression = GenericExpressionV2; export type GreaterOrEqualExpression = GenericExpressionV2; export type ExpressionV2 = OrExpressionV2 | AndExpressionV2 | LessExpressionV2 | ValueExpressionV2 | EqualsExpressionV2 | GreaterExpressionV2 | VariableExpressionV2 | AdvancedExpressionV2 | IsEmptyExpression | NotEqualExpression | ContainsExpression | EndsWithExpression | HasValueExpression | NotContainExpression | StartsWithExpression | LessOrEqualExpression | GreaterOrEqualExpression; export type LogicGroupData = GenericExpressionV2; export type ExpressionData = GenericExpressionV2; //# sourceMappingURL=expression.d.ts.map