import type { UseDataTableSortEvent, SortMeta, SortOrder } from '@primereact/types/headless/datatable'; import * as React from 'react'; export interface UseDataTableSortOptions { data: Record[]; lazy?: boolean; sortField?: string; sortOrder?: SortOrder; defaultSortField?: string; defaultSortOrder?: SortOrder; multiSortMeta?: SortMeta[]; defaultMultiSortMeta?: SortMeta[]; removableSort?: boolean; nullSortOrder?: number; onSortChange?: (event: UseDataTableSortEvent) => void; } export declare function useDataTableSort(options: UseDataTableSortOptions): { sortedData: Record[]; state: { sortField: string | undefined; sortOrder: SortOrder | undefined; multiSortMeta: SortMeta[] | undefined; }; exposes: { onSort: (event: React.SyntheticEvent, field: string, multiSort?: boolean) => void; isSorted: (field: string) => boolean; getSortOrder: (field: string) => SortOrder; getSortIndex: (field: string) => number; getSortProps: (field: string) => { role: "button"; tabIndex: number; 'aria-label': string; 'aria-sort': "none" | "ascending" | "descending"; onClick: (event: React.MouseEvent | React.KeyboardEvent) => void; onKeyDown: (event: React.KeyboardEvent) => void; 'data-sorted': string; 'data-sort-order': string; 'data-scope': string; 'data-part': string; } | { role: "button"; tabIndex: number; 'aria-label': string; 'aria-sort': "none" | "ascending" | "descending"; onClick: (event: React.MouseEvent | React.KeyboardEvent) => void; onKeyDown: (event: React.KeyboardEvent) => void; 'data-unsorted': string; 'data-scope': string; 'data-part': string; }; }; };