declare const SORT_PREFIX: "orderBy."; type TKey = string | number | symbol; type Values = T[keyof T]; type SortedColumn = { key: T; order: "asc" | "desc"; }; type Comparator = (a: T, b: T) => number; type AscendingComparatorsDict = { [key in K]: Comparator; }; type SortedPropertiesFromParams = Values<{ [key in keyof Obj]-?: key extends `${typeof SORT_PREFIX}${infer K}` ? K : never; }>; type OrderByParams = { [key in `${typeof SORT_PREFIX}${T}`]: "asc" | "desc"; }; declare function indifferentComparator(a: T, b: T): number; declare function getSorted(ascendingComparators: AscendingComparatorsDict, orderBy: SortedColumn[], items: V[]): V[]; declare function numberAscending(a: number, b: number): number; declare function stringAscending(a: T, b: T): number; declare function timestampNewerFirst(a: number, b: number): number; declare function isValidOrder(value: unknown): value is "asc" | "desc"; declare function isSortQueryParam(value: unknown): value is `${typeof SORT_PREFIX}${string}`; declare function getSortedProperty

(value: `${typeof SORT_PREFIX}${P}`): P; declare function parseSortingParams(params: Obj): SortedColumn>[]; declare function isValidSortedColumns(sortableKeys: readonly T[], value: any): value is SortedColumn[]; declare function toQueryParams(sortedColumns: SortedColumn[]): Record; export { AscendingComparatorsDict, Comparator, OrderByParams, SORT_PREFIX, SortedColumn, SortedPropertiesFromParams, TKey, Values, getSorted, getSortedProperty, indifferentComparator, isSortQueryParam, isValidOrder, isValidSortedColumns, numberAscending, parseSortingParams, stringAscending, timestampNewerFirst, toQueryParams };