/** * Bridge between QueryBar DSL strings and AdvancedFilterGroup trees. */ import { type AdvancedFilterGroup, type AdvancedFilterRule, type FilterFieldDef } from './advancedFilters.js'; /** Parse a QueryBar-style string into a flat AND AdvancedFilterGroup. */ export declare function queryStringToGroup(query: string, fields?: FilterFieldDef[]): AdvancedFilterGroup; /** Serialize flat rules to a QueryBar-ish AND string (ignores nested groups). */ export declare function groupToQueryString(group: AdvancedFilterGroup, fields?: FilterFieldDef[]): string; /** Active filter chips derived from a group. */ export declare function groupToFilterItems(group: AdvancedFilterGroup, fields?: FilterFieldDef[]): { id: string; label: string; rule: AdvancedFilterRule; }[]; /** Remove a rule by id from a (possibly nested) group; returns a new tree. */ export declare function removeRuleFromGroup(group: AdvancedFilterGroup, ruleId: string): AdvancedFilterGroup; /** Replace root rules with a flat AND list (drops nesting). */ export declare function setFlatRules(rules: AdvancedFilterRule[], combinator?: 'and' | 'or'): AdvancedFilterGroup;