import type { FilterFieldGroupNode, FilterFieldLeafNode, FilterFieldListNode, FilterFieldNode, FilterFieldStatementNode } from '../types/tree-nodes.js'; /** * Check whether the given node is a filter field group node. * @internal */ export declare function isFilterFieldGroupNode(node: unknown): node is FilterFieldGroupNode; /** * Check whether the given node is a filter field statement node. * @internal */ export declare function isFilterFieldStatementNode(node: unknown): node is FilterFieldStatementNode; /** * Check whether the given node is a filter field list node. * @public */ export declare function isFilterFieldListNode(node: unknown): node is FilterFieldListNode; /** * Check if the given token is a node holding a value. * Not necessarily a leaf node. E.g. a List has a value, * but the value consists of other tokens. * @internal */ export declare function isFilterFieldValueNode(node: unknown): node is FilterFieldLeafNode; /** * Check whether the given node is a filter field leaf node. * @public */ export declare function isFilterFieldLeafNode(node: unknown): node is FilterFieldLeafNode; /** * Check if the given token is a filter value. * @internal */ export declare function isFilterValue(token: FilterFieldLeafNode | FilterFieldListNode): boolean; /** * Returns whether the current operator is valid for a position operator (start-with / ends-with / contains). * Only equals, not equals, and ends-with/not-ends-with (will be converted to contains/not-contains) are valid values. * @internal */ export declare function isValidPositionOperator(node: FilterFieldStatementNode): boolean; /** * Returns whether the current operator is a a LogicalOperator. Either it has the type LogicalOperator or it has the * type Error and 'OR' or 'AND' as value (if the LogicalOperator is in an invalid position or 'OR' is used in the basic syntax). * @internal */ export declare function isLogicalOperator(node: FilterFieldNode): boolean;