import { CascadingFilter, Filter } from '@sisense/sdk-data'; import { FiltersIgnoringRules, PureFilter } from './types'; /** * Flattens cascading filters into a single array of filters. */ export declare function flattenCascadingFilters(filters: Filter[]): { flatFilters: PureFilter[]; cascadingToPureFiltersMap: Record; }; /** * Reassembles flattened filters back into cascading filters based on original cascading filters. * * @param updatedFilters - Updated pure filters to reassemble. * @param originalFilters - Original filters with maybe cascading filters. * @returns reassembled filters. */ export declare function reassembleCascadingFilters(updatedFilters: PureFilter[], originalFilters: (PureFilter | CascadingFilter)[], config?: { shouldResetFiltersDeeperThanModified?: boolean; }): (PureFilter | CascadingFilter)[]; /** * Converts cascading filters to pure filters and vice versa. * * @param complexFilters - all filters, including cascading filters. * @param updateComplexFilters - a function to update complex filters. * @param complexFiltersIgnoringRules - filters ignoring rules for complex filters. * @returns converted pure filters and a decorated filters updater. */ export declare function withCascadingFiltersConversion(complexFilters: (PureFilter | CascadingFilter)[], updateComplexFilters: (filters: (PureFilter | CascadingFilter)[]) => void, complexFiltersIgnoringRules: FiltersIgnoringRules): { pureFilters: PureFilter[]; updateFilters: (filters: PureFilter[]) => void; pureFiltersIgnoringRules: FiltersIgnoringRules; }; //# sourceMappingURL=cascading-utils.d.ts.map