import { IResponsiveTablePlugin } from '../Plugins/IResponsiveTablePlugin'; import { IResponsiveTableColumnDefinition, SortDirection } from '../Data/IResponsiveTableColumnDefinition'; interface UseTablePluginsProps { data: TData[]; plugins?: IResponsiveTablePlugin[]; filterProps?: { showFilter?: boolean; filterPlaceholder?: string; className?: string; mode?: 'client' | 'server'; }; selectionProps?: { onSelectionChange: (selectedItems: TData[]) => void; rowIdKey: keyof TData; mode?: 'single' | 'multiple'; selectedItems?: TData[]; }; sortProps?: { initialSortColumn?: string; initialSortDirection?: SortDirection; }; columnDefinitions: (IResponsiveTableColumnDefinition | ((data: TData, rowIndex?: number) => IResponsiveTableColumnDefinition))[]; getScrollableElement: () => HTMLElement | null; onFilterChange?: (filterText: string) => void; } interface UseTablePluginsReturn { processedData: TData[]; activePlugins: IResponsiveTablePlugin[]; visibleColumns: (IResponsiveTableColumnDefinition | ((data: TData, rowIndex?: number) => IResponsiveTableColumnDefinition))[]; forceUpdatePlugins: () => void; } export declare const useTablePlugins: (props: UseTablePluginsProps) => UseTablePluginsReturn; export {};