import type { TransformColumns, ColumnsType, Key, ColumnType, SortOrder, ColumnTitleProps, SorterResult } from '../Table.types'; import type { TooltipProps } from '../../Tooltip'; export interface SortState { column: ColumnType; key: Key; sortOrder: SortOrder | null; multiplePriority: number | false; } export declare function getSortData(data: readonly RecordType[], sortStates: SortState[], childrenColumnName: string): RecordType[]; interface SorterConfig { cancelSortText: string; mergedColumns: ColumnsType; onSorterChange: (sorterResult: SorterResult | SorterResult[], sortStates: SortState[]) => void; sortDirections: SortOrder[]; triggerAscText: string; triggerDescText: string; sortedAscendingText: string; sortedDescendingText: string; notSortedText: string; showSorterDefaultIcon?: boolean; showSorterTooltip?: boolean | TooltipProps; } export default function useFilterSorter({ cancelSortText, mergedColumns, onSorterChange, sortDirections, triggerAscText, triggerDescText, sortedAscendingText, sortedDescendingText, notSortedText, showSorterDefaultIcon, showSorterTooltip, }: SorterConfig): [ TransformColumns, SortState[], ColumnTitleProps, () => SorterResult | SorterResult[] ]; export {};