import { TFunction } from '@sisense/sdk-common';
import { Filter, Measure } from '@sisense/sdk-data';
/**
 * Collection of filter options for the {@link CriteriaFilterMenu},
 * to be provided to subcomponents as the `filterType` prop.
 *
 * @internal
 */
export declare const FilterOption: {
    readonly NOT_BETWEEN: "excludefromto";
    readonly TOP: "rankingtop";
    readonly BOTTOM: "rankingbottom";
    readonly BETWEEN: "numericfromto";
    readonly EQUALS_NUMERIC: "numericequals";
    readonly NOT_EQUALS_NUMERIC: "numericdoesntEqual";
    readonly LESS_THAN: "numerictoNotEqual";
    readonly LESS_THAN_OR_EQUAL: "numericto";
    readonly GREATER_THAN: "numericfromNotEqual";
    readonly GREATER_THAN_OR_EQUAL: "numericfrom";
    readonly EQUALS_TEXT: "textequals";
    readonly NOT_EQUALS_TEXT: "textdoesntEqual";
    readonly CONTAINS: "textcontains";
    readonly NOT_CONTAIN: "textdoesntContain";
    readonly STARTS_WITH: "textstartsWith";
    readonly NOT_STARTS_WITH: "textdoesntStartWith";
    readonly ENDS_WITH: "textendsWith";
    readonly NOT_ENDS_WITH: "textdoesntEndWith";
    readonly LIKE: "textlike";
};
export type FilterOptionType = keyof typeof FilterOption;
/**
 * Object containing related information for a filter option,
 * including the function to be used for filtering, the number of inputs,
 * and the symbols to be displayed in the UI as field labels.
 * Ranked indicates whether the filter is ranked (e.g. Top 10).
 *
 * @internal
 */
export type FilterInfo = {
    fn: (...args: any[]) => Filter;
    inputCount: number;
    symbols: string[];
    message: string;
    ranked: boolean;
    type: string;
};
/**
 * Map of {@link FilterOption} to {@link FilterInfo}
 * for each type of filter available.
 *
 * @internal
 */
export declare const CRITERIA_FILTER_MAP: {
    [key: string]: FilterInfo;
};
/**
 * Given an input filter, use the filterType and operators to determine
 * the corresponding {@link FilterOption} and {@link FilterInfo}.
 *
 * @internal
 */
export declare const filterToOption: (filter: Filter) => FilterOptionType;
export type CriteriaFilterValueType = string | number | Measure;
export declare const filterToDefaultValues: (filter: Filter) => CriteriaFilterValueType[];
export declare const valuesToDisplayValues: (values: CriteriaFilterValueType[]) => (string | number)[];
export declare const translatedMsgNoVal: (message: string, t: TFunction) => string;
export declare const filterTypeToInputType: (filterType: string) => string;
