import { AthenaTableSortingState } from '../utils/table-sorting-state.js'; export type { AthenaTableSortDescriptor, AthenaTableSortDirection, AthenaTableSortingState } from '../utils/table-sorting-state.js'; export interface UseTableSortingOptions { controlledSorting?: AthenaTableSortingState; onSortingChange?: (sorting: AthenaTableSortingState) => void; preferencesEndpoint?: string; tableId: string; } interface TableSortingStore { getSorting: (tableId: string) => AthenaTableSortingState; setSorting: (tableId: string, sorting: AthenaTableSortingState) => void; sorting: Record; } export declare const useTableSortingStore: import('zustand').UseBoundStore, "setState" | "persist"> & { setState(partial: TableSortingStore | Partial | ((state: TableSortingStore) => TableSortingStore | Partial), replace?: false | undefined): unknown; setState(state: TableSortingStore | ((state: TableSortingStore) => TableSortingStore), replace: true): unknown; persist: { setOptions: (options: Partial; }, unknown>>) => void; clearStorage: () => void; rehydrate: () => Promise | void; hasHydrated: () => boolean; onHydrate: (fn: (state: TableSortingStore) => void) => () => void; onFinishHydration: (fn: (state: TableSortingStore) => void) => () => void; getOptions: () => Partial; }, unknown>>; }; }>; export declare function useTableSorting({ controlledSorting, onSortingChange, preferencesEndpoint, tableId }: UseTableSortingOptions): { isServerPreferenceHydrated: boolean; setSorting: (nextSorting: AthenaTableSortingState) => void; sorting: AthenaTableSortingState; };