import { AnyObject } from "../../_util/type.js"; import { ColumnTitleProps, ColumnType, ColumnsType, Key, SortOrder, SorterResult, SorterTooltipProps, TableLocale, TransformColumns } from "../interface.js"; import { Locale } from "../../locale/index.js"; import { Ref } from "vue"; //#region src/table/hooks/useSorter.d.ts interface SortState { column: ColumnType; key: Key; sortOrder: SortOrder | null; multiplePriority: number | false; } declare function getSortData(data: readonly RecordType[], sortStates: SortState[], childrenColumnName: string): RecordType[]; type MaybeRef = T | Ref; interface SorterConfig { prefixCls: MaybeRef; mergedColumns: MaybeRef>; /** * Columns before applying the responsive filter. * Used to collect `defaultSortOrder` / controlled `sortOrder` for columns * that are currently hidden by `column.responsive`, so the user's sort * intent is preserved when the column appears at a different breakpoint. * Falls back to `mergedColumns` when not provided. * See: https://github.com/ant-design/ant-design/issues/32847 */ baseColumns?: MaybeRef>; onSorterChange: (sorterResult: SorterResult | SorterResult[], sortStates: SortState[]) => void; sortDirections: MaybeRef; tableLocale?: MaybeRef; showSorterTooltip?: MaybeRef; globalLocale?: MaybeRef; } declare function useSorter(props: SorterConfig): readonly [TransformColumns, import("vue").ComputedRef[]>, import("vue").ComputedRef>, () => SorterResult | SorterResult[]]; //#endregion export { SortState, useSorter as default, getSortData };