import { PropsWithChildren } from 'react';
import { Data } from '../../types/data';
import { FilterType, FilterValues } from './Filters.model';
export interface FiltersProps<T extends Data> {
    options?: FilterType<T>[];
    defaultValues?: FilterValues<T>;
    onFiltersChange?: (filters: FilterValues<T>) => void;
    className?: string;
}
/**
 * Renders filter components depending on the options specified in params
 * FreeTextFilter and OptionsFilter are inbuilt filter types and its possible to pass custom
 * filters with filter type of CustomFilter
 * @param array - filters: Array of FilterControl elements to define all the filters
 * @Param object - filters: Object of currently active filters
 * @param function - onFiltersChange: callBack function to invoke when the selected value for filter is changed
 * @example
 *   <Filter filters={[freeTextFilter, optionsFilter, customFilter]} onFiltersChange={callBackFn} />
 */
export declare const Filters: <T extends Data>({ defaultValues: defaultFilters, options, onFiltersChange, className, }: PropsWithChildren<FiltersProps<T>>) => JSX.Element;
//# sourceMappingURL=Filters.d.ts.map