import { ColumnDefinition, FilterCondition, IDataFilter } from 'verben-ng-ui'; import { SearchPropertyValue } from '../models/api-payload'; import * as i0 from "@angular/core"; /** * Converts filter conditions emitted by the verben-ng-ui filter components into * the SearchPropertyValue[] payload the search API expects. * * Two input shapes are supported. `lib-data-filter` emits `FilterCondition[]`, * which carries a columnId and an operator and is the shape the base prefers. * `verben-table-filter` emits `IDataFilter[]`, which names the property directly * and has no operator; it is kept working so pages can migrate one at a time. */ export declare class FilterHandlerService { buildFilterPayload(filters: FilterCondition[] | IDataFilter[], columns: ColumnDefinition[]): SearchPropertyValue[]; private isDataFilter; private fromFilterCondition; /** Legacy `verben-table-filter` shape: property name and type, no operator. */ private fromDataFilter; /** * Inverse of {@link buildFilterPayload}: rebuild FilterCondition[] from a * persisted SearchPropertyValue[] (restoring saved filters). Sign-preserving, * so re-running buildFilterPayload reproduces the same query. */ buildFilterConditions(payload: SearchPropertyValue[], columns: ColumnDefinition[]): FilterCondition[]; private mapSignToOperator; private mapOperatorToSign; /** * Carried over from the original workflows.helper.ts so the legacy * `verben-table-filter` path keeps producing the same payload types. */ private mapDataFilterType; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }