import { FilterDef, FilterValue } from '../../molecules/FilterMenu/types'; /** * FilterPopover * Classification: custom (composes Button + Popover + Search + Checkbox list) * * A popover-triggered filter editor built from a `filters` config. Supports * per-filter search, select-all, single/multi selection, apply/reset, a loading * state, optional async hooks, and `persistKey` (localStorage) persistence. * * Use this when several filter fields live behind one trigger and the user * should commit them together. For a single field behind a chip, use * `FilterMenu`; for an always-visible sidebar, `FilterPanel`. */ /** * The selection model is defined in `FilterMenu` and re-exported here, so this * organism's public API is unchanged by the move. See that file for why it * lives there. */ export type { FilterOption, FilterDef, FilterSelection, FilterValue, } from '../../molecules/FilterMenu/types'; export interface FilterAsyncConfig { onSearch?: (key: string, query: string) => void; onLoadMore?: (key: string) => void; hasMore?: boolean; } export interface FilterPopoverProps { filters: FilterDef[]; value?: FilterValue; defaultValue?: FilterValue; onApply?: (value: FilterValue) => void; onReset?: () => void; loading?: boolean; searchable?: boolean; showSelectAll?: boolean; /** localStorage key to persist the applied selection. */ persistKey?: string; triggerLabel?: string; async?: FilterAsyncConfig; } export declare function FilterPopover({ filters, value, defaultValue, onApply, onReset, loading, searchable, showSelectAll, persistKey, triggerLabel, async, }: FilterPopoverProps): import("react").JSX.Element;