import React from 'react'; import { SelectFieldProps } from '@/components/field/select-field'; import { ISystemField, ICustomField, IFilterField } from '.'; export interface IFilter { [key: string]: any; } export declare type IRenderFields = (arg: { fields: IFilterField[]; getFieldElement: (field: IFilterField) => { element: React.ReactElement; removeButton: React.ReactElement | null; }; selectField: React.ReactElement | null; resetButton: React.ReactElement | null; foldButton?: React.ReactElement | null; folded?: boolean | undefined; overflowLine?: boolean; filterRef?: React.MutableRefObject; }) => React.ReactElement; export interface FilterProps { filter: IFilter; onFilterChange: (filter: IFilter) => void; selected: string[]; onSelectChange: (selected: string[]) => void; systemFields: ISystemField[]; customFields: ICustomField[]; alwaysRenderFields?: string[]; render?: (field: IFilterField, element: React.ReactNode) => React.ReactNode; renderer?: IRenderFields; removeButton?: boolean | React.ReactNode; grouped?: boolean; flat?: boolean; selectFieldGroups?: SelectFieldProps['groups']; resetAll?: boolean; } declare const Filter: React.FC; export default Filter;