import type { FilterComparisonOperator, FilterLogicalOperator, ProductAttribute } from '../types/product.js'; /** Comparison operators for FilterQL (jsep binary ops, same precedence). */ export declare const FILTER_COMPARISON_OPERATORS: readonly ["=", "!=", "LIKE"]; /** Logical connectors for FilterQL (jsep binary ops, AND binds tighter than OR). */ export declare const FILTER_LOGICAL_OPERATORS: readonly ["AND", "OR"]; /** Same operators as {@link FILTER_LOGICAL_OPERATORS}; OR first for autocomplete ordering. */ export declare const FILTER_LOGICAL_OPERATORS_SUGGESTION_ORDER: readonly ["OR", "AND"]; /** * jsep registration: name + precedence (higher binds tighter). * Must stay in sync with FILTER_COMPARISON_OPERATORS and FILTER_LOGICAL_OPERATORS. */ export declare const FILTER_QL_JSEP_BINARY_OPS: readonly { name: string; precedence: number; }[]; /** * Fields allowed in FilterQL comparisons. Single source for parser, API, and UI autocomplete. */ export declare const FILTER_QL_ATTRIBUTES: readonly ProductAttribute[]; /** * Single characters that trigger operator/paren token boundaries in the FilterQLCard tokenizer * (must cover =, !=, LIKE, AND, OR, parentheses). */ export declare const FILTER_QL_TOKENIZER_SPLIT_CHARS: readonly ["=", "!", "L", "I", "K", "E", "A", "N", "D", "O", "R", "(", ")"]; export declare const FILTER_QL_TOKENIZER_SPLIT_CHAR_SET: Set; export declare function isFilterComparisonToken(token: string): token is FilterComparisonOperator; export declare function isFilterLogicalToken(token: string): token is FilterLogicalOperator; //# sourceMappingURL=filterQlGrammar.d.ts.map