import type { ReactiveController } from 'lit'; import type { ColumnConfiguration, GridHost, Keys } from '../internal/types.js'; import { FilterState } from '../operations/filter/state.js'; import type { FilterExpression } from '../operations/filter/types.js'; export declare class FilterController implements ReactiveController { #private; protected host: GridHost; constructor(host: GridHost); state: FilterState; get filterRow(): import("../components/filter-row.js").default; hostConnected(): void; hostUpdate(): void; get(key: Keys): import("../operations/filter/tree.js").FilterExpressionTree | undefined; reset(key?: Keys): void; setActiveColumn(column?: ColumnConfiguration): void; getDefaultExpression(column: ColumnConfiguration): FilterExpression; removeAllExpressions(key: Keys): Promise; removeExpression(expression: FilterExpression): Promise; filterWithEvent(expression: FilterExpression, type: 'add' | 'modify' | 'remove'): Promise; filter(expression: FilterExpression | FilterExpression[]): void; }