export declare const FilterType: {
    readonly number: "number";
    readonly string: "string";
    readonly date: "date";
    readonly select: "select";
};
export type FilterValueType = "string" | "number" | "boolean";
export interface FilterValue {
    value?: FilterValueType;
    date?: Date;
}
export type FilterOperation = {
    value: string;
    label: string;
};
export type NumberFilterOperatorType = "eq" | "neq" | "lt" | "lte" | "gt" | "gte";
export type StringFilterOperatorType = "eq" | "neq" | "like";
export type DateFilterOperatorType = "eq" | "neq" | "lt" | "lte" | "gt" | "gte";
export type SelectFilterOperatorType = "eq" | "neq";
export type FilterOperatorTypes = NumberFilterOperatorType | StringFilterOperatorType | DateFilterOperatorType | SelectFilterOperatorType | "empty";
export type FilterOperator<T> = {
    value: T;
    label: string;
};
export type FilterOperatorsMap = {
    number: FilterOperator<NumberFilterOperatorType>[];
    string: FilterOperator<StringFilterOperatorType>[];
    date: FilterOperator<DateFilterOperatorType>[];
    select: FilterOperator<SelectFilterOperatorType>[];
};
export type FilterTypes = keyof typeof FilterType;
export declare const filterOperators: FilterOperatorsMap;
export type Filter = {
    type: FilterTypes;
    filterOperation: string;
    value: string;
};
export interface FilterSelectOption {
    value: FilterValueType;
    label: string;
}
//# sourceMappingURL=filters.d.ts.map