import { ITableColumnProps } from '../../../table';
import { IFilterCondition } from './interfaces';
export default interface IAdvancedFilterProps<T extends object> {
    /**
     * The current filter conditions applied to the table, this can be stateful.
     * @type {IFilterCondition<T>[]}
     * @Template T - The interface of the DataTable's data records or attributes (ie: Person).
     */
    value?: IFilterCondition<T>[];
    /**
     * Callback fired when the filter conditions are changed by the user.
     * @param {IFilterCondition<T>[]} filter - The new filter state.
     */
    onChange?: (filter: IFilterCondition<T>[] | undefined) => void;
    /**
     * Available columns for filtering
     */
    columns: ITableColumnProps<T>[];
}
