import { Dispatch, SetStateAction } from "react";
import React from "react";
import { Config } from "../IProps";
interface IProps<T extends object> {
    states: {
        search: {
            get: string | null;
            set: Dispatch<React.SetStateAction<string | null>>;
        };
        dateFilters: {
            get: Record<string, {
                from: Date | null;
                to: Date | null;
            }>;
            set: Dispatch<SetStateAction<Record<string, {
                from: Date | null;
                to: Date | null;
            }>>>;
        };
        selectFilters: {
            get: {
                [key: string]: (string | null)[];
            };
            set: Dispatch<SetStateAction<{
                [key: string]: (string | null)[];
            }>>;
        };
        selectedFilters: {
            get: Record<string, Set<string | null>>;
            set: Dispatch<SetStateAction<Record<string, Set<string | null>>>>;
        };
    };
    config?: Config<T>;
}
declare function Filter<T extends object>({ states, config }: IProps<T>): React.JSX.Element;
export default Filter;
