import React, { ReactNode } from "react";
export declare function DataTable<D extends Record<string, any>>({ sortable, columns, data, onRowClick, hideFilter, hideHeader, hideFooter, additionalFilter, ref, emptyMessage, defaultRowsPerPage, }: TableProps<D>): React.JSX.Element;
type Column<Data extends object> = {
    title: string | ReactNode;
    key: keyof Data;
    width?: number;
    sortable?: boolean;
    sortDir?: "asc" | "desc";
    render?: (data: Data) => ReactNode;
    style?: React.CSSProperties;
    className?: string;
};
type TableProps<Data extends object = any> = {
    sortable?: boolean;
    columns?: Column<Data>[];
    data?: Data[];
    onRowClick?: (data: Data) => void;
    hideFilter?: boolean;
    hideHeader?: boolean;
    hideFooter?: boolean;
    rowsPerPage?: number;
    additionalFilter?: ReactNode;
    additionalFooter?: ReactNode;
    ref?: React.RefObject<HTMLTableElement>;
    emptyMessage?: string;
    defaultRowsPerPage?: 10 | 25 | 50 | 100;
};
export {};
