export declare enum DataGridSortingStrategy { Descending = "descending", Ascending = "ascending" } export type DataGridSortingDefinition = { readonly selector: KeyPath.Of; readonly strategy: DataGridSortingStrategy; }; export type DataGridRankedSortDefinition = DataGridSortingDefinition & { readonly rank: number; }; export type DataGridSorting = DataGridSortingDefinition | Array>; interface SortableComponent { sorting?: DataGridSorting | undefined; readonly sortingChange?: EventDispatcher>>; } export declare class DataGridSortingController { readonly host: SortableComponent; constructor(host: SortableComponent); get enabled(): boolean; get(): DataGridRankedSortDefinition[]; set(sorting: DataGridSorting): void; private toNormalizedRanked; reset(): void; /** * Toggles the sorting strategy of the provided key path. * If a modifier key is pressed, the sorting will be added to the existing sorting definitions. * * @param selector - The key path of the data to sort by * @param strategy - The sorting strategy to use forcefully. If not provided, the strategy will be toggled between ascending, descending, and unsorted */ toggle(selector: KeyPath.Of, strategy?: DataGridSortingStrategy): void; /** * Sorts the provided data based on the current sorting definitions * @param data - The data to sort * @returns - The sorted data */ toSorted(data: Array): TData[]; toSortedBy(data: Array, extractor: (data: T) => TData): T[]; } export {}; //# sourceMappingURL=DataGridSortingController.d.ts.map