import type { CellCompareFunc, ColumnProp, ColumnRegular, DataType, Order } from "../../types/index";
import type { SortingColumnMap, SortingColumnOrder, SortingColumnRender, SortingOrder, SortingOrderFunction } from './sorting.types';
/**
 * Checks whether a sorting map contains at least one active order.
 *
 * Empty maps and properties with `undefined` order are treated as inactive.
 */
export declare function hasActiveSorting(sorting?: SortingOrder): boolean;
/**
 * Returns one-based additive sorting rank for a column.
 *
 * A single active sort does not need a visible rank, so it returns undefined.
 */
export declare function getSortingIndex(sorting: SortingOrder | undefined, prop: ColumnProp, sortingOrder?: SortingColumnOrder): SortingColumnRender['sortIndex'];
/**
 * Sorts row indexes against a source collection.
 *
 * @param indexes - Current proxy row indexes to sort.
 * @param source - Full source collection addressed by the indexes.
 * @param sortingFunc - Comparator functions by column property.
 * @param sorting - Active sorting order by column property.
 * @param sortingColumns - Column metadata by property for default-comparer optimization.
 * @param sortingOrder - Active sorting priority in click/config insertion order.
 * @returns Sorted proxy indexes. With no sorting function keys, returns source-order indexes.
 */
export declare function sortIndexByItems(indexes: number[], source: DataType[], sortingFunc?: SortingOrderFunction, sorting?: SortingOrder, sortingColumns?: SortingColumnMap, sortingOrder?: SortingColumnOrder): number[];
export declare function defaultCellCompare(this: {
    column?: ColumnRegular;
}, prop: ColumnProp, a: DataType, b: DataType): 0 | 1 | -1;
export declare function descCellCompare(cmp: CellCompareFunc): (prop: ColumnProp, a: DataType, b: DataType) => number;
export declare function getNextOrder(currentOrder: Order): Order;
export declare function getComparer(column: Partial<ColumnRegular> | undefined, order: Order): CellCompareFunc | undefined;
