import React from "react";
type BaseRow = Record<string, unknown> & {
    id: number | string;
};
type ColumnItem = {
    name: string;
    key: string;
};
export type TableProps<Row extends BaseRow> = {
    columns: ColumnItem[];
    rows: Row[];
    rowRenderer: (row: Row) => React.ReactNode;
    tableProps?: React.HTMLAttributes<HTMLTableElement>;
};
/**
 * A basic reusable table component that supports client-side sorting by a column
 *
 * @param columns     - an array of objects with name and key properties
 * @param rows        - an array of objects with keys that match the column keys
 * @param rowRenderer - a function that takes a row object and returns a <tr> element
 * @param tableProps  - additional props to pass to the <table> element
 */
export declare function Table<Row extends BaseRow>({ columns, rows, rowRenderer, ...tableProps }: TableProps<Row>): import("react/jsx-runtime").JSX.Element;
export {};
