import type { NamedBean } from '../context/bean';
import { BeanStub } from '../context/beanStub';
import type { RowNode } from '../entities/rowNode';
import type { SortOption } from '../interfaces/iSortOption';
export declare class RowNodeSorter extends BeanStub implements NamedBean {
    beanName: "rowNodeSorter";
    private accentedSort;
    private primaryColumnsSortGroups;
    private pivotActive;
    private firstLeaf;
    postConstruct(): void;
    private updateOptions;
    private updatePivotModeState;
    doFullSortInPlace(rowNodes: RowNode[], sortOptions: SortOption[]): RowNode[];
    compareRowNodes(sortOptions: SortOption[], nodeA: RowNode, nodeB: RowNode): number;
    /**
     * if user defines a comparator as a function then use that.
     * if user defines a dictionary of comparators, then use the one matching the sort type.
     * if no comparator provided, or no matching comparator found in dictionary, then return undefined.
     *
     * grid checks later if undefined is returned here and falls back to a default comparator corresponding to sort type on the coldef.
     * @private
     */
    private getComparator;
    private getComparatorFromColDef;
    private getValue;
    private getGroupDataValue;
}
