import { LitElement } from 'lit'; import type { ApexGridEnterprise } from './grid-enterprise.js'; export declare const SET_FILTER_TAG = "apex-grid-set-filter"; /** A distinct value option in the checklist. */ interface SetFilterValue { /** The raw value (used for the membership test). */ readonly value: unknown; /** Display label. */ readonly label: string; /** Stable identity used for selection + membership. */ readonly token: string; } type AnyGrid = ApexGridEnterprise>; /** * Excel-style **set filter**: a per-column checklist of the column's distinct * values. Unchecking values hides their rows. Pure UI on top of the grid's * public filter API — it builds a value-membership {@link FilterOperation} and * applies it via `grid.filter()` / `grid.clearFilter()`, so it needs no core * change and composes with the grid's other filters. * * Mount it (typically in a header popover) and set its `grid` + `column` * properties. Toggling an option applies the filter live. * * @element apex-grid-set-filter * * @csspart set-filter - The panel container. * @csspart search - The search input. * @csspart select-all - The "(Select all)" row. * @csspart list - The scrollable options list. * @csspart option - A single value row. * @csspart option-label - The `