import * as React from 'react';

/**
 * Table — from @kibrisyazilim/design-system@0.1.0.
 * @replaces table
 */
export interface TableProps<T extends Record<string, unknown>> {
  columns: TableColumn<T>[];
  rows: T[];
  /** Stable row key. Defaults to the row index. */
  getRowKey?: (row: T, index: number) => string | number;
  /** Describes the table for screen readers. Visually hidden unless `showCaption`. */
  caption?: React.ReactNode;
  showCaption?: boolean;
  density?: "compact" | "normal";
  /** Tints alternating rows. */
  striped?: boolean;
  /** Highlights the row under the pointer. */
  hoverable?: boolean;
  /** Shown in place of the body when `rows` is empty. */
  emptyMessage?: React.ReactNode;
  className?: string;
  style?: CSSProperties;
}

export declare const Table: React.ComponentType<TableProps>;
