import { ReactNode } from 'react';
export type SortDirection = "asc" | "desc";
export type TableColumn<T> = {
    key: string;
    header: ReactNode;
    accessor?: keyof T;
    render?: (row: T) => ReactNode;
    sortable?: boolean;
    className?: string;
};
export type TableProps<T extends {
    id?: string | number;
}> = {
    columns: TableColumn<T>[];
    data: T[];
    loading?: boolean;
    emptyTitle?: ReactNode;
    emptyDescription?: ReactNode;
    sortKey?: string;
    sortDirection?: SortDirection;
    onSort?: (key: string) => void;
    onRowClick?: (row: T) => void;
    rowActions?: (row: T) => ReactNode;
    className?: string;
};
export declare function Table<T extends {
    id?: string | number;
}>({ columns, data, loading, emptyTitle, emptyDescription, sortKey, sortDirection, onSort, onRowClick, rowActions, className }: TableProps<T>): import("react/jsx-runtime").JSX.Element;
