import React from "react"; import type { FilterValues } from "../Table/filterTypes"; import { type FilterRange } from "./RangeSection"; export type FilterOption = { id: string; label: string; count?: number; }; export type FilterSection = { id: string; label: string; options?: FilterOption[]; searchable?: boolean; range?: FilterRange; initiallyExpanded?: boolean; type?: "checkboxes" | "radio"; /** @deprecated Dead — never read; radio mode comes from `type: "radio"` or `radio`, checkboxes is the default. */ checkboxes?: boolean; radio?: boolean; }; export type SelectedFilters = FilterValues; /** Sectioned filter list; live through `onChange`, controlled only when both `selected` and `onChange` are set. */ export type FilterSidebarProps = { sidebarOptions: FilterSection[]; /** Passing this alone (no onChange) makes every filter click silently inert — state is computed, then discarded. */ selected?: SelectedFilters; onChange?: (selected: SelectedFilters) => void; /** @deprecated Dead — never called; every change is already live through `onChange`. */ onApply?: (selected: SelectedFilters) => void; maxVisible?: number; width?: string | number; variant?: "minimal" | "cards"; containerHeight?: number | string; containerPadding?: number | string; /** @deprecated Dead — never read; has no effect. */ headerPadding?: number; panelPadding?: number; /** @deprecated Dead — never read; the range slider is always the native-input one. */ sliderMode?: "chakra" | "native"; clearAllButton?: boolean; onClearAllHandler?: () => void; }; declare const FilterSidebar: React.FC; export default FilterSidebar;