import type { H0Density } from '../../types'; export type H0TableColumnAlign = 'left' | 'center' | 'right'; export type H0TableColumnSizing = 'auto' | 'equal'; export type H0TableDensity = H0Density; export type H0TableAriaSort = 'ascending' | 'descending' | 'none'; export type H0TableRow = Record; export type H0TableRowKey = string | number; export type H0TableColumn = { key: string; label: string; width?: string | number; minWidth?: string | number; maxWidth?: string | number; align?: H0TableColumnAlign; headerAlign?: H0TableColumnAlign; ariaSort?: H0TableAriaSort; value?: (row: Row) => unknown; }; export type H0TableGetRowKey = (row: Row, index: number) => H0TableRowKey; export type H0TableProps = { columns: H0TableColumn[]; rows?: Row[]; getRowKey?: H0TableGetRowKey; columnSizing?: H0TableColumnSizing; density?: H0TableDensity; striped?: boolean; hoverable?: boolean; bordered?: boolean; stickyHeader?: boolean; scrollHeight?: string | number; minWidth?: string | number; loading?: boolean; emptyText?: string; loadingText?: string; caption?: string; ariaLabel?: string; }; export type H0TableEmits = { 'row-click': [row: Row, index: number, event: MouseEvent]; 'viewport-scroll': [event: Event]; };