/**
 * Operators that a user can pick in the filter UI. Not every operator is
 * valid for every field type — use `getOperatorsForFieldType` to get the list
 * that applies to a given field.
 */
var FilterOperator;
(function (FilterOperator) {
    // Text
    FilterOperator["Contains"] = "contains";
    FilterOperator["DoesNotContain"] = "does_not_contain";
    FilterOperator["StartsWith"] = "starts_with";
    FilterOperator["EndsWith"] = "ends_with";
    // Comparison (shared across text / number / date)
    FilterOperator["EqualTo"] = "equal_to";
    FilterOperator["NotEqualTo"] = "not_equal_to";
    FilterOperator["GreaterThan"] = "greater_than";
    FilterOperator["LessThan"] = "less_than";
    FilterOperator["GreaterThanOrEqualTo"] = "greater_than_or_equal_to";
    FilterOperator["LessThanOrEqualTo"] = "less_than_or_equal_to";
    FilterOperator["Between"] = "between";
    // Date-specific aliases for comparison
    FilterOperator["Before"] = "before";
    FilterOperator["After"] = "after";
    // Entity / single-value selection
    FilterOperator["Is"] = "is";
    FilterOperator["IsNot"] = "is_not";
    // Entity array selection
    FilterOperator["HasAnyOf"] = "has_any_of";
    FilterOperator["HasAllOf"] = "has_all_of";
    FilterOperator["HasNoneOf"] = "has_none_of";
    // Presence
    FilterOperator["IsEmpty"] = "is_empty";
    FilterOperator["IsNotEmpty"] = "is_not_empty";
    // Boolean
    FilterOperator["IsTrue"] = "is_true";
    FilterOperator["IsFalse"] = "is_false";
})(FilterOperator || (FilterOperator = {}));
export default FilterOperator;
export const FilterOperatorLabel = {
    [FilterOperator.Contains]: "contains",
    [FilterOperator.DoesNotContain]: "does not contain",
    [FilterOperator.StartsWith]: "starts with",
    [FilterOperator.EndsWith]: "ends with",
    [FilterOperator.EqualTo]: "equals",
    [FilterOperator.NotEqualTo]: "does not equal",
    [FilterOperator.GreaterThan]: "is greater than",
    [FilterOperator.LessThan]: "is less than",
    [FilterOperator.GreaterThanOrEqualTo]: "is greater than or equal to",
    [FilterOperator.LessThanOrEqualTo]: "is less than or equal to",
    [FilterOperator.Between]: "is between",
    [FilterOperator.Before]: "is before",
    [FilterOperator.After]: "is after",
    [FilterOperator.Is]: "is",
    [FilterOperator.IsNot]: "is not",
    [FilterOperator.HasAnyOf]: "has any of",
    [FilterOperator.HasAllOf]: "has all of",
    [FilterOperator.HasNoneOf]: "has none of",
    [FilterOperator.IsEmpty]: "is empty",
    [FilterOperator.IsNotEmpty]: "is not empty",
    [FilterOperator.IsTrue]: "is true",
    [FilterOperator.IsFalse]: "is false",
};
//# sourceMappingURL=FilterOperator.js.map