import { ReactNode } from 'react'; import { IdType } from '@servicetitan/data-query'; import { CustomColumnMenuFilterSingleOpts } from '../column-menu-filters'; import { selectColumnMenuFilterOperators } from './operators'; export type SelectFilterDataFetcher = (opts: { search?: string; }) => Promise<{ data: TO[]; }>; export interface SelectFilterSearchOptions { placeholder?: string; filter(search: string): (item: TO) => boolean | undefined; } export interface SelectFilterOptions extends CustomColumnMenuFilterSingleOpts { /** Can select multiple options in filter */ multiple?: boolean; /** Ability to search options in filter */ search?: boolean | Partial; /** Static options to show in filter */ data?: TO[]; /** Method to fetch filter options asynchronously */ dataFetcher?: SelectFilterDataFetcher; /** Search operator passed to table state */ operator?: ((value: any, options?: TO[]) => boolean) | ((value: any, options?: TO) => boolean); /** Select item value (ex id) for complex items */ valueSelector?(item: TO): IdType; /** Select row item value (from table source row field) for complex items */ rowValueSelector?(item: any): IdType | undefined; /** Render option label */ renderItem?(item: TO): ReactNode; } export declare function selectColumnMenuFilter({ dataFetcher, data, search, multiple, valueSelector, rowValueSelector, renderItem, operator, ...opts }: SelectFilterOptions): (props: import("@progress/kendo-react-grid").GridColumnMenuProps) => import("react/jsx-runtime").JSX.Element; export { selectColumnMenuFilterOperators }; //# sourceMappingURL=select-filter.d.ts.map