import { ListViewSchema } from '@object-ui/types'; /** * ObjectUI * Copyright (c) 2024-present ObjectStack Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ import * as React from 'react'; export interface UserFiltersProps { config: NonNullable; /** Object definition for auto-deriving field options */ objectDef?: any; /** Current data for computing counts */ data?: any[]; /** Callback when filter state changes */ onFilterChange: (filters: any[]) => void; /** Maximum visible filter badges before collapsing into "More" dropdown (dropdown mode only) */ maxVisible?: number; className?: string; /** * Initial selections to restore (e.g. from URL params). Keyed by field * name → selected values; the active tab preset is carried under the * reserved `_tab` key as a single-entry array. */ initialSelections?: Record>; /** * Fires with the raw selection state on every user change (same shape as * `initialSelections`). Hosts use this to persist selections — e.g. * ObjectView/InterfaceListPage mirror them into `uf_*` URL params. */ onSelectionsChange?: (selections: Record>) => void; } /** * UserFilters — Airtable Interfaces-style filter bar. * * Renders one of three modes based on `config.element`: * - **dropdown**: field-level dropdown selector badges * - **tabs**: named filter preset tab bar * - **toggle**: on/off toggle buttons per field */ export declare function UserFilters({ config, objectDef, data, onFilterChange, maxVisible, className, initialSelections, onSelectionsChange, }: UserFiltersProps): React.JSX.Element | null; //# sourceMappingURL=UserFilters.d.ts.map