import React, { ReactElement } from "react"; import { TableOptions } from "./Table.js"; /** Custom table data filter */ export interface FilterSelectOption { /** The label displayed for the select filter */ name: string; /** Whether to select by default */ defaultValue: boolean; /** The function used to filter the set. */ filterFn: (row: D) => boolean; } /** Custom table data filters that are only active when selected by the user */ export interface FilterSelect { /** Filter a row if `every` selected filter function returns true (logical AND), or at least `some` (logical OR) */ type?: "every" | "some"; /** filter functions called for every data row */ filters: FilterSelectOption[]; filterPosition?: "top" | "bottom"; } export declare const FilterSelectTableStyled: import("styled-components/dist/types.js").IStyledComponentBase<"web", import("styled-components").FastOmit, HTMLDivElement>, never>> & string; export interface FilterSelectTableOptions extends TableOptions { filterSelect: FilterSelect; } /** * Table with customizable filter functions as CheckboxGroup that when selected * filter the rows if the function return true. By default only 'some' filter function * has to match for it to filter the row */ export declare function FilterSelectTable(props: FilterSelectTableOptions): ReactElement; export default FilterSelectTable;