import { type IntlShape } from "react-intl";
import { type IBucket, type IInsightDefinition, type IMeasure, type ISortItem, type SortDirection } from "@gooddata/sdk-model";
import { type IAvailableSortsGroup } from "../interfaces/SortConfig.js";
import { type IBucketItem, type IExtendedReferencePoint, type IVisualizationProperties } from "../interfaces/Visualization.js";
export declare function getAttributeSortItem(identifier: string, direction?: SortDirection, aggregation?: boolean): ISortItem;
export declare function getDefaultTreemapSortFromBuckets(viewBy: IBucket | undefined, segmentBy: IBucket | undefined, measures: IMeasure[] | undefined): ISortItem[];
/**
 * Defaults created by this helper need to be the same
 * as defaults created by method getDefaultAndAvailableSort in each PV's class
 */
export declare function createSorts(type: string, insight: IInsightDefinition, supportedControls: IVisualizationProperties): ISortItem[];
export declare function getBucketItemIdentifiers(referencePoint: IExtendedReferencePoint): string[];
export declare function removeSort(referencePoint: Readonly<IExtendedReferencePoint>): IExtendedReferencePoint;
/**
 * Validates the previous sort in context of new available sorts for new buckets state.
 * Keeps current sort item if valid.
 * If current sort is not valid it is replaced by the most similar sort or default one for current moment.
 * - metric sort replaced by area sort if available
 * - area sort replaced by metric sort if available
 * - attribute sort used regardless its position
 * @param previousAvailableSorts - available sorts for previous setup (buckets content, set properties)
 * @param previousSort - current sorts to validate
 * @param availableSorts - available sorts for current moment (buckets content, set properties)
 * @param defaultSort - default sorts for current moment
 */
export declare function validateCurrentSort(previousAvailableSorts?: IAvailableSortsGroup[], previousSort?: ISortItem[], availableSorts?: IAvailableSortsGroup[], defaultSort?: ISortItem[]): ISortItem[];
export declare function getCustomSortDisabledExplanation(relevantMeasures: IBucketItem[], relevantAttributes: IBucketItem[], intl: IntlShape): string | undefined;
//# sourceMappingURL=sort.d.ts.map