import type { ComponentProps, HTMLAttributes, TdHTMLAttributes, ThHTMLAttributes } from "react";
import React from "react";
import { Box } from "../Box/Box";
export interface TableProps extends HTMLAttributes {
/**
* Makes the header, first column, or both sticky when scrolling.
* Useful for large tables where you want to keep the header and/or
* first column visible.
*/
sticky?: "header" | "first-column" | "header-and-first-column";
/**
* Background color for the first column.
* @default `"none"`
*/
headerBackground?: "first-column" | "first-row" | "first-row-and-column" | "none";
/**
* Controls how the wrapper div width around the table will will behave:
*
* - `fit-content`: Width adjusted based on its content while staying within the limits of its container.
* It ensures the element is never smaller than its minimum intrinsic size or larger than its maximum intrinsic size.
*
* - `full-width`: Width will always stretch to the full viewport size, regardless of the size of the content.
*/
variant?: "fit-content" | "full-width";
/**
* - `auto`: Use the table-auto utility to automatically size table columns to fit the contents of its cells
* - `fixed`: Use the table-fixed utility to ignore the content of the table cells and use fixed widths for each column
*
* @default `auto`
*/
layout?: "fixed" | "auto";
}
declare const TableRoot: React.ForwardRefExoticComponent>;
export interface TheadProps extends HTMLAttributes {
stickyHeader?: boolean;
}
declare const Thead: React.ForwardRefExoticComponent>;
export interface TbodyProps extends HTMLAttributes {
hasTFoot?: boolean;
}
declare const Tbody: React.ForwardRefExoticComponent>;
export interface TFootProps extends HTMLAttributes {
}
declare const TFoot: React.ForwardRefExoticComponent>;
export interface TrProps extends ComponentProps> {
}
declare const Tr: React.ForwardRefExoticComponent & React.RefAttributes>;
export interface ThProps extends ThHTMLAttributes {
/**
* Omit padding for the cell. This is useful when the consumer wants
* to have full control over what's rendered inside the cell.
*/
omitPadding?: boolean;
}
declare const Th: React.ForwardRefExoticComponent>;
export interface TdProps extends TdHTMLAttributes {
/**
* Omit padding for the cell. This is useful when the consumer wants
* to have full control over what's rendered inside the cell.
*/
omitPadding?: boolean;
}
declare const Td: React.ForwardRefExoticComponent>;
type TableNewComponent = typeof TableRoot & {
Thead: typeof Thead;
Tbody: typeof Tbody;
TFoot: typeof TFoot;
Tr: typeof Tr;
Th: typeof Th;
Td: typeof Td;
};
export declare const TableNew: TableNewComponent;
export {};