import React from 'react'; import { FilterDropdownProps } from 'antd/es/table/interface'; import { TemporalInterval } from './DataTableIntervalEditor'; import { WrappedComponentProps } from 'react-intl'; import { MainStoreInjected, MetadataInjected, HasId, MayHaveInstanceName, ComparisonType } from '@haulmont/jmix-react-core'; import { FormInstance } from 'antd/es/form'; export interface CaptionValuePair { caption: string; value: string | number | undefined; } export declare type CustomFilterInputValue = string | number | boolean | string[] | number[] | TemporalInterval | null | undefined; export interface DataTableCustomFilterProps extends MainStoreInjected, MetadataInjected { entityName: string; entityProperty: string; /** * See `filterDropdown` in antd {@link https://ant.design/components/table/#Column | Column} documentation */ filterProps: FilterDropdownProps; /** * Selected comparison operator (see {@link ComparisonType}). Used together with the {@link value} prop. * E.g. filtering values greater than `100` can be achieved by using {@link operator} `>` and {@link value} `100`. * {@link operator} and {@link value} state is lifted up from the custom filter component * in order to allow operations on all filters at once, such as clearing all filters. */ operator: ComparisonType | undefined; onOperatorChange: (operator: ComparisonType, propertyName: string) => void; /** * Filter value that is used together with the {@link operator} prop. * E.g. filtering values greater than `100` can be achieved by using {@link operator} `>` and {@link value} `100`. * {@link operator} and {@link value} state is lifted up from the custom filter component * in order to allow operations on all filters at once, such as clearing all filters. */ value: CustomFilterInputValue; onValueChange: (value: CustomFilterInputValue, propertyName: string) => void; customFilterRef?: (formInstance: FormInstance) => void; relationOptions?: Array; } export declare function operatorToOptionClassName(operator: ComparisonType): string; declare const dataTableCustomFilter: React.FC, "metadata">>> & { WrappedComponent: React.ComponentType, "metadata">>; }; export { dataTableCustomFilter as DataTableCustomFilter };