import { ComputedRef } from 'vue'; import { ColumnType, Key, SortOrder, SorterResultLike } from '../types'; export interface SorterState = Record> { columnKey: Key | undefined; order: SortOrder; column: ColumnType | undefined; multiplePriority: number | false; } export type SorterResult = Record> = SorterResultLike | Array>; /** * 获取列的唯一标识。 * 优先使用 key,其次 dataIndex 转字符串。 */ declare function getColumnKey>(column: ColumnType): Key | undefined; export interface UseSorterOptions> { columns: () => ColumnType[]; tableSortDirections?: () => SortOrder[] | undefined; onSorterChange?: (sorterResult: SorterResult) => void; } export declare function useSorter>(options: UseSorterOptions): { sorterState: ComputedRef>; sorterStates: ComputedRef[]>; sorterResult: ComputedRef>; sortColumns: ComputedRef<{ column: ColumnType | undefined; order: SortOrder; }[]>; getSortOrder: (column: ColumnType) => SortOrder; toggleSortOrder: (column: ColumnType) => void; sortData: (data: TRecord[]) => TRecord[]; }; export { getColumnKey }; //# sourceMappingURL=useSorter.d.ts.map