import { ReactNode } from 'react'; import { ResultArrayItemType } from './Item/type'; export declare enum FilterItemOptionTypeEnum { Select = "Select", Checkbox = "Checkbox", Radio = "Radio", InputNumberRange = "InputNumberRange", ReactNode = "ReactNode" } /** * @property type Differentiate the matching components of item * @property label Form.Item label * @property field Form.Item name * @property render When the type is ReactNode, the content can be customized * @property options The options of FilterFormItem can be single or multiple */ export interface FilterFormOptions { type: FilterItemOptionTypeEnum; label?: string; field: string; options?: FilterFormItemOptions; render?(): ReactNode; } export declare type FilterFormItemOptions = FilterFormItemOption[] | FilterFormItemOption; /** * @property label check all label * @property field Form.item name * @property options Select CheckboxGroup RadioGroup... data */ export declare type FilterFormItemOption = { label: string; options: ResultArrayItemType[]; field?: string; }; /** * Used to compare whether the item is the last one, whether Divider is required * @property filterOptionLength index */ export interface FilterFormItemProps { index: number; data: FilterFormOptions; filterOptionLength: number; }