import { Filter, FilterRelations, FilterRelationsDescription, FilterRelationsJaql, FilterRelationsRules } from '@sisense/sdk-data'; export { splitFiltersAndRelations, getFiltersArray, combineFiltersAndRelations, isTrivialSingleNodeRelations, calculateNewRelations, getRelationsWithReplacedFilter, convertFilterRelationsModelToRelationRules, filterRelationRulesToFilterRelationsModel, isOpenBracketDescriptionNode, isCloseBracketDescriptionNode, isAttributeDescriptionNode, isOperatorDescriptionNode, mergeFiltersOrFilterRelations, type FilterRelationsDescription, type FilterRelationsRules, } from '@sisense/sdk-data'; /** * @internal */ export declare enum FiltersMergeStrategyEnum { WIDGET_FIRST = "widgetFirst", CODE_FIRST = "codeFirst", CODE_ONLY = "codeOnly" } export type FiltersMergeStrategy = `${FiltersMergeStrategyEnum}`; /** * Textual representation of filter relations for debugging purposes. * Returns string like "(([Gender] AND [Country]) OR [Condition])". * * @internal */ export declare function getRelationsAsText(relations: FilterRelationsRules, filters: Filter[]): string; /** * @internal */ export declare function getFilterRelationsDescription(relations: FilterRelationsRules, filters: Filter[]): FilterRelationsDescription; /** * Merge two arrays of filters using the specified merge strategy. * * @param widgetFilters - The filters from the widget. * @param codeFilters - The filters from the code. * @param mergeStrategy - The strategy to use for merging filters. * @returns The merged filters based on the selected strategy. * @internal */ export declare function mergeFiltersByStrategy(widgetFilters?: Filter[] | FilterRelations, codeFilters?: Filter[] | FilterRelations, mergeStrategy?: FiltersMergeStrategy): Filter[] | FilterRelations; /** * Replaces filters for same dimensions in filter relations jaql. * Widget filters have higher priority than dashboard filters. * * @param widgetFilters - The filters from the widget. * @param dashboardFilters - The filters from the dashboard. * @param relations - The filter relations before replacement. * @returns The filter relations after replacement. * @internal */ export declare function applyWidgetFiltersToRelations(widgetFilters: Filter[], dashboardFilters: Filter[], relations: FilterRelationsJaql | undefined): FilterRelationsJaql | undefined; //# sourceMappingURL=filter-relations.d.ts.map