import { IntlShape } from "react-intl";
import { VisType } from "../../constants/visualizationTypes";
import { OverTimeComparisonType } from "../../interfaces/OverTimeComparison";
import { VisualizationObject } from "@gooddata/typings";
import { IBucketItem, IBucket, IExtendedReferencePoint, IUiConfig, IFilters, IDateFilter } from "../interfaces/Visualization";
export declare function sanitizeFilters(newReferencePoint: IExtendedReferencePoint): IExtendedReferencePoint;
export declare function isDerivedBucketItem(measureItem: IBucketItem): boolean;
/**
 * Get array of unique over time comparison types used in ancestors of the provided arithmetic measure.
 *
 * @param measure - the (possibly) arithmetic measure
 * @param buckets - all buckets
 * @return empty array if there are no derived measures in the arithmetic measure ancestors, empty array if provided
 * measure is not arithmetic, array of unique {OverTimeComparisonType} of derived ancestor measures found in arithmetic
 * measure tree.
 */
export declare function getDerivedTypesFromArithmeticMeasure(measure: IBucketItem, buckets: IBucket[]): OverTimeComparisonType[];
export declare function filterOutDerivedMeasures(measures: IBucketItem[]): IBucketItem[];
export declare function filterOutArithmeticMeasuresFromDerived(measures: IBucketItem[], buckets: IBucket[]): IBucketItem[];
export declare function keepOnlyMasterAndDerivedMeasuresOfType(measures: IBucketItem[], derivedType: OverTimeComparisonType): IBucketItem[];
export declare function filterOutIncompatibleArithmeticMeasures(measures: IBucketItem[], buckets: IBucket[], derivedOfTypeToKeep: OverTimeComparisonType): IBucketItem[];
export declare function isDateBucketItem(bucketItem: IBucketItem): boolean;
export declare const isNotDateBucketItem: (a1: IBucketItem) => boolean;
export declare function getDateFilter(filtersBucket: IFilters): IDateFilter;
export declare function getComparisonTypeFromFilters(filtersBucket: IFilters): OverTimeComparisonType;
export declare function setBucketTitles(referencePoint: IExtendedReferencePoint, visualizationType: string, intl?: IntlShape): IUiConfig;
export declare function generateBucketTitleId(localIdentifier: string, visualizationType: string): string;
export declare function generateBucketSubtitleId(localIdentifier: string, visualizationType: string): string;
export declare function getItemsCount(buckets: IBucket[], localIdentifier: string): number;
export declare function getBucketItems(buckets: IBucket[], localIdentifier: string): IBucketItem[];
export declare function getItemsFromBuckets(buckets: IBucket[], localIdentifiers: string[], types?: string[]): IBucketItem[];
export declare function getBucketItemsByType(buckets: IBucket[], localIdentifier: string, types: string[]): IBucketItem[];
export declare function getPreferredBucketItems(buckets: IBucket[], preference: string[], type: string[]): IBucketItem[];
export declare function getPreferredBucket(buckets: IBucket[], preference: string[], type: string[]): IBucket;
export declare function getAllBucketItemsByType(bucket: IBucket, types: string[]): IBucketItem[];
export declare function getAllItemsByType(buckets: IBucket[], types: string[]): IBucketItem[];
export declare function removeDuplicateBucketItems(buckets: IBucket[]): IBucket[];
export declare function getTotalsFromBucket(buckets: IBucket[], bucketName: string): VisualizationObject.IVisualizationTotal[];
export declare function getUniqueAttributes(buckets: IBucket[]): IBucketItem[];
export declare function getMeasures(buckets: IBucket[]): IBucketItem[];
export declare function getFirstValidMeasure(buckets: IBucket[]): IBucketItem;
export declare function getFirstAttribute(buckets: IBucket[]): IBucketItem;
export declare function getMeasureItems(buckets: IBucket[]): IBucketItem[];
export declare function getBucketItemsWithExcludeByType(buckets: IBucket[], excludedBucket: string[], type: string[]): IBucketItem[];
export declare function getStackItems(buckets: IBucket[], itemTypes?: string[]): IBucketItem[];
export declare function getAttributeItems(buckets: IBucket[]): IBucketItem[];
export declare function getAttributeItemsWithoutStacks(buckets: IBucket[]): IBucketItem[];
export declare function getAllCategoriesAttributeItems(buckets: IBucket[]): IBucketItem[];
export declare function getAllAttributeItems(buckets: IBucket[]): IBucketItem[];
export declare function getAllAttributeItemsWithPreference(buckets: IBucket[], preference: string[]): IBucketItem[];
export declare function getDateItems(buckets: IBucket[]): IBucketItem[];
export declare function applyUiConfig(referencePoint: IExtendedReferencePoint): IExtendedReferencePoint;
export declare function hasBucket(buckets: IBucket[], localIdentifier: string): boolean;
export declare function findBucket(buckets: IBucket[], localIdentifier: string): IBucket;
export declare function getBucketsByNames(buckets: IBucket[], names: string[]): IBucket[];
export declare function getFirstMasterWithDerived(measureItems: IBucketItem[]): IBucketItem[];
export declare function removeAllArithmeticMeasuresFromDerived(extendedReferencePoint: IExtendedReferencePoint): IExtendedReferencePoint;
export declare function removeAllDerivedMeasures(extendedReferencePoint: IExtendedReferencePoint): IExtendedReferencePoint;
export declare function findMasterBucketItem(derivedBucketItem: IBucketItem, bucketItems: IBucketItem[]): IBucketItem;
export declare function findMasterBucketItems(bucketItems: IBucketItem[]): IBucketItem[];
export declare function findDerivedBucketItems(masterBucketItem: IBucketItem, bucketItems: IBucketItem[]): IBucketItem[];
export declare function findDerivedBucketItem(masterBucketItem: IBucketItem, bucketItems: IBucketItem[]): IBucketItem;
export declare function hasDerivedBucketItems(masterBucketItem: IBucketItem, buckets: IBucket[]): boolean;
export declare function getFilteredMeasuresForStackedCharts(buckets: IBucket[]): IBucketItem[];
export declare function noRowsAndHasOneMeasure(buckets: VisualizationObject.IBucket[]): boolean;
export declare function noColumnsAndHasOneMeasure(buckets: VisualizationObject.IBucket[]): boolean;
export declare function limitNumberOfMeasuresInBuckets(buckets: IBucket[], measuresLimitCount: number, tryToSelectDerivedWithMaster?: boolean): IBucket[];
export declare function isShowOnSecondaryAxis(item: IBucketItem): boolean;
export declare function setMeasuresShowOnSecondaryAxis(items: IBucketItem[], value: boolean): IBucketItem[];
export declare function removeShowOnSecondaryAxis(items: IBucketItem[]): IBucketItem[];
export declare function getAllMeasuresShowOnSecondaryAxis(buckets: IBucket[]): IBucketItem[];
export declare function getItemsLocalIdentifiers(items: IBucketItem[]): string[];
export declare const getOccupiedMeasureBucketsLocalIdentifiers: (type: VisType, mdObject: VisualizationObject.IVisualizationObjectContent, executionResultData: (string | number)[][]) => string[];
export interface IMeasureBucketItemsLimit {
    localIdentifier: string;
    itemsLimit: number;
}
export declare const transformMeasureBuckets: (measureBucketItemsLimits: IMeasureBucketItemsLimit[], buckets: IBucket[]) => IBucket[];
