import { default as React } from 'react'; export interface ColumnDef { key: string; header: React.ReactNode; cell?: (item: T) => React.ReactNode; sortable?: boolean; className?: string; headerClassName?: string; cellClassName?: string; } export type SortDirection = 'asc' | 'desc'; export interface TableState { page: number; pageSize: number; sortKey?: string; sortDirection?: SortDirection; } export interface DataTableProps extends React.HTMLAttributes { columns: ColumnDef[]; data: T[]; isLoading?: boolean; state?: TableState; onStateChange?: (state: TableState) => void; sortKey?: string; sortDirection?: SortDirection; onSort?: (key: string, direction: SortDirection) => void; pagination?: { currentPage?: number; totalPages: number; onPageChange?: (page: number) => void; pageSize?: number; pageSizeOptions?: number[]; onPageSizeChange?: (pageSize: number) => void; }; getRowKey?: (row: T) => string | number; } export declare function DataTable>({ columns, data, isLoading, state, onStateChange, sortKey, sortDirection, onSort, pagination, getRowKey, className, ...props }: DataTableProps): React.JSX.Element;