import type { FilterFn } from "@tanstack/table-core";
import { DateFilterOperatorType, FilterOperatorTypes, NumberFilterOperatorType, StringFilterOperatorType, SelectFilterOperatorType, FilterTypes, FilterValueType } from "~/v1/types/filters";
import { RQLFilterValues } from "../data-table.types";
export type FilterFunctionsMap = {
    number: Record<NumberFilterOperatorType, FilterFn<any>>;
    string: Record<StringFilterOperatorType, FilterFn<any>>;
    date: Record<DateFilterOperatorType, FilterFn<any>>;
    select: Record<SelectFilterOperatorType, FilterFn<any>>;
};
export declare const filterOperationsMap: FilterFunctionsMap;
export declare function getFilterFn<T extends keyof FilterFunctionsMap>(type: T, operator: FilterOperatorTypes): any;
export declare const getFilterOperator: ({ value, filterType, operator, }: {
    value: any;
    filterType?: "string" | "number" | "select" | "date" | undefined;
    operator: FilterOperatorTypes;
}) => FilterOperatorTypes;
export declare const getFilterValue: ({ value, dataType, filterType, }: {
    value: any;
    dataType?: FilterValueType | undefined;
    filterType?: "string" | "number" | "select" | "date" | undefined;
}) => RQLFilterValues;
export declare const getDataType: ({ filterType, dataType, }: {
    dataType?: FilterValueType | undefined;
    filterType?: "string" | "number" | "select" | "date" | undefined;
}) => FilterValueType;
//# sourceMappingURL=filter-operations.d.ts.map