import type { Ref, ReactNode, ReactElement, ComponentType } from 'react'; import type { BaseProps, ForwardProps, NoChildrenProp } from '../../types'; export interface DefaultRowData { id: string | number; } export interface ColumnProps { /** Render cell content for a column with a component or by passing a property key on the row object to serve as an accessor. */ renderer: ComponentType | keyof RowData; /** The visual label for the column. */ label: string; /** * The text alignment of the column header and the row contents for the column. * @default 'left' */ align?: 'left' | 'center' | 'right'; /** * If true, this column will not wrap text on overflow. * @default false */ noWrap?: boolean; } export interface TableProps extends BaseProps, NoChildrenProp { /** The column headers that will structure the Table. */ columns: ColumnProps[]; /** * The content of the Table, represented as an array of objects with key value pairs. * @default [] */ data?: RowData[]; /** * Should the data rows highlight when the mouse hovers over them. * @default false */ hoverHighlight?: boolean; /** * Indicates if the data to populate the Table is still loading. * @default false */ loading?: boolean; /** A message to be displayed when Table data is loading. */ loadingMessage?: string; /** The title that will render above the Table if provided. */ title?: ReactNode; /** Ref for the wrapping element. */ ref?: Ref; } export declare const StyledTableWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit, HTMLDivElement>, never>> & string; /** @deprecated */ declare const Table: (props: TableProps & ForwardProps) => ReactElement | null; export default Table; //# sourceMappingURL=Table.d.ts.map